- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验七:数据完整性实验
实验目的:
加深对数据完整性的理解。
实验容:
数据库的完整性设置。
实验步骤:
可视化界面的操作方法:
一、实体完整性
1.将student表的“sno”字段设为主键:在表设计界面中,单击左边的行选定块,选定“sno”字段,单击工具按钮设置主键。如图1所示:
图1
将“sc”表的“sno”和“cno”设置为主键:在表设计界面中,单击并按住Ctrl键拖动左边的行选定块,选定sno和cno字段,单击工具按钮设置主键。如图2所示:
图2
二、域完整性
3. 将“ssex”字段设置为只能取“男”,“女”两值:在表设计界面,点击鼠标右键——CHECK约束,——添加约束,添加CK_student_sex名称,然后在约束表达式框中输入“ ssex in (男,女) ”。如图3所示。
图3
三、参照完整性
4. 将“student”表和“sc”表中的“sno”字段设为参照: 打开“sc”表的设计界面, 点击工具栏按钮, 在弹出的属性(properties)对话框中点击“新建”按钮,在“主键表(Primary key table)”下拉框中选择“student”表,在其下的字段选择框中选择“sno”,在“外键表(Foreign key table)”下拉框中选择“sc”表,在其下的字段选择框中选择“sno”,单击关闭即可。见图4。
图4
命令方式操作方法:
一、实体完整性
1.将“student”表的“sno”字段设为主键:
当“student”表已存在则执行:
当“student”表不存在则执行:
注:可用命令“drop table student”删除“student”表
2. 添加一号字段,设置其惟一性.(注: 操作前应删除表中的所有记录)
3. 将“sc”表的“sno”和“cno”设置为主键:
当“sc”表已存在则执行:
当“sc”表不存在则执行:
二、域完整性
4. 将“ssex”字段设置为只能取“男”,“女”两值:
当“student”表已存在则执行:
当“student”表不存在则执行:
5. 设置学号字段只能输入数字:
6. 设置号的输入格式:
7. 设置18位号的第7位到第10位为合法的年份(1900-2050)
三、参照完整性
9. 设置男生的年龄必须大于22, 女生的年龄必须大于20.
10. 将“student”表和“sc”表中的“sno”字段设为参照:
当“sc”表已存在则执行:
当“sc”表不存在则执行:
四、完整性验证
1. 实体完整性: 在“student”表数据浏览可视化界面中输入学号相同的两条记录将会出现错误如图5所示:
图5
或者在命令窗口输入下面两条命令也会出现错误提示:
insert into student values(95003,三,男,24,CS,X)
insert into student values(95001,四,女,21,CS,1)
图6
下面的语句用来验证“sc”表中的实体完整性:
insert into sc values(95002, 10,65)
insert into sc values(95002, 10,90)
图7
2. 域完整性:
使用下面的语句验证“ssex”字段的域完整性:
insert into student values(95009,匀,大,20,CS, ‘X’)
3.参照完整性:
使用下面的语句“验证”sc表中的“sno”字段的域完整性(假设student表中没有学号为“95998”的学生记录):
insert into sc values(98998, 10,98)
思考:
建立课程的实体完整性, 和课程号cno的参照完整性;
实验小结:
文档评论(0)