文章目录
- 数据库E-R图知识点和相关习题
- E-R图的前置知识
- 习题
- 工厂物资管理系统(例题)
- 防疫管理系统(2021)
- 社区隔离人员管理系统(2020A)
- 在线教学管理系统(2020B)
- 餐厅管理系统(2019)
- 图书借阅管理系统(2016)
- 医院就诊管理系统(2015)
- 便利店管理系统(2014)
- 工厂库存管理系统(2013)
数据库E-R图知识点和相关习题
E-R图的前置知识
1、E-R图概述
概念模型中最常用的方法就是实体-联系方法(Entity-Relationship approach),该方法用E-R图来描述现实世界的概念模型,即E-R模型。该模型中包含实体、属性以及实体之间的联系。在E-R图中,用矩形表示实体,椭圆形表示属性,菱形表示实体之间的联系(联系也是可以有属性的)
2、实体之间的关系
下面主要针对两个实体间的关系进行介绍
(a)一对一联系(1:1)
如班级和班长,一个班级只有一个班长,一个班长只能在一个班级任职。
(b)一对多联系(1:n)
如班级和学生,一个班级有多名学生,一名学生只能属于一个班级。
(c)多对多联系(m:n)
如课程和学生,一门课程可以被多名学生选修,一名学生可以同时选修多门课程。
而对于两个以上的实体以及单个实体,都包含上述三种联系。
注:知道上述的知识后,我们更需要明白的是明确实体间的关系是为了画好E-R图,而绘制出E-R图的最终目的是为了在数据库中建表。
假设实体A和B
(1)一对一联系在建表时的字段只需要包括自身属性;(2)一对多联系,需要将A方的主键和联系的属性放入B方中。即给B方建表时,不仅需要加上原本自身的属性,还需要加上A方的主键和联系的属性;
(3)多对多联系,通常需要建立第三张表才能表示实体间多对多的关系。第三张表中的字段包括A中的主键、B中的主键以及联系的属性。不需要在A或B表中添加任何除自身属性的字段。
习题
工厂物资管理系统(例题)
仓厍:属性有仓库、面积、电话号码;
零件:属性有零件号、名称、规格、单价、描述;
供应商:属性有供应商号、姓名、地址、电话号码、账号;
项目:属性有项目号、预算、开工日期;
职工:属性有职工号、姓名、年龄、职称。
这些实体之间的联系如下:
(1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中,因此仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量。
(2)—个仓库有多个职工当仓厍保管员,一个职工只能在一个仓库工作,因此仓库和职工之间是一对多的联系。【两个实体间的联系】
(3)职工之间具有领导与被领导关系,即仓库主任领导若干保管员,因此职工实体型中具有一对多的联系。【单个实体间的联系】
(4)供应商、项目和零件三者之间具有多对多的联系,一个供应商可以供给若干项目且多种零件,每个项目可以使用不同供应商供应的零件,每种零件可由不同供应商供给。【两个以上实体间的联系】
上述的E-R图如下图所示
注:图中红色标记的是笔者自认为易忽略的点
供应量是供应联系的属性
库存量是库存联系的属性
职工间的联系是单个实体间一对多的联系
防疫管理系统(2021)
在抗击新冠肺炎疫情中,为了加强管理,某市区防疫志愿者团队规定:一名志愿者可以服务多名帮扶对象,每名帮扶对象可以由多名志愿者服务;每名志愿者只在一个社区工作,每个社区有多名志愿者;每个社区指定一辆专用运输车,每辆专用运输车只归属一个社区使用。
社区需要登记社区编号、社区名称信息;
专用运输车需要登记车辆牌照号、车况描述;
志愿者需要登记志愿者编号、志愿者姓名、志愿者级别信息;
帮扶对象需要登记帮扶对象编号、帮扶对象姓名、帮扶事项、防疫检测信息;
志愿者对帮扶对象服务时需要登记服务时间、帮扶内容。
提示:同一名志愿者可以在不同时间对于同一名帮扶对象进行帮扶,因此,服务时间是主属性之一。
上述的E-R图如下图所示
由E-R图得出的关系模式:
社区(社区编号、社区名称)
运输车(车辆牌照号、车况描述)
志愿者(志愿者编号、姓名、志愿者级别,社区编号)
帮扶对象(帮扶对象编号、帮扶对象姓名、帮扶事项、防疫检测信息)
帮扶(志愿者编号、帮扶对象编号、服务时间、帮扶内容)【该表是用于表示志愿者和帮扶对象两个实体之间多对多的关系】
社区隔离人员管理系统(2020A)
1.该社区有若干个被隔离人员,每个被隔离人员有编号、姓名、电话、住址、开始隔离日期、结束隔离日期。
2.该社区有若干个管理人员,管理人员有工号、姓名、电话、职务。
3.每个被隔离人员被隔离14天,因为被隔离人员在家隔离,不能离家。每天由一名管理人员负责,并为他提供服务,一个管理人员一天可以负责多名被隔离人员。因此每天由社区领导为每位隔离人员分配管理人员。
4.每名被隔离人员,有服务请求时需要填写服务申请,包括服务内容、申请时间,服务时间,状态(初值为NULL)。
5.管理人员查看他负责的隔离人员的服务请求,提供服务。服务完成后,将状态置为完成。
上述的E-R图如下图所示
由E-R图得出的关系模式:
被隔离人员(编号、姓名、电话、住址、开始隔离日期、结束隔离日期、管理人员工号)
管理人员(工号、姓名、电话、职务、领导工号)
服务(被隔离人员编号、服务内容、申请时间,服务时间,状态、管理人员工号)
在线教学管理系统(2020B)
1.该系统有若干名教师,每个教师有教师号、姓名、电话、职称。
2.该系统有若干名学生,每个学生有学号、姓名、电话、专业、班级。
3.每门课程有课程号,课程名称,学时,学分。
4.每个老师可以主讲多门课程,每个学生也可以选修多门课程。
5.每门课程由多个教学单元(课堂〉组成,每个教学单元有教学单元序号、教学主讲内容,上课时间、下课时间。
6.每个学生要按时参加所选课程的教学单元的听课,该系统自动完成点名功能,即记录学生的登录课堂的时间和退出课堂的时间。
上述的E-R图如下图所示
注:学生选修了课程后,还需要参加课程,此时学生、课程、教学单元三个实体间是多对多的关系。
由E-R图得出的关系模式:
教师(教师号、姓名、电话、职称)
课程(课程号,课程名称,学时,学分,教师号)
教学单元(教学单元序号、教学主讲内容,上课时间、下课时间、课程号)
选修(学号、课程号)
参加(学号、课程号、教学单元序号 、登陆时间、退出时间)
餐厅管理系统(2019)
某企业有几家餐厅,每个餐厅经营多种食品,每种食品可在多家餐厅制作,每间餐厅可以为制作的不同食品进行自主定价,每家餐厅聘用多名职员,每位职员只能在一家餐厅工作,每位职员在不同的餐厅打工有聘用期和工资,每间餐厅有一个经理,每个经理只能管理一间餐厅。
餐厅的属性有餐厅编号、餐厅名、地址;
食品的属性有食品编号、食品名;
职工的属性有职工编号、职工名、职位和性别。
上述的E-R图如下图所示
由E-R图得出的关系模式:
餐厅(餐厅编号、餐厅名、地址)
职工(职工编号、职工名、职位、性别、餐厅编号)
聘用(餐厅编号、职工编号、聘用期、工资)
食品(食品编号、食品名)
定价(餐厅编号、食品编号、定价)
图书借阅管理系统(2016)
①图书分为“科技图书”,“社科图书”等种类,每本书只能划归为一个种类。
②可随时查询书库中现有的书籍的种类、数量和存放位置,所有各类书籍均可由书号唯一标识。
③可随时查询书籍借还情况,包括借书证号、借书人单位、姓名、借书日期和还书日期。
④约定任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性
⑤当需要时,可查询出版社的名称、电话、邮编及地址等信息。同时约定一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。
上述的E-R图如下图所示
由E-R图得出的关系模式:
借书人(借书证号、姓名、借书人单位)
图书(书号、书名、数量、存放位置、社名、种类名、)
出版社(社名、电话、地址、邮编)
借阅(借书证号、书号、借书日期、还书日期)
医院就诊管理系统(2015)
某医院用数据库系统管理病人,该医院有若干科室,每个科室聘请多个医生,每个医生只能被一个科室聘请。每个科室有若干病床,每个病床只能由一个科室管理。门诊时,病人选择医生进行治疗;住院时,医生安排病人到指定病床就医,同时登记病情信息,如住院时间;出院时,需缴费并登记出院时间。
提示:
1)病人和医生的门诊治疗关系是多对多的联系;
2)医生、病人、病床之问的住院关系是三元多对多的联系。
上述的E-R图如下图所示
由E-R图得出的关系模式:
科室(科室编号、科室名)
病人(病人编号、病人姓名、年龄、性别、地址、身份证号、注册时间)
医生(医生编号、医生名、级别、所属科室)
病床(病床编号、所属科室)
门诊关系(医生编号、病人编号、接诊时间、病情)
住院关系(医生编号、病人编号、病床编号、住院时间、出院时间、费用)
便利店管理系统(2014)
某连锁店用数据库管理各分店,“分店”的属性有分店编号、店名、店址、经理等,“会员”的属性有会员编号、会员名、地址等,“职工”的属性有职工编号、职工名、性别、工资等。每家分店有若干职工,但每个职工只能工作于一家分店。每家分店有若干注册会员,每个会员只能在一家分店注册。会员注册后可以在所有分店购买商品,并按商品所属的类别执行相应的折扣。系统中还需记录职工在分店参加工作的开始时间,会员的注册时间。
上述的E-R图如下图所示
由E-R图得出的关系模式:
分店(分店编号、店名、地址、经理)
职工(职工编号、职工名、性别、工资、分店编号、工作开始时间)
会员(会员编号、会员名、住址、分店编号、注册时间)
商品(商品编号、商品名称、价格、商品类别名称)
商品类别(商品类别名称、折扣)
购买关系(会员编号、分店编号、商品编号、购买时间、购买数量)
工厂库存管理系统(2013)
一个仓库可以存放多种零件,每种零件可以存放在多个仓库中。每次领料以“领料单”为凭证,只能为一个车间领取一种或多种零件,领料时必须记录领料车间、时间和所领各种零件的数量:每个车间可以多次领料,每种零件可以多次领取。
仓库有编号、名称、容量等信息,零件有编号、名称、单价等信息,车间有编号、名称、车间主任等信息。
上述的E-R图如下图所示
由E-R图得出的关系模式:
工厂(工厂号、工厂名)
仓库(仓库编号、仓库名称、容量、工厂号)
零件(零件编号、零件名称、价格)
库存关系(仓库编号、零件编号、库存量)
车间(车件编号、车间名称、车间主任、工厂号)
领取关系(车件编号、零件编号、领取时间、领取零件数量)