首页 / 数据库原理与应用 / 数据库设计基础(E-R图)

第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 数据库设计步骤

  1. 需求分析:了解业务需求,确定需要存储哪些数据
  2. 概念结构设计:绘制E-R图
  3. 逻辑结构设计:将E-R图转换为关系模式
  4. 物理结构设计:确定存储结构和访问方法
  5. 数据库实施与维护:创建数据库、编写应用程序、持续优化

自学自检小问题

  1. 学生和课程之间的"选修"联系是什么类型?如何转成表?
  2. 一个表中如果有"系名"和"系主任"两个字段,满足第几范式?如何改进?
  3. 绘制一个简单的图书管理系统E-R图(含读者、图书、借阅三个实体)

拓展学习资源

第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