数据完整性及实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)在“控制台根目录”窗口,展开“SQL Server组”,
展开“数据库”,选择使用的数据库,再展开“表”。 (3)在“控制台根目录”窗口,选择“表”,单击鼠标
右键,打开快捷菜单。
(4)在快捷菜单中,选择“新建表”菜单命令,进入 “设计表”窗口。 (5)在“设计表”窗口,设计表的结构。
5.2.3
(2)展开“SQL Server组”,展开“数据库”,选择使用的
数据库,再展开“表”。 (3)选择要创建约束的表,单击鼠标右键,打开快捷菜单。
(4)选择“设计表”菜单命令,进入“设计表”窗口。
(5)选择要创建约束的列(学号),单击鼠标右键,打开快 捷菜单。 (6)选择“索引/键”菜单命令,进入“属性”窗口。 (7)选择“索引/键”选项卡,首先,单击“新建”按钮,然 后,命名索引名,选择索引列,及索引顺序,选择索引文件组,最 后,单击“关闭”按钮,返回“设计表”窗口。
5.2.2
实体完整性的实现
2.利用企业管理器创建UNIQUE约束
操作步骤如下:
(1)启动SQL Server企业管理器。 (2)展开“SQL Server组”,展开“数据库”,选择使用的数据 库,再展开“表”。 (3)选择要创建约束的表(,单击鼠标右键,打开快捷菜单。 (4)选择“设计表”菜单命令,进入“设计表”窗口。 (5)选择要删除约束的列,单击鼠标右键,打开快捷菜单。
[[DEFAULT Constraint_Expression] ] [Check_name ] CHECK 命令功能: 创建一个表,并定义数据完整性。 ( Logical_Expression )] )
Example CREATE TABLE SC (Sno CHAR(6) NOT NULL FOREIGN KEY REFERENCES
PRIMARY KEY
ALTER TABLE teststu
ADD CONSTRAINT firstcheck CHECK ( testsex='女' or testsex='男'
)
5.2.3 参照完整性的实现 利用菜单方 式建关系图
1.利用企业管理器定义表间的参照完整性 操作步骤如下: (1)启动SQL Server企业管理器。
(10)在“新关系图”窗口,首先,选择外键列,将其拖到主
键列处,进入“创建关系”窗口。 (11)在“创建关系”窗口,首先,确定“关系名”,然后, 选择其它参数,最后,单击“确定”按钮,返回“新关系图”窗口, 结束创建参照完整性的操作。
5.2.3
参照完整性的实现 语句建关系
2.利用SQL语句创建参照完整性
定列的数据一定有效。域完整性通常是用来检验某列的 数据的有效性。
2.实体完整性(Entity Integrity)要求表中所有
行有一个标识符(主键),其值不能空值(NULL),且 能唯一地标识对应的行。 5.1.2 数据完整性的分类 3.参照完整性(Referential Integrity)是指添加、 修改或删除数据行时,两个表的主键和外键的数据的一 致性。 4.用户自定义完整性(User-Defined Integrity)
5.2.1
域完整性的实现,命令改、删除check
3.利用SQL命令修改CHECK约束 SQL命令格式: ALTER TABLE < Table_name > ADD CONSTRAINT [ Check_name CHECK (Logical_expression) ]
命令功能:修改表结构,并可以定义数据完整性。
东北师范大学
www.themegallery.com
是用户自行定义的,不属于其它完整性的所有规则。
5.2 数据完整性实现
5.2.1 域完整性的实现
5.2.2 实体完整性的实现
5.2.3 参照完整性的实现
5.2.1
域完整性的实现
1.利用企业管理器创建、删除CHECK 约束 操作步骤如下: (1)启动SQL Server企业管理器。 (2)展开“SQL Server组”,展开“数据库”,选择使用的数据 库,再展开“表”。 (3)选择创建约束的表,单击鼠标右键,打开快捷菜单。 (4)选择“设计表”菜单命令。 (5)单击鼠标右键,打开快捷菜单。
[FOREIGN KEY] ( Column [ ,...n ] )
命令功能:修改数据完整性。
5.3 默认值
5.3.1 创建修改默认值约束 5.3.2 修改默认值约束
5.3.1
创建默认值约束
创建默认值约束
SQL命令格式: CREATE TABLE < Table_name >
[ CONSTRAINT constraint_name ]
新增的属性不能定义为“NOT NULL”因为关系的 原来元组在新列上的值取空值。
语句例子,可以写在一行中
ALTER TABLE 学生
ADD 入学时间 Datetime
ALTER TABLE 学生 ALTER COLUMN 出生日期 Datetime ALTER TABLE 学生 DROP COLUMN 所属系
)
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) )
SQL命令格式:
CREATE TABLE < Table_name > ([<列名1>] 类型 (长度) [缺省值][列级约束] [,<列名2> 数据类型[缺省值][列级约束]]„. [,UNIQUE(列名[,列名]„.)] [,PRIMARY KEY(列名[,列名]„)] [,FOREIGN KEY (列名[,列名]„)
第5 章 数据完整性及实现
本章重点: 数据完整性 数据完整性实现 默认值
5.1 数据完整性
5.1.1 数据完整性概述
5.1.2 数据完整性的分类
5.1.1
数据完整性概述
数据完整性(Data Integrity)是指存储在数据库中的
数据的一致性、准确性和可靠度。换言之,实施数据完整性 的目的就是为了确保数据库中数据的质量。
命令功能:修改表结构,并创建默认值约束。
ALTER TABLE teststu ADD CONSTRAINT coldefault default '2013' for testname
添加新列,有默认值 ALTER TABLE teststu add testname2 char(10) default '2012'
4.利用SQL语句删除CHECK约束
SQL命令格式:
ALTER TABLE < Table_name > DROP CONSTRAINT Check_name 命令功能: 修改表结构,并可以删除数据完整性。
ALTER TABLE 表名 ADD 新列名 数据类型 完整性约束 DROP 完整性约束名 DROP COLUMN 列名 ALTER COLUMN 列名 数据类型
(6)选择“CHECK 约束”菜单命令,进入“属性”窗口。
(7)选择“CHECK约束”选项卡,命名约束名,输入约束表达式。
5.2.1
域完整性的实现
2.利用CREATE命令创建CHECK约束
SQL命令格式: CREATE [ < Database_name > .] < Table_name >
({Column_name Datatype} [ NOT NULL | NULL ]
(6)选择“索引/键”菜单命令,进入“属性”窗口。
(7)选择“索引/键”选项卡,首先,单击“新建”按钮,然后, 命名索引名,选择索引列及索引顺序,选择索引文件组,选择创建
UNIQUE前的复选框,最后,单击“关闭”按钮,返回“设计表”窗口。
5.2.2
实体完整性的实现
3.利用企业管理器删除PRIMARY KEY约束、删除UNIQUE约束 操作步骤如下: (1)启动SQL Server企业管理器。 (2)展开“SQL Server组”,展开“数据库”,选择使用的数 据库,再展开“表”。 (3)选择要创建约束的表,单击鼠标右键,打开快捷菜单。 (4)选择“设计表”菜单命令,进入“设计表”窗口。 (5)选择要删除约束的列,单击鼠标右键,打开快捷菜单。 (6)选择“索引/键”菜单命令,进入“属性”窗口。 (7)首先,选择“索引/键”选项卡,然后,单击“删除”按钮, 最后在单击“关闭”按钮,返回“设计表”窗口。
结构。
参照完整性的实现
(6)重复(3)-(5)的操作,在“设计表”窗口,设计表的 (7)在“控制台根目录”窗口,选择“关系图”,单击鼠标右 键,打开快捷菜单。 (8)在快捷菜单中,选择“新建数据库关系图”菜单命令,进
入“新关系图”窗口,并打开“创建数据库关系的向导”。
(9)在“创建数据库关系的向导”各窗口,依次添加要建立关 系的表,返回“新关系图”窗口。
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)
数据完整性的设计是评估数据库设计好坏的一个重要指
标。在SQL Server系统中,在设计数据库和设计表时,设计 者就要确认每列对应哪些数据是正确的,使用什么方法可以
不会有错误的数据存到列中。数据完整性为我们提供了这样
的保障,其类型有4种。
5.1.1
数据完整性概述
5.1.2
数据完整性的分类
1.域完整性(DoHale Waihona Puke Baiduain Integrity)要求存入表中指
语句例子 DROP TABLE语句—删除基本表 DROP TABLE语句—删除基本表 当某个表不再需要时,可以删除。 一般格式: DROP TABLE 表名 例: DROP TABLE S
5.2.2
实体完整性的实现
1.利用企业管理器创建PRIMARY KEY约束 操作步骤如下: (1)启动SQL Server企业管理器。
5.2.2
实体完整性的实现 修改主键
5.利用SQL语句创建、删除PRIMARY KEY和UNIQUE约束 SQL命令格式: ALTER TABLE < Table_name > DROP CONSTRAINT Check_name 命令功能:修改表结构,并删除数据完整性。
6.利用SQL语句修改PRIMARY KEY约束 SQL命令格式: ALTER TABLE Table_name ADD [ CONSTRAINT constraint_name ] CLUSTERED | NONCLUSTERED ( column [ ,...n ] ) 命令功能:修改表结构,并可增加数据完整性。
REFERENCES 表名(列名[,列名]„)]
[,CKECK (条件)] ) 命令功能:创建表结构,并创建数据完整性。
5.2.3
参照完整性的实现
3.利用SQL语句修改参照完整性 SQL命令格式: ALTER TABLE < Table_name >
ADD
[ CONSTRAINT Constraint_name]
[ DEFAULT constraint_expression ] 命令功能:创建表,并创建默认值约束。
CREATE TABLE table4test2 (col1 char(10) default '2015')
5.3.2
修改默认值约束
修改默认值约束 SQL命令格式: ALTER TABLE < Table_name > ADD [ CONSTRAINT Constraint_name] [ DEFAULT constraint_expression ]