资源预览内容
第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
第9页 / 共31页
第10页 / 共31页
第11页 / 共31页
第12页 / 共31页
第13页 / 共31页
第14页 / 共31页
第15页 / 共31页
第16页 / 共31页
第17页 / 共31页
第18页 / 共31页
第19页 / 共31页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
点击查看更多>>
资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,第,5,章 数据完整性及实现,本章重点:,数据完整性,数据完整性实现,默认值,第5 章 数据完整性及实现本章重点:,5.1,数据完整性,5.1.1,数据完整性概述,5.1.2,数据完整性的分类,5.1 数据完整性5.1.1 数据完整性概述,5.1.1,数据完整性概述,数据完整性(,Data Integrity,)是指存储在数据库中的数据的一致性、准确性和可靠度。换言之,实施数据完整性的目的就是为了确保数据库中数据的质量。,数据完整性的设计是评估数据库设计好坏的一个重要指标。在,SQL Server,系统中,在设计数据库和设计表时,设计者就要确认每列对应哪些数据是正确的,使用什么方法可以不会有错误的数据存到列中。数据完整性为我们提供了这样的保障,其类型有,4,种。,5.1.1 数据完整性概述 数据完整性(Data,5.1.1,数据完整性概述,5.1.1 数据完整性概述,5.1.2,数据完整性的分类,1.,域完整性(,Domain Integrity,)要求存入表中指定列的数据一定有效。域完整性通常是用来检验某列的数据的有效性。,2.,实体完整性(,Entity Integrity,)要求表中所有行有一个标识符(主键),其值不能空值(,NULL,),且能唯一地标识对应的行。,3.,参照完整性(,Referential Integrity,)是指添加、修改或删除数据行时,两个表的主键和外键的数据的一致性。,4.,用户自定义完整性(,User-Defined Integrity,)是用户自行定义的,不属于其它完整性的所有规则。,5.1.2,数据完整性的分类,5.1.2 数据完整性的分类 1.域完整性(Dom,5.2,数据完整性实现,5.2.1,域完整性的实现,5.2.2,实体完整性的实现,5.2.3,参照完整性的实现,5.2 数据完整性实现5.2.1 域完整性的实现,5.2.1,域完整性的实现,1.,利用企业管理器创建、删除,CHECK,约束,操作步骤如下:,(,1,)启动,SQL Server,企业管理器。,(,2,)展开“,SQL Server,组”,展开“数据库”,选择使用的数据库,再展开“表”。,(,3,)选择创建约束的表,单击鼠标右键,打开快捷菜单。,(,4,)选择“设计表”菜单命令。,(,5,)单击鼠标右键,打开快捷菜单。,(,6,)选择“,CHECK,约束”菜单命令,进入“属性”窗口。,(,7,)选择“,CHECK,约束”选项卡,命名约束名,输入约束表达式。,5.2.1 域完整性的实现1.利用企业管理器创建、删除CH,5.2.1,域完整性的实现,2.,利用,CREATE,命令创建,CHECK,约束,SQL,命令格式:,CREATE .,(Column_name Datatype NOT NULL|NULL,DEFAULT Constraint_Expression ,Check_name CHECK(Logical_Expression),命令功能:,创建一个表,并定义数据完整性。,5.2.1 域完整性的实现2.利用CREATE命令创建CH,Example,CREATE TABLE SC,(,Sno CHAR(6)NOT NULL FOREIGN KEY REFERENCES S(Sno),Cno CHAR(6)NOT NULL,Grade Smallint default 0,CONSTRAINT k1 CHECK(Grade BETWEEN 0 AND 100),PRIMARY KEY(Sno,Cno),FOREIGN KEY(Cno)REFERENCES C(Cno),),ExampleCREATE TABLE SC,CREATE TABLE SC,(,Sno,CHAR(6)NOT NULL,Cno,CHAR(6)NOT NULL,Grade,Smallint CHECK(Grade BETWEEN 0 AND 100),CONSTRAINT pk,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno)REFERENCES S(Sno),FOREIGN KEY(Cno)REFERENCES C(Cno),CREATE TABLE SC,5.2.1,域完整性的实现,命令改、删除,check,3.,利用,SQL,命令修改,CHECK,约束,SQL,命令格式:,ALTER TABLE,ADD CONSTRAINT Check_name,CHECK (Logical_expression),命令功能:修改表结构,并可以定义数据完整性。,4.,利用,SQL,语句删除,CHECK,约束,SQL,命令格式:,ALTER TABLE,DROP CONSTRAINT Check_name,命令功能:修改表结构,并可以删除数据完整性。,5.2.1 域完整性的实现,命令改、删除check3.利用,ALTER TABLE,表名,ADD,新列名 数据类型 完整性约束,DROP,完整性约束名,DROP COLUMN,列名,ALTER COLUMN,列名 数据类型,新增的属性不能定义为“,NOT NULL”,因为关系的原来元组在新列上的值取空值。,ALTER TABLE 表名,语句例子,可以写在一行中,ALTER TABLE,学生,ADD,入学时间,Datetime,ALTER TABLE,学生,ALTER COLUMN,出生日期,Datetime,ALTER TABLE,学生,DROP COLUMN,所属系,语句例子,可以写在一行中ALTER TABLE 学生,语句例子,DROP TABLE,语句,删除基本表,DROP TABLE,语句,删除基本表,当某个表不再需要时,可以删除。,一般格式:,DROP TABLE,表名,例:,DROP TABLE S,语句例子 DROP TABLE语句删除基本表DROP T,5.2.2,实体完整性的实现,1.,利用企业管理器创建,PRIMARY KEY,约束,操作步骤如下:,(,1,)启动,SQL Server,企业管理器。,(,2,)展开“,SQL Server,组”,展开“数据库”,选择使用的数据库,再展开“表”。,(,3,)选择要创建约束的表,单击鼠标右键,打开快捷菜单。,(,4,)选择“设计表”菜单命令,进入“设计表”窗口。,(,5,)选择要创建约束的列(学号),单击鼠标右键,打开快捷菜单。,(,6,)选择“索引,/,键”菜单命令,进入“属性”窗口。,(,7,)选择“索引,/,键”选项卡,首先,单击“新建”按钮,然后,命名索引名,选择索引列,及索引顺序,选择索引文件组,最后,单击“关闭”按钮,返回“设计表”窗口。,5.2.2 实体完整性的实现1.利用企业管理器创建PRIM,5.2.2,实体完整性的实现,2.,利用企业管理器创建,UNIQUE,约束,操作步骤如下:,(,1,)启动,SQL Server,企业管理器。,(,2,)展开“,SQL Server,组”,展开“数据库”,选择使用的数据库,再展开“表”。,(,3,)选择要创建约束的表(,单击鼠标右键,打开快捷菜单。,(,4,)选择“设计表”菜单命令,进入“设计表”窗口。,(,5,)选择要删除约束的列,单击鼠标右键,打开快捷菜单。,(,6,)选择“索引,/,键”菜单命令,进入“属性”窗口。,(,7,)选择“索引,/,键”选项卡,首先,单击“新建”按钮,然后,命名索引名,选择索引列及索引顺序,选择索引文件组,选择创建,UNIQUE,前的复选框,最后,单击“关闭”按钮,返回“设计表”窗口。,5.2.2 实体完整性的实现2.利用企业管理器创建UNIQ,5.2.2,实体完整性的实现,3.,利用企业管理器删除,PRIMARY KEY,约束、删除,UNIQUE,约束,操作步骤如下:,(,1,)启动,SQL Server,企业管理器。,(,2,)展开“,SQL Server,组”,展开“数据库”,选择使用的数据库,再展开“表”。,(,3,)选择要创建约束的表,单击鼠标右键,打开快捷菜单。,(,4,)选择“设计表”菜单命令,进入“设计表”窗口。,(,5,)选择要删除约束的列,单击鼠标右键,打开快捷菜单。,(,6,)选择“索引,/,键”菜单命令,进入“属性”窗口。,(,7,)首先,选择“索引,/,键”选项卡,然后,单击“删除”按钮,最后在单击“关闭”按钮,返回“设计表”窗口。,5.2.2 实体完整性的实现3.利用企业管理器删除PRIM,5.2.2,实体完整性的实现 修改主键,5.,利用,SQL,语句创建、删除,PRIMARY KEY,和,UNIQUE,约束,SQL,命令格式:,ALTER TABLE,DROP CONSTRAINT Check_name,命令功能:修改表结构,并删除数据完整性。,6.,利用,SQL,语句修改,PRIMARY KEY,约束,SQL,命令格式:,ALTER TABLE,T,able_name,ADD CONSTRAINT constraint_name PRIMARY KEY,CLUSTERED|NONCLUSTERED,(column ,.n ),命令功能:修改表结构,并可增加数据完整性。,5.2.2 实体完整性的实现 修改主键5.利用SQL语句创,ALTER TABLE teststu,ADD CONSTRAINT firstcheck,CHECK (testsex=,女,or testsex=,男,),ALTER TABLE teststu,5.2.3,参照完整性的实现 利用菜单方式建关系图,1.,利用企业管理器定义表间的参照完整性,操作步骤如下:,(,1,)启动,SQL Server,企业管理器。,(,2,)在“控制台根目录”窗口,展开“,SQL Server,组”,展开“数据库”,选择使用的数据库,再展开“表”。,(,3,)在“控制台根目录”窗口,选择“表”,单击鼠标右键,打开快捷菜单。,(,4,)在快捷菜单中,选择“新建表”菜单命令,进入“设计表”窗口。,(,5,)在“设计表”窗口,设计表的结构。,5.2.3 参照完整性的实现 利用菜单方式建关系图,5.2.3,参照完整性的实现,(,6,)重复(,3,),-,(,5,)的操作,在“设计表”窗口,设计表的结构。,(,7,)在“控制台根目录”窗口,选择“关系图”,单击鼠标右键,打开快捷菜单。,(,8,)在快捷菜单中,选择“新建数据库关系图”菜单命令,进入“新关系图”窗口,并打开“创建数据库关系的向导”。,(,9,)在“创建数据库关系的向导”各窗口,依次添加要建立关系的表,返回“新关系图”窗口。,(,10,)在“新关系图”窗口,首先,选择外键列,将其拖到主键列处,进入“创建关系”窗口。,(,11,)在“创建关系”窗口,首先,确定“关系名”,然后,选择其它参数,最后,单击“确定”按钮,返回“新关系图”窗口,结束创建参照完整性的操作。,5.2.3 参照完整性的实现 (6)重复(3)-(5,5.2.3,参照完整性的实现 语句建关系,2.,利用,SQL,语句创建参照完整性,SQL,命令格式:,CREATE TABLE,(,类型,(,长度,),缺省值,列级约束,,,数据类型,缺省值,列级约束,.,,,UNIQUE,(列名,,列名,.,),,,PRIMARY KEY,(列名,,列名,),,,FOREIGN KEY,(列名,,列名,),REFERENCES,表名(列名,,列名,),,,CKECK(,条件,),命令功能:创建表结构,并创建数据完整性。,5.2.3 参照完整性的实现 语句建关系2.利用SQL语句,5.2.3,参照完整性的实现,3.,利用,SQL,语句修改参照完整性,SQL,命令格式:,ALTER TABLE,ADDCONSTRAINT Constraint_name,FOREIGN KEY(Column ,.n ),命令功能:修改数据完整性。,5.2.3 参照完
点击显示更多内容>>

最新DOC

最新PPT

最新RAR

收藏 下载该资源
网站客服QQ:3392350380
装配图网版权所有
苏ICP备12009002号-6