资源描述:
《[精选]第3章数据表的创建和管理.pptx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、3.1数据表的创建和管理3.2表数据的管理3.3数据完整性管理。第3章SQLServer数据表SQLServer2000有两类表,一类是永久表,这类表一旦创建将一直存储在硬盘上,除非被用户删除;另一类是临时表,这类表在用户退出时自动被系统删除。临时表又分为局部临时表与全局临时表。局部临时表的名称以#开头,仅可由创建者本人使用,一旦创建者断开连接,该表将会消失;全局临时表的名称以##开头,创建者在创建后可以由多个授权用户立即使用,一旦最后使用的用户断开连接,该表将会消失。3.1数据表的创建和管理3.1在企业管理器中创建数据表每个表都代表一个特定
2、的实体。创建好数据库后,就可以向数据库中添加数据表。数据通常存储在表中,表存储在数据库文件中,任何有相应权限的用户都可以对之进行操作。例:使用企业管理器在数据库Student_db创建数据表St_info。演示操作标识列IDENTITY(自动编号)当需要对某一列输入的数据是有规律的顺序编号且保证每个编号惟一时,最好采用IDENTITY。具有IDENTITY属性的列称为标识列,其取值称为标识值,具有如下特点:IDENTITY列的数据类型只能为整型、numeric、decimal。当为numeric、decimal时,不允许有小数位。当用户向表中
3、插入新记录时,系统将自动在该列添加一个按规定递增(或递减)的数据。该列值由系统自动产生每个表至多有一列具有IDENTITY属性,该列不能为空、不允许具有默认值、不能由用户更新。因此,IDENTITY列常可作为主键使用。使用IDENTITY时,可设置种子(seed)与增量(increment)。如果未指定,则取默认值(1,1)。当对表中数据进行删除操作后,在标识值之间可能会产生数量不等的差值。3.1.2使用Transact-SQL语言创建数据表CREATETABLE[database_name.[owner.]
4、owner.]table_nam
5、e({column_namedata_type[NULL
6、NOTNULL]
7、[DEFAULTconstant_expression]
8、[IDENTITY[(seed,increment)]]}[,…n])[ONfilegroup
9、DEFAULT}][TEXTIMAGE_ON{filegroup}]3.2.2利用Transact-SQL语言创建表其中各参数的说明如下:database_name:创建新表所属的数据库名称。如果不指定,database_name默认为当前数据库。owner:指定新表所有者的用户名,如果不指定,owner默认为当前注
10、册用户名。table_name:用于指定新建表的名称。表名必须符合标识符规则。column_name:用于指定新建表的字段名。data_type:用于指定列的数据类型。DEFAULT:用于指定列的默认值。IDENTITY[(seed,increment):是否为标识列及标识列的种子和增量。ON{filegroup
11、DEFAULT}:用于指定存储表的文件组名。如果使用了DEFAULT选项,或者省略了ON子句,则新建的表会存储在默认的文件组中。TEXTIMAGE_ON:用于指定text、ntext和image列的数据存储的文件组。如果表中没有te
12、xt、ntext或image列,则不能使用TEXTIMAGE_ON。如果没有指定TEXTIMAGE_ON子句,则text、ntext和image列的数据将与数据表存储在相同的文件组中。3.2.2利用Transact-SQL语言创建表例3-1:使用查询分析器在数据库Student_db中创建Student学生信息表,要求包含S_NO(学号)、NAME(姓名)、AGE(年龄)、SEX(性别)信息,其中学号不能为空。(1)启动SQLServer服务器,运行查询分析器,并连接到数据库(2)在查询窗口中输入创建表的语句。创建数据表Student的语句如
13、下:CREATETABLEStudent(S_NOCHAR(7)NOTNULL,NAMEVARCHAR(8),AGESMALLINT,SEXCHAR(2))(3)单击工具栏上的“分析查询”按钮,若结果窗口无错误信息,再单击“执行查询”按钮,将返回“命令已成功完成”的信息。例3-2:使用查询分析器创建Student_1学生信息表,要求包含S_NO(学号)、NAME(姓名)、AGE(年龄)信息,并限制年龄在15到25周岁之间,指定学号为主关键字。创建数据表Student_1的语句如下:CREATETABLEStudent_1(S_NOCH
14、AR(7)NOTNULL,NAMECHAR(10),AGESMALLINT,PRIMARYKEY(S_NO),CHECK(AGEBETWEEN15AND25))例3