数据库期末考试预习之ER图和关系模式

参考链接:ER图
参考链接:ER转为关系模式
学习视频:哔哩哔哩讲解视频

E-R图

1.定义
E-R图又称实体关系图,是一种提供了实体,属性和联系的方法,用来描述现实世界的概念模型。

2.方法
E-R图中的基本元素
(1)实际问题中客观存在的并且可以相互区别的事物称为实体。实体是现实世界中的对象,可以具体到人,事,物。比如:上图中的饭卡、学生、办公室、食堂、超市。用矩阵表示。
(2)属性
实体所具有的某一个特性称为属性,在E-R图中属性用来描述实体。比如上图中的学生,可以用“姓名”、“院系”、“班级”、“手机号”进行属性描述。用椭圆形表示。
(3)联系
世界上任何事物都不是孤立存在的,事物内部和事物之间都有联系的,实体之间的联系通常有3种类型:一对一联系,一对多联系,多对多联系。用菱形表示。

ER图转为关系模式

E-R模型如何转换成关系模型,这里我们分成三种情况进行讲解,分别是一对一,一对多和多对多。

1.一对一的情况:

有两种方法解决这个问题。第一个方法:可以单独对应一个关系模式,由各实体的主码构成关系模式,而关系模式的主码可以是任一个实体集的主码。而实体中属性照常写就可以了。第二个方法:实体中的属性照常写,然后将一方实体集的主码加到另一方实体集对应的关系模式中。下面举个例子我们来看一下:
  在这里插入图片描述
在这个例子中,利用方法一,先将两个实体正班长和班级的属性照着写下来,然后将关系模式“属于”的属性写出来——即两边实体的主码,其中关系模型“属于”的主键可以是两端实体集的任一主码。利用方法二,也是先将两端实体的属性照着写下来,然后注意这一点,将一端实体的主码加到另一端实体的主码中,图例中就是将“班级”实体的主码加入到“正班长”关系属性中。

2.一对多的情况:

这种情况可以跟一对一的情况对比着学习。第一个方法:同一对一的方法一是差不多的,只是对应的关系模式中,其主码不再是任一实体的主码就可以,而是必须指定n端的主码为关系模式的主码。第二个方法:同一对一的方法二也是差不多的,但是值得强调的是,必须将1端的主码加到n端的关系模式中,而且n端的主码仍然为该关系模式中的主码。同样,我们也来举个例子。
在这里插入图片描述
如图,在方法一中,关系模式的主键是n端学生实体的主键。在方法二中,将一端对应的实体主键“班级编号”加入到了对应n端“学生”的关系模式中,并且,n端的主码仍然为该关系模式的主码。

3.多对多的情况:

对于多对多的联系,似乎是这三种类型中最简单的一个了。其转换原则为:每个实体集对应一个关系模式,对于多对多的联系,其单独对应一个实体集,该实体集的主码由各实体集的主码共同构成。我们同样来看一个例子。
在这里插入图片描述

往年期末考试真题

1.2016

  1. 某图书馆中图书按类分别存放在多个书库中,可供读者借阅。每个书库中有若干个管理员(这些管理员不再管理其它书库)。请设计一个数据库保存相关的信息。其中:
    (1)书库的属性包括书库编号、位置、面积等, 图书的属性包括书号、书名、出版社等,读者的属性包括读者号、姓名、单位等,管理员的属性包括职工编号、职工姓名等属性;其它属性请自己指定。
    (2)描述借阅关系的属性包括借出日期和应还日期等
    试画出书库、图书、读者、管理员及其联系的E-R图(要求注明相关属性及联系的类型), 并将其转换成关系模式(要求注明主码)。

解:
图书管理数据库E-R图如下:
在这里插入图片描述
转换为关系模式如下:
书库(书库编号,地址,面积)
职工(职工编号,姓名,年龄,书库编号)
图书(图书编号,书名,作者,出版社,书库编号)
读者(读者编号,姓名,单位)
借阅(读者编号,图书编号,借书日期,还书日期)
存储(书库编号,书号)

2.2017
1.学生运动会模型:
  (1)有若干班级,每个班级包括: 班级号,班级名,专业,人数
  (2)每个班级有若干运动员,运动员只能属于一个班,包括:运动员号,姓名,性别,年龄
  (3)有若干比赛项目,包括:项目号,名称,比赛地点
  (4)每名运动员可参加多项比赛,每个项目可有多人参加
  (5)要求能够公布每个比赛项目的运动员名次与成绩
  (6)要求能够公布各个班级团体总分的名次和成绩
要求:
(1)画出每个实体及其属性关系、实体间实体联系的E-R图
(2)根据试题中的处理要求:完成数据库逻辑模型,包括各个表的名称和属性,并指出每个表的主键和外键。

解:
(1)
在这里插入图片描述
(2)数据库逻辑模型(包括各个表的名称和属性.并指出每个表的主键和外键)
  班级(班级号,班级名,专业,人数)主键:班级号
  运动员(运动员号,姓名,性别,年龄,班级号)主键:运动员号 外键:班级号
  项目(项目号,项目名,比赛地点)主键:项目号
  比赛(运动员号,项目号,名次,成绩)主键:运动员号,项目号 外键:运动员号,项目号

  • 16
    点赞
  • 161
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值