第5章sql数据库完整性约束.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第5章sql数据库完整性约束.ppt》由会员分享,可在线阅读,更多相关《第5章sql数据库完整性约束.ppt(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第5章章 数据完整性数据完整性51 数据完整性的基本概念数据完整性的基本概念 数据完整性包括实体完整性、域完整性、参照完整性和数据完整性包括实体完整性、域完整性、参照完整性和用户定义的完整性。用户定义的完整性。1实体完整性(实体完整性(Entity Integrity)实体完整性用于保证数据库中数据表的每一个特定实体实体完整性用于保证数据库中数据表的每一个特定实体都是唯一的。都是唯一的。它可以通过主键约束(它可以通过主键约束(PRIMARY KEY)、唯)、唯一键约束(一键约束(UNIQUE)、索引或标识属性()、索引或标识属性(IDENTITY)来)来实现。实现。2域完整性域完整性(Dom
2、ain Integrity)域完整性就是保证数据库中的数据取值的合理性域完整性就是保证数据库中的数据取值的合理性,即保,即保证指定列的数据具有正确的数据类型、格式和有效的数据范证指定列的数据具有正确的数据类型、格式和有效的数据范围。通过为表的列定义数据类型以及检查约束(围。通过为表的列定义数据类型以及检查约束(CHECK)、)、默认定义(默认定义(DEFAULT)、非空()、非空(NOT NULL)和规则实现)和规则实现限制数据范围,保证只有在有效范围内的值才能存储到列中。限制数据范围,保证只有在有效范围内的值才能存储到列中。3参照完整性参照完整性(Referential Integrity)
3、参照完整性定义了一个关系数据库中,不同的表中列之间参照完整性定义了一个关系数据库中,不同的表中列之间的关系的关系(父键与外键)。要求一个表中(参照表)的一列或(父键与外键)。要求一个表中(参照表)的一列或列组合的值必须与另一个表(被参照表)中的相关一列或列列组合的值必须与另一个表(被参照表)中的相关一列或列组合的值相匹配。被引用的列或列组合称为父键,父键必须组合的值相匹配。被引用的列或列组合称为父键,父键必须是是主键或唯一键主键或唯一键,通常父键为主键,主键表(被参照表)是,通常父键为主键,主键表(被参照表)是主表。引用父键的一列或列组合称为外键,外键表(参照表)主表。引用父键的一列或列组合称
4、为外键,外键表(参照表)是子表。子表的外键必须与主表的主键相匹配,只要依赖某是子表。子表的外键必须与主表的主键相匹配,只要依赖某一主键的外键存在,主表中包含该主键的行就不能被删除。一主键的外键存在,主表中包含该主键的行就不能被删除。4用户定义的完整性用户定义的完整性(User-defined Integrity)这是由用户定义的完整性。用户可以根据自己的业务规这是由用户定义的完整性。用户可以根据自己的业务规则定义不属于任何完整性分类的完整性。则定义不属于任何完整性分类的完整性。52 约束约束 约束是通过限制列中数据、行中数据以及表之间数据取约束是通过限制列中数据、行中数据以及表之间数据取值从而
5、保证数据完整性的非常有效和简便的方法。值从而保证数据完整性的非常有效和简便的方法。521 主键(主键(PRIMARY KEY)约束)约束 PRIMARY KEY约束在表中定义一个主键,唯一的标约束在表中定义一个主键,唯一的标识表中的行。一个表只能有一个识表中的行。一个表只能有一个PRIMARY KEY约束。约束。当向表中的现有列添加当向表中的现有列添加PRIMARY KEY约束时,约束时,SQL Server将检查列中现有的数据以确保现有数据遵从主键的将检查列中现有的数据以确保现有数据遵从主键的规则,即规则,即无空值、无重复值无空值、无重复值。每个表都应有一个主键。主键可以是一列或列组合。每个
6、表都应有一个主键。主键可以是一列或列组合。1利用利用Management Studio定义(删除)主键定义(删除)主键 2利用利用T-SQL语句定义(删除)主键语句定义(删除)主键 (1)在创建表时创建主键约束)在创建表时创建主键约束 其语法格式如下其语法格式如下 CREATE TABLE 数据表名数据表名 (列名列名 数据类型数据类型 CONSTRAINT 约束名约束名 PRIMARY KEY)例:用命令方式新建如下所示的例:用命令方式新建如下所示的bm表,设置主键名为表,设置主键名为pk_bh。字段名数据类型允许空部门编号char(5)否,主键部门名称varchar(10)否电话号码cha
7、r(13)是CREATE TABLE bm (5-1)(部门编号 CHAR(5)NOT NULL CONSTRAINT pk_bh PRIMARY KEY,部门名称 VARCHAR(10)NOT NULL,电话号码 CHAR(13)(2)向已有表中添加主键约束)向已有表中添加主键约束 其语法格式如下。其语法格式如下。ALTER TABLE 表名表名 ADD CONSTRAINT 约束名约束名 PRIMARY KEY(列名列名1,n)ALTER TABLE cj (5-2)ADD CONSTRAINT pk_xhkch PRIMARY KEY(学号学号,课程号课程号)例:先用图形方式删除例:先用
8、图形方式删除cj表中的主键,然后用命令方式添表中的主键,然后用命令方式添加主键为学号和课程号,主键名为加主键为学号和课程号,主键名为pk_xhkch。(3)删除主键约束)删除主键约束 其语法格式如下:其语法格式如下:ALTER TABLE 表名表名 DROP CONSTRAINT 约束名约束名例:要删除例:要删除cj表中的主键约束表中的主键约束pk_xhkch:ALTER TABLE cj (5-3)DROP CONSTRAINT pk_xhkch522 唯一键(唯一键(UNIQUE)约束)约束 可使用可使用UNIQUE约束确保在非主键列中不输入重复值约束确保在非主键列中不输入重复值。在允许空
9、值的列上保证唯一性时,应使用在允许空值的列上保证唯一性时,应使用UNIQUE约束而不约束而不是是PRIMARY KEY约束,不过在该列中只允许有一个约束,不过在该列中只允许有一个NULL值。一个表可以定义多个值。一个表可以定义多个UNIQUE约束,但只能定义一个约束,但只能定义一个PRIMARY KEY约束。约束。1利用利用Management Studio定义(删除)唯一性约束定义(删除)唯一性约束 步骤步骤1:右键要建立唯一约束的表选择:右键要建立唯一约束的表选择“修改修改”。步骤步骤2:右击要设置唯一约束的字段(列)选择:右击要设置唯一约束的字段(列)选择“索引索引/键键”。步骤步骤3:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sql 数据库 完整性 约束
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内