创建表、索引和约束.ppt

上传人:pu****.1 文档编号:569357199 上传时间:2024-07-29 格式:PPT 页数:29 大小:311.86KB
返回 下载 相关 举报
创建表、索引和约束.ppt_第1页
第1页 / 共29页
创建表、索引和约束.ppt_第2页
第2页 / 共29页
创建表、索引和约束.ppt_第3页
第3页 / 共29页
创建表、索引和约束.ppt_第4页
第4页 / 共29页
创建表、索引和约束.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《创建表、索引和约束.ppt》由会员分享,可在线阅读,更多相关《创建表、索引和约束.ppt(29页珍藏版)》请在金锄头文库上搜索。

1、第第3章章创建表、索引和约束创建表、索引和约束熟练掌握创建、修改和删除表的方法熟练掌握创建、修改和删除表的方法掌握管理索引和约束的方法掌握管理索引和约束的方法一、一、表表 表定义为列的集合,数据在表中是按行和列的组织形表定义为列的集合,数据在表中是按行和列的组织形式排列的,每行代表唯一的一条记录,而每列代表记录式排列的,每行代表唯一的一条记录,而每列代表记录中的一个域。中的一个域。设计表时一般应考虑:设计表时一般应考虑:表的各列以及每一列的数据类型,列是否允许空值表的各列以及每一列的数据类型,列是否允许空值是否需要索引,哪些列是主键,哪些列是外键是否需要索引,哪些列是主键,哪些列是外键是否使用

2、约束,默认设置或规则等是否使用约束,默认设置或规则等SQLServer提供一系列系统定义数据类型,也可提供一系列系统定义数据类型,也可以让用户根据需要在系统数据类型的基础上创建用以让用户根据需要在系统数据类型的基础上创建用户定义数据类型户定义数据类型数据类型包括如下属性数据类型包括如下属性:数据类别数据类别存储数据的长度或大小存储数据的长度或大小数值的精度数值的精度数值的小数位数数值的小数位数数据类型数据类型整数数据类型整数数据类型货币数据类型货币数据类型浮点数据类型浮点数据类型日期日期/时间数据类型时间数据类型字符数据类型字符数据类型二进制数据类型二进制数据类型双字节字符数据类型双字节字符数

3、据类型自定义数据类型自定义数据类型SQLServer提供的主要数据类型提供的主要数据类型整数数据类型整数数据类型1.Bit:取值范围只能为取值范围只能为0或或1。18个个bit型数据占型数据占一个字节,一个字节,916个个bit型数据占两个字节,以型数据占两个字节,以此类推此类推2.Bitint:可存储从可存储从-263到到2631范围的正负数,范围的正负数,占占8个字节个字节3.Int:可存储从可存储从-231到到2311范围的正负数,占范围的正负数,占4个字节个字节4.Smallint:可存储从可存储从-215(-32768)到到2151范围范围的正负数,占的正负数,占8个字节个字节5.T

4、inyint:可存储从可存储从0到到255范围内的所有整数,范围内的所有整数,占占1个字节个字节货币数据类型货币数据类型1.Money:由两个由两个4字节整数构成,前面字节整数构成,前面4字字节表示货币值的整数部分,后面的一个节表示货币值的整数部分,后面的一个4字字节表示小数部分。存储范围从节表示小数部分。存储范围从-263到到2631,可精确到万分之一的货币单位,可精确到万分之一的货币单位2.Smallmoney:由两个由两个2字节构成表示范围字节构成表示范围从从-231到到2311,精确到万分之一,精确到万分之一日期日期/时间数据类时间数据类型型1.Datetime2.smalldatet

5、ime字符数据类型字符数据类型1.Char2.Varchar3.text关键字:是用来唯一标识表中每一行关键字:是用来唯一标识表中每一行的的属性或属性的组合,也成为关键码,码属性或属性的组合,也成为关键码,码或键或键候选关键字:候选关键字:公共关键字公共关键字主关键字与外关键字主关键字与外关键字主表与从表主表与从表关键字关键字数据的完整性就是数据的正确性和一致性数据的完整性就是数据的正确性和一致性域完整性(列完整性域完整性(列完整性/用户定义的完整性):用户定义的完整性):指表中的任一列数据必须满足所定义的数据指表中的任一列数据必须满足所定义的数据类型,且其值必须在有效的范围之内类型,且其值必

6、须在有效的范围之内表完整性(实体完整性):即主属性不能取表完整性(实体完整性):即主属性不能取空值空值参照完整性(引用完整性):保证相关联的参照完整性(引用完整性):保证相关联的表中的数据是一致的,协调的表中的数据是一致的,协调的数据的完整性数据的完整性保证参照完整性的规则保证参照完整性的规则1.对从表作对从表作INSERT操作时,要保证外键的值操作时,要保证外键的值一定要在主表中存在一定要在主表中存在2.UPDATE从表的外键值时,要保证修改后的从表的外键值时,要保证修改后的外键值一定要在主表中存在外键值一定要在主表中存在3.UPDATE主表的主键值时,要注意从表中是主表的主键值时,要注意从

