《数据库原理》实验报告
学 号 日 期
实 验 室 指导教师 设备编号
实 验 题 目 实验单元四 数据库的完整性
一、实验目的
1. 加深对数据库完整性的理解。
2.掌握数据库实体完整性控制的定义和使用方法。
3.掌握数据库参照完整性控制的定义和使用方法。
4.掌握域完整性的定义方法,包括 NOT NULL、UNIQUE、CHECK、DEFAULT。
二、实验内容
1. 实体完整性:把表中的每行看作一个实体,要求所有行都具有唯一标识。通过建立索
引、PRIMARY KEY、UNIQUE 来实现。
2. 参照完整性:维护被参照表与参照表之间的数据一致性,通过主键〔PRIMARY KEY〕和外键
〔FOREIGN KEY〕约束实现。使用 FOREIGN KEY 约束需注意:FOREIGN KEY 约束只参照同
一个数据库中的其它表, 跨数据库表的参照只能通过触发器来实现。〔触发器可暂时不做,第
八章之后再做。〕
3. 用户定义的完整性:要求表中指定列的数据具有正确的数据类型、格式和有效的数据范围。通
过默认值、CHECK、规则等约束实现。
4. 创建一个部门数据库,建立如下两个表,自己设置主码外码,同时为联系 字段设
置默认值'0000000',职工年龄不得超过 60 岁。注意:每个约束都要命名,包括
主码外码,以方便后续的操作。
表 1 部门表
部门代码 部门名称 负责人 联系
0001
生产部 李华江
86960986
0002
销售部 张丽
85438769
0003
市场部 王欣
67893542
表 2 职工表
职工代码 年龄 家庭住址 邮政编码 部门代码
200001
王华
35
杭州
310006 0001
200002
李想
27
富阳
310010 0003
200003
张丽
40
杭州
310017 0002
200004
李华江
38
萧山
310101 0001
5. 输入数据时,设计一些数据,检查当数据违反完整性时的运行情况。比方:输入重
复或空的主码值,输入不在范围内的年龄等。
6. 用 ALTER TABLE 语句添加约束 UniqueName,使职工唯一,新输入一行元组,
测试违反限制时的运行情况。