- 4
- 0
- 约3.42千字
- 约 43页
- 2017-04-19 发布于湖北
- 举报
数据库系统原理---5精要
数据库系统原理;【教学目标】 认识数据库完整的任务与作用。了解完整性控制机制。掌握完整性约束的定义方法和步骤。
【教学重点】并完整性约束的定义与控制方法,实体、参照、自定义完整性的功能。
【教学难点】完整性约束的形式化表述,自定义约束的实现方法。;第一节、实体完整性;什么是数据库的完整性
数据的正确性和相容性
防止不合语义的数据进入数据库。
例: 学生的年龄必须是整数,取值范围为14--29;
学生的性别只能是男或女;
学生的学号一定是唯一的;
学生所在的系必须是学校开设的系;
完整性:否真实地反映现实世界;完整性控制机制;完整性控制机制;完整性约束条件作用的对象
列:对属性的取值类型、范围、精度等的约束条件
元组:对元组中各个属性列间的联系的约束
关系:对若干元组间、关系集合上以及关系之间的联系的约束;1. 静态列级约束
静态列级约束:对的取值域的说明
最常见、最简单、最容易实现的一类完整性约束;3) 取值范围或取值集合的约束
例:规定成绩的取值范围为0-100
年龄的取值范围为14-29
性别的取值集合为[男,女]
4) 对空值的约束
空值:未定义或未知的值
空值:与零值和空格不同
有的列允许空值,有的则不允许,如成绩可为空值
5) 其他约束
例:关于列的排序说明,组合列等;2. 静态元组约束
规定元组的各个列之间的约束关系
例:订货关系中发货量=订货量
教师关系中教授的工资=700元
静态元组约束只局限在元组上 ;函数依赖约束;4. 动态列级约束
动态列级约束是修改列定义或列值时应满足的约束条件;5. 动态元组约束
修改元组值: 各个字段之间要满足的约束条件
例: 职工工资调整不得低于其原来工资 + 工龄*1.5;实体完整性约束条件小结;DBMS的完整性控制机制;例:银行数据库中“借贷总金额应平衡”的约束
就应该是延迟执行的约束
从账号A转一笔钱到账号B为一个事务,从账号A转出去钱后账就不平了,必须等转入账号B后账才能重新平衡,这时才能进行完整性检查。;第二节、参照完整性;参照完整性的一个例子; 1. 外码是否可以接受空值的问题;例1:在职工-部门数据库中,
EMP关系包含有外码Deptno
某元组的这一列若为空值,表示这个职工尚未分配到任何具体的部门工作
和应用环境的语义是相符;例2:学生-选课数据库
Student关系为被参照关系,其主码为Sno。
SC为参照关系,外码为Sno。
若SC的Sno为空值:表明尚不存在的某个学生,或者某个不知学号的学生,选修了某门课程,其成绩记录在Grade中
与学校的应用环境是不相符的,因此SC的Sno列不能取空值。;2.在被参照关系中删除元组时的问题;违约反应:可有三种策略
级联删除(CASCADES)
受限删除(RESTRICTED)
置空值删除(NULLIFIES)
这三种处理方法,哪一种是正确的,要依应用环境的语义来定;级联删除
将参照关系中外码值与被参照关系中要删除元
组主码值相对应的元组一起删除
受限删除
当参照关系中没有任何元组的外码值与要删除
的被参照关系的元组的主码值相对应时,系统
才执行删除操作,否则拒绝此删除操作;置空值删除
删除被参照关系的元组,并将参照关系
中与被参照关系中被删除元组主码值相
等的外码值置为空值。;例:要删除Student关系中Sno=950001的元组,
而SC关系中有4个元组的Sno都等于950001。
级联删除:将SC关系中所有4个Sno=950001的元组一起删除。如果参照关系同时又是另一个关系的被参照关系,则这种删除操作会继续级联下去
受限删除:系统将拒绝执行此删除操作。;置空值删除:将SC关系中所有Sno=950001的元组的Sno值置为空值。
在学生选课数据库中,显然第一种方法和第二种方法都是对的。第三种方法不符合应用环境语义。;3.在参照关系中插入元组时的问题;受限插入
仅当被参照关系中存在相应的元组,其主码值与参照关系插入元组的外码值相同时,系统才执行插入操作,否则拒绝此操作。
递归插入
首先向被参照关系中插入相应的元组,其主码值等于参照关系插入元组的外码值,然后向参照关系插入元组。;例:向SC关系插入(99001,1,90)元组,而Student关系中尚没有Sno=99001的学生
受限插入:系统将拒绝向SC关系插入(99001,1,90)元组
递归插入:系统将首先向Student关系插入Sno=99001的元组,然后向SC关系插入(99001,1,
您可能关注的文档
- 数据库关系代数习题精要.doc
- 数据库上课 第六讲 SQL语言_3(连接与聚合)精要.ppt
- 数据库原理及应用 第4-5章-数据库安全性和完整性(2学时)精要.ppt
- 数据库原理及应用第一次上机实践精要.doc
- 数据库原理及应用 第13章 数据仓库与数据库新技术(2学时)精要.ppt
- 数据仓库实践-第一课 昨夜西风凋碧树。独上高楼,望尽天涯路精要.pptx
- 数据库原理及应用课程设计文档精要.doc
- 数据库基础试题9精要.doc
- 数据库原理与应用精要.pptx
- 数据库复习试题(无设计题 考试部分试题 可发给学生)精要.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)