7、表中是否存在该主关键字,有则禁止所作的修改或否存在该主关键字,有则禁止所作的修改或级联修改所有从表中与之相应的外键值级联修改所有从表中与之相应的外键值4.DELETE同上同上创建和管理表创建和管理表 创建表创建表1.1.使用企业管理器创建表使用企业管理器创建表2.2.使用使用T-SQL语句创建表语句创建表语法语法:CREATETABLEtable_name(Col_namecolumn_properties,)创建和管理表创建和管理表 重命名表重命名表 1.1.使用企业管理器创建表使用企业管理器创建表2.2.使用使用T-SQL语句创建表语句创建表创建和管理表创建和管理表 删除表删除表 1.1.

8、使用企业管理器创建表使用企业管理器创建表2.2.使用使用T-SQL语句创建表语句创建表创建和管理表创建和管理表 修改表修改表 1.1.使用企业管理器创建表使用企业管理器创建表 2.2.使用使用T-SQLT-SQL语句创建表语句创建表 n n 修改表设置主键基本语法修改表设置主键基本语法 ALTER TABLE table_nameALTER TABLE table_name ADD CONSTRAINT constraint_name ADD CONSTRAINT constraint_name PRIMARY KEY CLUSTERED | NONCLUSTERED ( PRIMARY KE

9、Y CLUSTERED | NONCLUSTERED ( colcol_name,)_name,) n n修改表删除约束基本语法修改表删除约束基本语法 ALTER TABLE table_nameALTER TABLE table_name DROP CONSTRAINT constraint_name DROP CONSTRAINT constraint_name 创建和管理表创建和管理表 修改表修改表1.1.使用企业管理器创建表使用企业管理器创建表 2.2.使用使用T-SQLT-SQL语句创建表语句创建表 n n 修改表设置外键基本语法修改表设置外键基本语法 ALTER TABLE tab

10、le_nameALTER TABLE table_name ADD CONSTRAINT constraint_name ADD CONSTRAINT constraint_name FOREIGN KEY( FOREIGN KEY(colcol_name) _name) REFERENCES table2_name(col2_name) REFERENCES table2_name(col2_name) 创建和管理表创建和管理表 修改表修改表1.1.使用企业管理器创建表使用企业管理器创建表 2.2.使用使用T-SQLT-SQL语句创建表语句创建表 nn修改表设置检查基本语法修改表设置检查基本

11、语法 ALTER TABLE table_nameALTER TABLE table_name ADD CONSTRAINT constraint_name ADD CONSTRAINT constraint_name CHECK(check_ CHECK(check_exprexpr) ) 索引基础知识索引基础知识索引的用途:索引通过记录表中的关键值来指向表中索引的用途:索引通过记录表中的关键值来指向表中的记录,这样数据库引擎就不用扫描整个表而能定位的记录,这样数据库引擎就不用扫描整个表而能定位到相关的记录。到相关的记录。索引的相关特性:索引的相关特性:复合索引:基于两列或多列而建立索引称为

12、复合索引。复合索引:基于两列或多列而建立索引称为复合索引。唯一索引:如果表中任意两行的被索引的列不允许出唯一索引:如果表中任意两行的被索引的列不允许出现重复值,那么这种索引成为唯一索引。现重复值,那么这种索引成为唯一索引。填充因子:填充因子是填充因子:填充因子是SQLServer设置每一个索引页设置每一个索引页的填充程度。的填充程度。索引的分类索引的分类 聚集索引:聚集索引会对表和视图进行物理排序。表聚集索引:聚集索引会对表和视图进行物理排序。表和视图中只能有一个聚集索引。和视图中只能有一个聚集索引。 非聚集索引(逻辑索引):非聚集索引不会对表和视非聚集索引(逻辑索引):非聚集索引不会对表和视

13、图进行物理排序。在表或视图中,最多可以创建图进行物理排序。在表或视图中,最多可以创建250个个索引。索引。何时使用索引何时使用索引 一般在那些经常被用来查询的表的列上建立索引以获一般在那些经常被用来查询的表的列上建立索引以获取最佳性能。取最佳性能。不要在表中建立太多且不经常使用的索引。不要在表中建立太多且不经常使用的索引。建立和管理索引建立和管理索引 索引可以在新建表时创建,也可以在创建表之后任何索引可以在新建表时创建,也可以在创建表之后任何时候创建,一个表可以创建多个索引。时候创建,一个表可以创建多个索引。 (1)(1)使用企业管理器创建索引使用企业管理器创建索引在在XkXk数据库中的数据库

