1、【例 5】今有一个医院住院部,设有多个科,每个科有若干医生和病房,病人住在病房中由某个医生负责治疗。医生总是属于某个科的,但不能跨科;病房也是属于某个科的,不混合使用;病人住在某一科的病房中,一个病房可住多个病人,一个病人由固定医生负责治疗,一个医生可以负责多个病人。根据上述语义,画出 E-R 模型。答案:【例 6】学校有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授可以带若干研究生,每个班有多名学生,每个学生选修多门课程,每门课程由若干学生选修。画出学校的 E-R 图。【例 7】某商业数据管理系统,业务规定如下:顾客有姓名、单位、电话号码商品有商品编码、商品名称
2、、单价这些实体之间的联系:每一名顾客可能买多种商品,且每一种商品又可能有多名顾客购买顾客每一次购买商品还涉及日期、数量、金额根据上述描述,解答下列各题:试画出 E-R 图;要求在 E-R 图中标注联系的类型;指出每一个实体的主码(主关键字) ;将 E-R 图转换成关系模型。答案:转化的关系模型为:顾客(姓名,单位,电话号码),主键为姓名;商品(商品编码,商品名称,单价),主键为商品编码;购买(姓名,商品编码,日期,数量,金额),主键为(姓名,商品编码,日期) ,外键:姓名,参照顾客;外键:商品编码,参照商品。【例 7】设某工厂的物资管理系统包含如下的实体: 仓库:仓库号、仓库面积、电话号码 零
3、件:零件号、名称、规格、单价、描述 供应商:供应商号、名称、地址、电话号码、帐号 职工:职工号、姓名、年龄、职称实体之间的联系如下: 一个仓库可以存放多种零件,一个零件可以存放多个仓库中。用库存量来描述某种零件在某个仓库中的数量。 一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库中工作。 职工之间具有领导和被领导的关系,即仓库主任领导若干保管员。 一个供应商可以供应多种零件,反之,一种零件也可以由不同的供应商供应。(1)根据以上描述,构造 E-R 模型。(2)将上述 E-R 图转换为关系模型。转化的关系模型为: 仓库(仓库号,仓库面积,电话号码),主键为仓库号; 零件(零件号,名称,规格
4、,单价,描述),主键为零件好; 供应商(供应商号,名称,地址,电话号码,帐号),主键为供应商号; 职工(职工号,姓名,年龄,职称,仓库号,仓库主任),主键为职工号,外键为仓库号,参照仓库; 库存(仓库号,零件号,库存量),主键为(仓库号,零件号),其中,外键仓库号参照仓库,外键零件号参照零件; 供应(供应商号,零件号,供货日期,数量),主键为(供应商号,零件号,供货日期);外键供应商号参照供应商,外键零件号参照零件。【例 8】设某商业集团数据库有三个实体集。一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工
5、编号、姓名、性别、业绩等。商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可存放在多个商店销售,每个商店销售的每一种商品用月销售量描述;商店与职工之间存在“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。请根据上述描述,解答下列问题:(1)画出该系统的 E-R 模型(要求注明属性、联系的类型)(2)将该模型转化为关系模型,注明主键和外键。答案:(1)E-R 图如下:销售 工作商品商品名规格 单价商品号聘期月薪职工商店职工编号 姓名 性别 业绩商店地址商店编号 商店名月份月销售量mnn1转化的关系模型为: 商店(商店编号,商店名,地址),主键
6、为商店编号; 商品(商品号,商品名,规格,单价),主键为商品号; 职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪),主键为职工编号,外键为商店编号,参照商店; 销售(商店号,商品号,月份,月销售量),主键为(商店号,商品号,月份),外键为商店号,参照商店;商品号参照商品。【例 9】假设有“教师” 、 “学生” 、 “课程”三个实体。一门课程只能有一个教师任课,一个教师可以上多门课程;一个学生可以选修多门课程,一门课程可以由多个学生来选修。已知教师的属性有:工号、姓名、职称,课程的属性有课程号、课程名、学时数,学生的属性有学号、姓名、性别、年龄。(1)根据上述描述,画出 E-R 图(2)
7、将 E-R 图转化为关系模型答案:(1)E-R 图如下:选修 讲授学生姓名 性别 年龄学号教师工号 姓名 职称课程学时数课程号 课程名成绩mnn1(2)转化的关系模型为: 教师(工号,姓名,职称),主键为工号; 学生(学号,姓名,性别,年龄),主键为学号; 课程(课程号,课程名,学时数,教师编号),主键为课程号; 成绩(学号,课程号,成绩),主键为(学号,课程号),其中,外键学号参照表学生,外键教师编号参照表教师(工号) 。【例 10】在学生运动会管理系统中,假定一个班级有多名运动员,每个运动员可参加多项比赛,每个项目可有多名运动员参加。要求公布比赛成绩和名次。假定各实体属性为:班级:班号,班
8、级名,专业,人数运动员:运动员号,姓名,性别,年龄项目:项目号,项目名称,比赛地点(1)设计 E-R 模型(2)转化为关系模型答案:(1)E-R 图如下:运动员成绩运动员号姓名 性别 年龄专业班号项目项目号项目名称 比赛地点mn班级属于班级名人数n1成绩名次(2)转化的关系模型为: 班级(班号,班级名,专业,人数),主键为班号; 运动员(运动员号,姓名,性别,年龄,班号),主键为运动员号,外键为班号参照班级; 项目(项目号,项目名称,比赛地点),主键为项目号; 成绩(运动员号,项目号,成绩,名次),主键为(运动员号,项目号),外键运动员号,参照运动员,外键项目号,参照项目。销售 工作商品商品名规格 单价商品号顾客商店职工编号 姓名 性别 业绩商店地址商店编号 商店名月份月销售量mnn1