文档介绍:An Introduction to Database System
山东科技大学计算机学院
数据库系统概论
An Introduction to Database System
第六章关系数据理论
An Introduction to Database System
基于某个数据库管理系统设计数据库,如何基于数据库系统编程
第6章关系数据理论
第7章数据库设计
第8章数据库编程
第二篇设计与应用开发篇
An Introduction to Database System
第六章关系数据理论
问题的提出
规范化(重点)
数据依赖的公理系统(重点、难点)
* 模式的分解(重点)
小结
An Introduction to Database System
问题的提出
关系数据库逻辑设计
针对具体问题,如何构造一个适合于它的数据模式
数据库逻辑设计的工具──关系数据库的规范化理论
An Introduction to Database System
问题的提出
一、概念回顾
二、关系模式的形式化定义
三、什么是数据依赖
四、关系模式的简化定义
五、数据依赖对关系模式影响
An Introduction to Database System
一、概念回顾
关系
关系模式
关系数据库
关系数据库的模式
An Introduction to Database System
二、关系模式的形式化定义
关系模式由五部分组成,即它是一个五元组:
R(U, D, DOM, F)
R: 关系名
U: 组成该关系的属性名集合
D: 属性组U中属性所来自的域
DOM: 属性向域的映象集合
F: 属性间数据的依赖关系集合
An Introduction to Database System
关系模式的冗余和异常问题
[例1]建立一个描述学校教务的数据库:
学生的学号(Sno)、姓名(Sname)、所在系(Sdept)、
系主任姓名(Mname)、ame)、成绩(Grade)
U ={ Sno, Sdept, Mname, Cname, Grade }
数据库模式之一:单一的关系模式: Student <U、F>
数据库模式之二:
Student(Sno,Sname,Sdept);
Dept(Sdept,Mname);
SC(ame,Grade);
数据库模式之一的一个实例
存在哪些问题:
(1)冗余度大
(2)插入异常
(3)删除异常
(4)修改异常
Sno
SName
SDept
Mname
Cname
G
0001
张华
CS
李四
离散数学
5
0001
张华
CS
李四
数据结构
5
0001
张华
CS
李四
操作系统
4
0001
张华
CS
李四
数据库
3
0001
张华
CS
李四
程序设计
4
0002
李明
MA
张三
操作系统
3
0002
李明
MA
张三
数据库
3
0003
刘强
CS
李四18
汇编
4
主码是?
主码是(ame)
0004
王刚
IS
陈五
NULL
Cno
CName
C101
离散数学
C102
数据结构
C103
操作系统
C105
数据库
C107
汇编
C110
程序设计
Sno
Cno
G
0001
C101
5
0001
C102
5
0001
C103
4
0001
C105
3
0001
C110
4
0002
C103
3
0002
C105
3
0003
C107
4
S-C
Sno
Sname
Sdept
SAage
001
张华
CS
17
002
李明
MA
19
003
刘强
CS
18
S
C
数据库模式之二的一个实例
还存在这些问题吗:
(1)冗余度大
(2)插入异常
(3)删除异常
(4)修改异常
冗余变小了
不存在了
不存在了
变少了