实验二.docx

上传人:b****6 文档编号:5811795 上传时间:2023-01-01 格式:DOCX 页数:10 大小:565.64KB
下载 相关 举报
实验二.docx_第1页
第1页 / 共10页
实验二.docx_第2页
第2页 / 共10页
实验二.docx_第3页
第3页 / 共10页
实验二.docx_第4页
第4页 / 共10页
实验二.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

实验二.docx

《实验二.docx》由会员分享,可在线阅读,更多相关《实验二.docx(10页珍藏版)》请在冰豆网上搜索。

实验二.docx

实验二

实验二数据库的三个完整性

前提:

做完实验一(建立了三个表:

学生表,课程表和选修表)

实验步骤:

一建立表间引用(即外码)

我们知道,这三张表之间存在引用关系,就是sc表的sno应用了student表的主码sno,sc表的cno引用了course表的主码cno。

那么,我们需要在sc表上建立两个外码:

如图,在工具菜单中选择“关系”

分别选择三个关系,都点添加按钮将其添加到后面的窗口中,如下图:

然后关闭最前面的小窗口。

关掉小窗口后双击sc表中的sno,弹出如下对话框:

点击该框的“新建”按钮,得下图对话框,在对话框中如下选择,这样就可以建立sc表的sno对student主码的引用。

点击上图的确定后得下图:

勾上“实施参照完整性”选项后点击确定按钮,(如果确定后报错,一般是因为选修表中原有数据违反了参照完整性。

请先清空SC表的内容。

)(注意:

这里讲的参照完整性就是书中提到的参照完整性,即对外码的两个约束:

要么外码取空,要么外码填所参照表的主码值之一)

创建后如下图,出现了一根连线,sc到student的,而且sc一端是无穷大的符号,student一端是1的符号,代表sc可以多次引用student中的一个主码值。

同样的操作,我们建立sc上的cno引用course表的主码

将“关系”窗口关闭并点“是”保存

二验证实体完整性和参照完整性约束(关系的两个不变性)

(1)DBMS的实体完整性检测

在如下窗口中双击student

如下图输入两条元组:

然后再输入重复的值或空值,例如95002,然后换行,看看DBMS会不会提升错误,提示错误就代表DBMS实体完整性检测到了错误。

下图是提示错误的情况:

(2)DBMS的参照完整性检测

给course表录入信息如下

给sc录入信息如下:

发现一切正常。

思考:

1如果再增加一条记录:

95005,1,70会不会出现错误提示,为什么?

2再增加一条95001,7,90会不会出现错误提示,为什么?

3再增加一条95001,1,87会不会出现错误提示,为什么?

三:

用户定义完整性

1打开student表:

如下:

右键设计视图

2在设计视图里添加用户定义完整性规则,如下图,我们准备把ssex默认值填“女”,有效性规则(相当于用户定义完整性)里规定只能填“男”或者“女”,点击下图所指位置,

弹出表达式生成器对话框(如下图),里面有很多逻辑和函数可以用,填写如下内容,点击确定回到原界面。

3用同意的步骤定义sage完整性如下图,保存。

4验证用户定义完整性,双击打开student,在ssex处随意填字,后果如下图

在sage里随意填年龄,后果如下:

四:

理解基本表,查询表和视图

1在查询界面点击“在设计视图中创建查询”

弹出的对话框中选择要查询的表student表,点击“添加”后关闭对话框。

在下图中,选择要查询的内容:

sno,sname,sdept,以及查询条件是sno为95001的同学。

(注意:

条件是针对sno的,所以95001要写在sno列下面,同理,如果要找叫李勇的同学,就在sname列下面写李勇)

保存该查询为“查询95001”,保存完后如下图,双击该查询后即看到查询结果。

查询结果如下表,该表属于“查询表”以前建立的student,course,sc表是“基本表”

思考:

基本表,查询表,视图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 自我管理与提升

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1