柔情似水 发表于 2015-1-16 22:53:24

MYSQL编程:SQL Server 2000中的数据存储情势(二)...

与其他数据库相比,MySQL易学易用。server|数据
SQLServer是一个干系数据库办理体系,它最后是由Microsoft、Sybase和Ashton-Tate三家公司配合开辟的,于1988年推出了第一个OS/2版本。在WindowsNT推出后Microsoft与Sybase在SQLServer的开辟上就各奔前程了,Microsoft将SQLServer移植到WindowsNT体系上专注于开辟推行SQLServer的WindowsNT版本,Sybase则较专注于SQLServer在UNIX操纵体系上的使用。



SQLServer2000是Microsoft公司2000年推出的SQLServer数据库办理版本。该版本承继了SQLServer7.0版本的长处同时又比它增添了很多更先辈的功效,具有利用便利,可伸缩性好,与相干软件集成水平初等长处。可超过从运转MicrosoftWindows98的膝上型电脑到运转MicrosoftWindows2000的年夜型多处置器的服务器等多种平台利用。



上面就SQLServer2000的数据存储在物理上和逻辑上的完成体例加以申明。



1、物理存储情势:



物理上,一个数据库有一个或多个磁盘上的一个或多个文件构成。这类物理完成只对数据库办理职员是可见的,而关于用户是通明的。

每一个数据库在物理上又分为数据和日记文件,这些数据和日记文件寄存一个或多个磁盘上。这些文件不与别的文件共享。

1)数据文件:

SQLServer2000将一个数据文件中的空间分派给表格和索引,每块有64kb空间,叫做“扩大盘区”。有两品种型的扩大盘区:一致扩大盘区和夹杂扩大盘区。

每一个扩大盘区由页面构成。页面是SQLServer2000中数据存储的基础单位,每一个页面的巨细为8kb。一般情形下,每一个数据页面上以行的情势存储数据。一行的数据最多达8060字节。数据行上如如有聚集索引,则基于聚集索引的关头字(如邮政编码等)为按次构造数据,不然没有特定的按次。

2)事件处置日记文件:

事件处置日记文件驻留在与数据文件分歧的一个或多个物理文件中,包括一系列日记纪录而不是扩大盘辨别配的页面。



2、逻辑存储情势:



逻辑上,一个数据库有多少个用户可见的组件构成,如:表格、视图、存储历程等。

个中工具称号及功效以下表所示:

数据库工具

功能

表格

由数据的列和行构成,格局与事情表相相似。行代表一个独一的纪录,列代表纪录中的一个字段。范例界说划定了某个列中能够寄存的数据范例。

视图

能够限定某个表格可见的行和列,大概将多个表格数据分离起来,作为一个表格显现。一个视图还能够会合列。

索引

是一种和表格或视图有关的布局,能够加速从表格或视图中取得数据行。表格索引能够是聚集的,也能够长短聚集的。聚集指数据在物理上是基于索引关头字的按次寄存的。

关头字

是浩瀚列中一列或组,它独一辨认一行(主关头字),界说两个表格之间的干系(外关头字),大概用于构建一个索引

用户界说的数据范例

是一种自界说的数据范例,它基于某个事后界说的数据范例。它能够用来创建对程序员更成心义的表布局,有助于确保留放数据的类似类的列都具有不异的数据范例。

存储历程

是一种Transact-SQL语句,它们被编译成一个实行企图。该历程用于功能优化和把持会见。

束缚

界说了有关列中同意的值的划定规矩,是增强数据完全性的尺度机制。



默许

划定了当您拔出一行,而没有界说列的值时,改列利用的值。

触发器

时存储历程的一个特别类,用于当对一个表格或视图收回update、insert或delete语句时,能主动实行。

用户界说的函数

时一个由一条或多条transact-sql语句组成的子例路程序,用于封装代码以便于重用。一个函数能够有最多1024个输出参数。用户界说的函数能够代替视图和存储历程。
                     参考sqlserver2000认证书本在我们工作的过程中,经常能听到很多不使用MySQL的理由,虽然其中有一些是对MySQL的误解,不过同样也有一些是合情合理的。

愤怒的大鸟 发表于 2015-1-20 05:54:05

作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!

冷月葬花魂 发表于 2015-1-25 23:11:22

很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。

简单生活 发表于 2015-2-4 10:03:15

原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。

仓酷云 发表于 2015-2-9 22:03:39

总感觉自己还是不会SQL

小女巫 发表于 2015-2-27 23:32:54

having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。

乐观 发表于 2015-3-9 15:28:56

如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。

山那边是海 发表于 2015-3-17 00:08:13

还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。

蒙在股里 发表于 2015-3-23 08:12:05

还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。
页: [1]
查看完整版本: MYSQL编程:SQL Server 2000中的数据存储情势(二)...