定义数据完整性

上传人:ji****72 文档编号:50948102 上传时间:2018-08-11 格式:PPT 页数:25 大小:307KB
返回 下载 相关 举报
定义数据完整性_第1页
第1页 / 共25页
定义数据完整性_第2页
第2页 / 共25页
定义数据完整性_第3页
第3页 / 共25页
定义数据完整性_第4页
第4页 / 共25页
定义数据完整性_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《定义数据完整性》由会员分享,可在线阅读,更多相关《定义数据完整性(25页珍藏版)》请在金锄头文库上搜索。

1、1 完整性约束综述 2 使用primary key(主键)约束实施实体完整性3 使用foreign key(外键)约束实施参照完整性 4 使用unique 、check等约束实施用户定义完整性 5 借助企业管理器实施数据库完整性 6 使用企业管理器建立数据库关系图第2-3章 数据库完整性设计1. 实体完整性学号姓名性别别年龄龄班号 0201 0202李勇 刘晨男 男18 19信01 信011 完整性约束综述学号课课号成绩绩0201 0233001 00180 902.2.参照完整性参照完整性 班号专业专业院系 信管1 信管2信息管理 信息管理管院 管院“班级”学号姓名性别别年龄龄班号 0201

2、 0235李勇 刘晨男 男18 19信管1 信管2“学生”3 3. .用户定义完整性用户定义完整性 如:性别只能为“男”或“女”一. 完整性分类二. 完整性约束的范围1. 列级约束:应用于某一列上。2. 表级约束:应用于表中的多列上。三. DBMS的完整性控制功能1. 定义功能:提供定义完整性约束条件的机制。2. 检查功能:检查用户发出的操作请求是否违背了完 整性约束条件。3. 纠正措施:发现违背约束时的处理。1 完整性约束综述四. 完整性约束条件的设置完整性约束条件可以在建表时设置,也可以后增或 删除。在建表时设置约束的命令格式是:create table 表名(列名1 数据类型1 列级完整

3、性约束条件1,列名2 数据类型2 列级完整性约束条件2,列名n 数据类型 n 列级完整性约束条件n,表级完整性约束条件); 1 完整性约束综述1. 建立列级主键约束例1:将“学生”表中的“学号”列设为主键。 create table 学生( 学号 varchar(8) primary key ,姓名 varchar(8) , :) ; 例2:将“班级”表中的“班号”列设为主键,并命名。create table 班级( 班号 varchar(7) primary key,专业 varchar(20) ,院系 varchar(20);2 使用primary key(主键)约束实施实体完整性2. 建

4、立表级主键约束例1:将“选修”表中的“学号”与“课号”列设为主键。 create table 选修 ( 学号 varchar(8) , 课号 varchar(4) , 成绩 tinyint ,primary key(学号, 课号);2 使用primary key(主键)约束实施实体完整性学号课课号成绩绩0201 0201 0233001 002 00180 90 75例1:将学生表中的“班号”列设为外键。前提:(1) 班级表中的“班号”列已设为主键; (2) 外键与主键数据类型及长度相同。create table 学生( 学号 varchar(8) primary key ,姓名 varcha

5、r(8) ,性别 varchar(2) ,年龄 tinyint ,班号 varchar(7) foreign key references 班级(班号) ); 3 使用foreign key(外键)约束实施参照完整性班号专业专业院系 信管1 信管2信息管理 信息管理管院 管院“班级”学号姓名性别别年龄龄班号 0201 0235李勇 刘晨男 男18 19信管1 信管2 “学生”例2. 将“选修表”中的“学号”列和“课号”列分别设为外键。create table 选修 ( 学号 varchar(8) foreign key references 学生(学号) , 课号 varchar(4) for

6、eign key references 课程(课号) , 成绩 tinyint,primary key(学号, 课号);3 使用foreign key(外键)约束实施参照完整性学号姓名性别别年龄龄班号 0201李勇男18信管1学号课课号成绩绩 0201 0201001 00280 88课课号课课名学时时学分 001 002微机原理 操作系统统50 402.5 2“学生”关系“课程”关系“选修”关系实现参照完整性要考虑的问题外键的作用即对输入自身表格的数据进行限制,同时也限制 了对主键所在表的数据的修改。1在主键表删除元组问题 1)级联删除2)受限删除(SQL Server 采用)3)置空值删除