14、中的StudentStudent表上创建基于表上创建基于StuNameStuName列,名列,名为为IX_IX_StuNameStuName的非聚集、非唯一索引。的非聚集、非唯一索引。(2) (2) 使用使用T-SQLT-SQL语句创建索引语句创建索引 CREATE UNIQUECLUSTERED | NONCLUSTEREDCREATE UNIQUECLUSTERED | NONCLUSTERED INDEX INDEX index_name index_name ON ON table_name table_name | | view_name view_name ( column_nam

15、e ,n ) ( column_name ,n ) 注意事项注意事项必须是表的所有者,才能执行必须是表的所有者,才能执行CREATEINDEX语句来创建索引语句来创建索引UNIQUE索引既可以采用聚集索引的结构,也可以采用非聚集索索引既可以采用聚集索引的结构,也可以采用非聚集索引的结构。如果不指明引的结构。如果不指明CLUSTERED选项,选项,SQLServer将为将为UNIQUE索引采用默认非聚集索引的结构。索引采用默认非聚集索引的结构。建有建有UNIQUE索引的表在执行索引的表在执行INSERT语句或语句或UPDATE语句时,语句时,SQLServer将自动检验是否存在重复值。如果存在,

16、将自动检验是否存在重复值。如果存在,SQLServer在第一个重复值出现处取消语句并返回错误信息。在第一个重复值出现处取消语句并返回错误信息。具有相同组合列,不同组合顺序的复合索引彼此是不同的。具有相同组合列,不同组合顺序的复合索引彼此是不同的。如果表中已有数据,那么在创建如果表中已有数据,那么在创建UNIQUE索引时,索引时,SQLServer将将自动检验是否存在重复值,如果存在重复值,将不能创建自动检验是否存在重复值,如果存在重复值,将不能创建UNIQUE索引。索引。删除索引(1)使用企业管理器删除索引使用企业管理器删除索引例例1.使使用用企企业业管管理理器器删删除除Student表表名名

17、为为IX_StuName的索引。的索引。(2)使用使用T-SQL语句删除索引语句删除索引删除索引命令常用格式:删除索引命令常用格式:DROPINDEXtable_name.index_name,table_name.index_name删除索引的注意事项不不能能用用DROP INDEX命命令令删删除除由由PRIMARYKEY约约束束或或UNIQUE约约束束创创建建的的索索引引。要要删删除除这这些些索索引引,必必须须先先删删除除PRIMARYKEY约约束束或或UNIQUE约束。约束。在在删删除除聚聚集集索索引引时时,表表中中的的所所有有非非聚聚集集索索引引将将被重建。被重建。约束 约约束束及及其

18、其用用途途:约约束束定定义义了了关关于于允允许许什什么么数数据据进进入入数数据据库库的的规规则则,是是分分配配给给表表或或表表中中某某列列的的一一个个属属性性。使使用用约约束束的的目目的的在在于于防防止止列列中中出出现现非非法法数数据据,可可以以自自动动维维护数据库中数据的完整性。护数据库中数据的完整性。约束的类型约束的类型PRIMARYKEY(主键)约束主键)约束FOREIGNKEY(外键)约束外键)约束UNIQUE(唯一)约束唯一)约束CHECK(检查)约束检查)约束DEFAULT(缺省)约束缺省)约束约束的实现约束的实现 PRIMARYKEY(主键)约束例1.使用企业管理器创建以上各表主

19、键约束,并删除。例2.使用T-SQL命令创建以上各表主键约束,并删除。FOREIGNKEY(外键)约束使用企业管理器创建以上各表外键约束,并删除UNIQUE(唯一)约束使用企业管理器创建UNIQUE约束,并删除约束的实现约束的实现CHECK(检查约束)检查约束): :可以使用任何布尔表达式来创建检查约束,但约束表可以使用任何布尔表达式来创建检查约束,但约束表达式不能参照表中其它的列和其他表、视图或存储过程。达式不能参照表中其它的列和其他表、视图或存储过程。可以在一个列上定义和使用多个可以在一个列上定义和使用多个CHECK约束。这些约约束。这些约束将按照创建的次序发生作用。束将按照创建的次序发生作用。约束表达式可以参照表中同行其他列。约束表达式可以参照表中同行其他列。使用企业管理器创建使用企业管理器创建CHECK约束,并删除。约束,并删除。约束的实现约束的实现DEFAULT(缺省约束):DEFAULT约束与列相关联,它可用于除了TIMESTAMP列和IDENTITY列以外的所有数据类型列。每列只能有一个DEFAULT约束。使用企业管理器创建DAFAULT约束,并删除。使用T-SQL命令创建DEFAULT约束,并删除。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号