1、域完整性通常是用来检验某列的数据的有效性。2.实体完整性(Entity Integrity)要求表中所有行有一个标识符(主键),其值不能空值(NULL),且能唯一地标识对应的行。3.参照完整性(Referential Integrity)是指添加、修改或删除数据行时,两个表的主键和外键的数据的一致性。4.用户自定义完整性(User-Defined Integrity)是用户自行定义的,不属于其它完整性的所有规则。,5.1.2 数据完整性的分类,5.2 数据完整性实现,5.2.1 域完整性的实现5.2.2 实体完整性的实现5.2.3 参照完整性的实现,5.2.1 域完整性的实现,1.利用企业管理
2、器创建、删除CHECK 约束操作步骤如下:(1)启动SQL Server企业管理器。(2)展开“SQL Server组”,展开“数据库”,选择使用的数据库,再展开“表”。(3)选择创建约束的表,单击鼠标右键,打开快捷菜单。(4)选择“设计表”菜单命令。(5)单击鼠标右键,打开快捷菜单。(6)选择“CHECK 约束”菜单命令,进入“属性”窗口。(7)选择“CHECK约束”选项卡,命名约束名,输入约束表达式。,5.2.1 域完整性的实现,2.利用CREATE命令创建CHECK约束SQL命令格式:CREATE.(Column_name Datatype NOT NULL|NULL DEFAULT C
3、onstraint_Expression Check_name CHECK(Logical_Expression)命令功能:创建一个表,并定义数据完整性。,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),CRE
4、ATE 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),5.2.1 域完整性的实现,命令改、删除check,3.利用SQL命令修改CHECK约束SQL命令格式:ALTER TABLE ADD CONSTRAINT Check_name CHECK(Lo
5、gical_expression)命令功能:修改表结构,并可以定义数据完整性。4.利用SQL语句删除CHECK约束SQL命令格式:ALTER TABLE DROP CONSTRAINT Check_name 命令功能:修改表结构,并可以删除数据完整性。,ALTER TABLE 表名 ADD 新列名 数据类型 完整性约束 DROP 完整性约束名 DROP COLUMN 列名 ALTER COLUMN 列名 数据类型新增的属性不能定义为“NOT NULL”因为关系的原来元组在新列上的值取空值。,语句例子,可以写在一行中,ALTER TABLE 学生 ADD 入学时间 DatetimeALTER T
6、ABLE 学生 ALTER COLUMN 出生日期 DatetimeALTER TABLE 学生 DROP COLUMN 所属系,语句例子 DROP TABLE语句删除基本表,DROP TABLE语句删除基本表当某个表不再需要时,可以删除。一般格式:DROP TABLE 表名例:DROP TABLE S,5.2.2 实体完整性的实现,1.利用企业管理器创建PRIMARY KEY约束 操作步骤如下:(3)选择要创建约束的表,单击鼠标右键,打开快捷菜单。(4)选择“设计表”菜单命令,进入“设计表”窗口。(5)选择要创建约束的列(学号),单击鼠标右键,打开快捷菜单。(6)选择“索引/键”菜单命令,进
7、入“属性”窗口。(7)选择“索引/键”选项卡,首先,单击“新建”按钮,然后,命名索引名,选择索引列,及索引顺序,选择索引文件组,最后,单击“关闭”按钮,返回“设计表”窗口。,5.2.2 实体完整性的实现,2.利用企业管理器创建UNIQUE约束 操作步骤如下:(3)选择要创建约束的表(,单击鼠标右键,打开快捷菜单。(5)选择要删除约束的列,单击鼠标右键,打开快捷菜单。(7)选择“索引/键”选项卡,首先,单击“新建”按钮,然后,命名索引名,选择索引列及索引顺序,选择索引文件组,选择创建UNIQUE前的复选框,最后,单击“关闭”按钮,返回“设计表”窗口。,5.2.2 实体完整性的实现,3.利用企业管
8、理器删除PRIMARY KEY约束、删除UNIQUE约束操作步骤如下:(7)首先,选择“索引/键”选项卡,然后,单击“删除”按钮,最后在单击“关闭”按钮,返回“设计表”窗口。,5.2.2 实体完整性的实现 修改主键,5.利用SQL语句创建、删除PRIMARY KEY和UNIQUE约束SQL命令格式:修改表结构,并删除数据完整性。6.利用SQL语句修改PRIMARY KEY约束SQL命令格式:ALTER TABLE Table_name ADD CONSTRAINT constraint_name PRIMARY KEY CLUSTERED|NONCLUSTERED(column,.n)命令功能
9、:修改表结构,并可增加数据完整性。,ALTER TABLE teststu ADD CONSTRAINT firstcheck CHECK(testsex=女 or testsex=男),5.2.3 参照完整性的实现 利用菜单方式建关系图,1.利用企业管理器定义表间的参照完整性 操作步骤如下:(2)在“控制台根目录”窗口,展开“SQL Server组”,展开“数据库”,选择使用的数据库,再展开“表”。(3)在“控制台根目录”窗口,选择“表”,单击鼠标右键,打开快捷菜单。(4)在快捷菜单中,选择“新建表”菜单命令,进入“设计表”窗口。(5)在“设计表”窗口,设计表的结构。,5.2.3 参照完整性
10、的实现,(6)重复(3)-(5)的操作,在“设计表”窗口,设计表的结构。(7)在“控制台根目录”窗口,选择“关系图”,单击鼠标右键,打开快捷菜单。(8)在快捷菜单中,选择“新建数据库关系图”菜单命令,进入“新关系图”窗口,并打开“创建数据库关系的向导”。(9)在“创建数据库关系的向导”各窗口,依次添加要建立关系的表,返回“新关系图”窗口。(10)在“新关系图”窗口,首先,选择外键列,将其拖到主键列处,进入“创建关系”窗口。(11)在“创建关系”窗口,首先,确定“关系名”,然后,选择其它参数,最后,单击“确定”按钮,返回“新关系图”窗口,结束创建参照完整性的操作。,5.2.3 参照完整性的实现
11、语句建关系,2.利用SQL语句创建参照完整性SQL命令格式:CREATE TABLE(类型(长度)缺省值列级约束,数据类型缺省值列级约束.,UNIQUE(列名,列名.),PRIMARY KEY(列名,列名),FOREIGN KEY(列名,列名)REFERENCES 表名(列名,列名),CKECK(条件)命令功能:创建表结构,并创建数据完整性。,5.2.3 参照完整性的实现,3.利用SQL语句修改参照完整性SQL命令格式:ALTER TABLE ADDCONSTRAINT Constraint_name FOREIGN KEY(Column,.n)命令功能:修改数据完整性。,5.3 默认值,5.
12、3.1 创建修改默认值约束5.3.2 修改默认值约束,5.3.1 创建默认值约束,创建默认值约束SQL命令格式:CREATE TABLE CONSTRAINT constraint_name DEFAULT constraint_expression 命令功能:创建表,并创建默认值约束。,CREATE TABLE table4test2(col1 char(10)default 2015),5.3.2 修改默认值约束,修改默认值约束SQL命令格式:ALTER TABLE ADDCONSTRAINT Constraint_name DEFAULT constraint_expression 命令功能:修改表结构,并创建默认值约束。,ALTER TABLE teststuADD CONSTRAINT coldefaultdefault 2013 for testname,添加新列,有默认值,ALTER TABLE teststu add testname2 char(10)default 2012,再见,东北师范大学,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1