7、2在外键表插入元组问题1)受限插入(SQL Server 采用)2)递归插入3修改主键问题1)不允许修改:先删除,再插入。2)允许修改(SQL Server 采用)3 使用foreign key(外键)约束实施参照完整性一. 使用unique约束该约束用来确保不受主键约束的列上的数据的唯一性 。例:create table 学生( 学号 varchar(8) primary key ,姓名 varchar(8) ,身份证号 varchar(18) unique,性别 varchar(2) ,年龄 tinyint ,班号 varchar(7) foreign key references 班级(

8、班号) , );4 使用 unique 、check等约束实施用户定义完整性unique约束与主键约束的区别主要表现在:1. 主要用在非主键的一列或多列上要求数据唯一的情况 。2. 允许该列上存在null值,而主键约束不行。3. 在一个表上可以允许设置多个unique约束,而只能设置一个主键。 4 使用 unique 、check等约束实施用户定义完整性二. 使用null与not null约束null表示指定列可以为空, not null表示指定列不能 为空。如果某列没有明确指定,默认为not null。例2. 将选修表中的“成绩”列设为可以为空。create table 选修 ( 学号 va

9、rchar(8) foreign key references 学生(学号) , 课号 varchar(4) foreign key references 课程(课号) , 成绩 tinyint null,primary key(学号, 课号);4 使用 unique 、check等约束实施用户定义完整性二. 使用check约束check约束在形式上是一个逻辑表达式。可以设置列级check约束 和表级check约束。 1. 定义列级check约束例1:为学生表中的性别和年龄列设置check约束(注意在同一列加多种约束的方法)。 create table 学生( 学号 varchar(8) pr

10、imary key ,姓名 varchar(8) not null,性别 varchar(2) not null check(性别=男 or 性别=女) ,年龄 tinyint null check(年龄15 and 年龄=0 and 学时=0 and 学分=学分);例3. 为选修表的成绩列设置约束。create table 选修 ( 学号 varchar(8) foreign key references 学生(学号) , 课号 varchar(4) foreign key references 课程(课号) , 成绩 tinyint check(成绩=0 and 成绩=0 and 学时=1

11、5 and 年龄=0 and 成绩=150),primary key(学号, 课号);总 结:学生管理数据库的建立与完整性设置 使用企业管理器可以 方便地设置约束、修改 约束和删除约束。注意 :如果表中已有数据, 则追加约束时,要检查 现有数据是否满足约束 。一. 设置主键约束:1.选择要修改的表2.从快捷菜单中选“设计表”命令3.选择主键列(按住ctrl键选多列)4. 单击“钥匙”图标。5 借助 企业管理器实施数据库完整性二. 设置外键约束:1.选择要修改的表2.从快捷菜单中选“设计表”命令3.单击红圈中的键4.选择“关系”标签5.建立或删除外键约束。 5 借助 企业管理器实施数据库完整性三

12、. 设置check约束:1.选择要修改的表2.从快捷菜单中选“设计表”命令3.单击红圈中的键4.选择“check”标签5.建立或删除约束。 5 借助 企业管理器实施数据库完整性6 使用 企业管理器建立数据库关系图数据库关系图可以将数据库结构形象地表示出来。通过关 系图还可以修改数据库结构的各项内容。建立关系图的步骤如下 :1) 展开自己的数据库节点2) 选关系图节点,右击选择 新建数据库关系图3) 选择新建数据库关系图命 令,系统启动创建数据库关系 图向导4) 按照提示创建数据库关系图一个大型数据库可以创建 若干个数据库关系图(一个关 系图中包含几个联系比较密切 的表)。6 使用 企业管理器建立数据库关系图1 说明各类完整性约束的含义及作用。 2 举例说明使用create table命令建立各 类完整性约束的方法。3 说明使用企业管理器建立和修改各类完 整性约束的方法和步骤。4 说明创建数据库关系图的方法和步骤。第2-3章 数据库完整性设计作业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号