第8章 数据库设计基础(E-R图)
8.1 E-R图三要素
- 实体(Entity):矩形表示,如"学生""课程""教师"
- 属性(Attribute):椭圆表示,如"学号""姓名""性别"
- 联系(Relationship):菱形表示,如"选修""属于""讲授"
8.2 联系类型
- 一对一(1:1):如一个班级只有一个班长
- 一对多(1:n):如一个系有多个学生,一个学生只属于一个系
- 多对多(m:n):如一个学生选多门课,一门课被多个学生选
8.3 E-R图转关系模式
- 每个实体转成一个表
- 1:1联系:将一方主键加入另一方作为外键
- 1:n联系:将1方主键加入n方作为外键
- m:n联系:单独建立一个关联表,包含双方主键
-- 学生-课程 m:n 联系转表
CREATE TABLE sc (
sno CHAR(10), -- 外键引用student
cno CHAR(4), -- 外键引用course
grade DECIMAL(5,2),
PRIMARY KEY (sno, cno) -- 联合主键
);
8.4 规范化基础(三大范式)
- 第一范式(1NF):每个字段值都是不可再分的原子值。如"联系方式"不能同时包含电话和邮箱。
- 第二范式(2NF):满足1NF,且非主键字段完全依赖于主键(消除部分依赖)。组合主键时才可能出现部分依赖。
- 第三范式(3NF):满足2NF,且非主键字段不传递依赖于主键(消除传递依赖)。如"系名"和"系主任"存在传递依赖。
8.5 数据库设计步骤
- 需求分析:了解业务需求,确定需要存储哪些数据
- 概念结构设计:绘制E-R图
- 逻辑结构设计:将E-R图转换为关系模式
- 物理结构设计:确定存储结构和访问方法
- 数据库实施与维护:创建数据库、编写应用程序、持续优化
自学自检小问题
- 学生和课程之间的"选修"联系是什么类型?如何转成表?
- 一个表中如果有"系名"和"系主任"两个字段,满足第几范式?如何改进?
- 绘制一个简单的图书管理系统E-R图(含读者、图书、借阅三个实体)
拓展学习资源
- ProcessOn在线绘图工具(免费)
- 阅读材料:数据库设计案例——电商订单系统
第8章 基础巩固练习
0/5
第1题
选择题
E-R图中,实体用( )表示
答案解析
正确答案:B(矩形)。E-R图中:实体用矩形,属性用椭圆,联系用菱形。
第2题
选择题
学生和课程之间的“选修”联系属于( )
答案解析
正确答案:C(多对多)。一个学生选多门课,一门课被多个学生选。
第3题
选择题
多对多联系转换为关系模式时,需要( )
答案解析
正确答案:B(建立独立的关联表)。m:n联系需要单独建表,包含双方主键作为联合主键。
第4题
选择题
第三范式(3NF)要求( )
答案解析
正确答案:C(消除传递依赖)。1NF消除非原子值,2NF消除部分依赖,3NF消除传递依赖。
第5题
选择题
E-R图中,联系用( )图形表示
答案解析
正确答案:C(菱形)。记住口诀:矩实椭属菱联系。
0/0