第五章数据库完整性:习题

名词解释

  • 数据库完整性:是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据。因此,完整性检查和控制的防范对象是不合语义的、不正确的数据,防止它们进入数据库
  • 完整性约束条件:是数据库中数据必须满足的语义条件规则
  • 断言:在SQL中通过声明性断言可以指定更具一般性的约束(例如涉及多表、聚集操作等)。创建断言后,任何对断言中所涉及关系的操作都会触发DBMS对断言的检查,任何断言为FALSE的操作都会被拒绝
  • 触发器(TRIGGER):是用户定义在关系表上的一类由事件驱动的特殊过程,在满足一定条件或达到一定阈值时会自动触发。可以进行更为复杂的检查和操作,具有更精细和更强大的数据控制能力

简答题

应用题

在这里插入图片描述

【答案】

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

完整性约束条件:是指数据库中的数据应该满足的语义约束条件。一般可以分为六类:

  • 静态列级约束
  • 静态元组约束
  • 静态关系约束
  • 动态列级约束
  • 动态元组约束
  • 动态关系约束

①静态列级约束是对一个列的取值域的说明,包括以下几个方面:

  • 数据类型的约束,包括数据的类型、长度、单位、精度等

  • 数据格式的约束

  • 取值范围或取值集合的约束

  • 空值的约束

  • 其他约束

②静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上

③静态关系约束是在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束,常见的静态关系约束有

  • 实体完整性约束
  • 参照完整性约束
  • 函数依赖约束

④动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:

  • 修改列定义时的约束
  • 修改列值时的约束

⑤动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件

⑥动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、 原子性等约束条件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

【答案】

  • 外码是否可以取空值
  • 需要考虑以下更新、删除问题 在这里插入图片描述

在这里插入图片描述

CREATE TABLE Dept
(
	Dept NUMBER(4) PRIMARY KEY,
	Name VARCHAR(10),
	Manager_name VARCHAR(10),
	Phone NUMBER(11)
);

CREATE TABLE Worker
(
	Nol NUMBER(4) PRIMARY KEY,
	Name VARCHAR(10),
	Age NUMBER(4) CHECK(W_age <= 60),
	Job VARCHAR(10),
	Wages NUMBER(7,2),
	Deptno NUMBER(10),
	
	FOREIGN KEY(W_deptno) REFERENCES Dept(Deptno)
);

在这里插入图片描述

【答案】

实体完整性

在这里插入图片描述 参照完整性

在这里插入图片描述

#数据库##考研#

数据库系统概论王珊第五版笔记

全部评论
考试必考的题
点赞 回复 分享
发布于 2023-02-20 22:27 天津
数据库完整性的约束条件好多
点赞 回复 分享
发布于 2023-02-20 22:57 山东

相关推荐

Java抽象带篮子:难蚌,点进图片上面就是我的大头😆
点赞 评论 收藏
分享
一个菜鸡罢了:哥们,感觉你的简历还是有点问题的,我提几点建议,看看能不能提供一点帮助 1. ”新余学院“别加粗,课程不清楚是否有必要写,感觉版面不如拿来写一下做过的事情,教育经历是你的弱势就尽量少写 2. “干部及社团经历”和“自我评价”删掉 3. 论文后面的“录用”和“小修”啥的都删掉,默认全录用,问了再说,反正小修毕业前肯定能发出来 4. 工作经验和研究成果没有体现你的个人贡献,着重包装一下个人贡献
点赞 评论 收藏
分享
评论
点赞
2
分享
牛客网
牛客企业服务