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