资源描述:
《ER图举例子.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ER图举例ER图举例现有论文和作者两个实体,论文实体的属性包括题目、期刊名称、年份、期刊号;作者实体的属性包括姓名、单位、地址;一篇论文可以有多个作者,且每一位作者写过多篇论文,在每一篇论文中有作者的顺序号。请完成以下操作:(1)画出E-R图(2)将E-R图转换成关系模式,并指出每个关系模式的主键(加下划线)和外键(加波浪线)。1ER图举例1ER图举例1CREATETABLE发表(姓名CHAR(7)NOTNULL,题目CHAR(6)NOTNULL,顺序号INTDEFAULTNULL,PRIMARYKEY(姓名,题目),FOREIGNKEY(姓名)REFERENCES论文ONDEL
2、ETECASCADE,FOREIGNKEY(题目)REFERENCES作者ONDELETERESTRICT);ER图举例某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品,计划数量不低于300;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名、技术等级。请:(1)该集团进行概念设计,画出E-R图。(2)E-R图转换成关系模式,并指出每个关系模式的主键和外键。2ER图举例2ER图举例2CREATETA
3、BLE生产(工厂编号CHAR(7)NOTNULL,产品号CHAR(6)NOTNULL,数量DEC(5,2),PRIMARYKEY(工厂编号,产品号),FOREIGNKEY(工厂编号)REFERENCES工厂ONDELETECASCADE,FOREIGNKEY(产品号)REFERENCES产品ONDELETERESTRICT,CHECK(数量>=300));ER图举例设某汽车运输公司数据库中有三个实体集。一是“车队”实体集,属性有车队号、车队名等;二是“车辆”实体集,属性有车牌照号、厂家、出厂日期等;三是“司机”实体集,属性有司机编号、姓名、电话等。设车队与司机之间存在“聘用”联系
4、,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有聘期;司机与车辆之间存在着“使用”联系,司机使用车辆有使用日期和公里数,每个司机可以使用多辆汽车,每辆车可被多个司机使用。要求:(1)试画出ER图,并在图上注明属性、联系类型;(2)将ER图转换成关系模式,并说明主键和外键。3ER图举例3ER图举例3关系模式:1)车队(车队号、车队名)主键:车队号2)车辆(车牌照号、厂家、出厂日期)主键:车牌照号3)司机(司机编号、姓名、电话,聘期,车队号)主键:司机编号,外键:车队号4)使用(司机编号,车牌照号,使用日期,公里数)主键:(司机编号,车牌照号,使用日期);外键1
5、:司机编号,外键2:车牌照号ER图举例在校田径运动会中设置了各类比赛,每一比赛类别有类别编号、类别名称和主管等属性,每一比赛类别包含很多比赛项目;每一比赛项目有项目编号、项目名称、比赛时间和级别等属性;各个系团队有团编号、团名称、领队等属性,每一代表团有多名运动员组成,运动员有编号,姓名,年龄,性别等属性;每一名运动员可以参加多个比赛项目,每一比赛项目也有多名运动员参加,运动员参加比赛有成绩属性,成绩限定在0~7分。1)根据上述语义画出ER图,2)将ER图转换成关系模式,并指出每个关系模式的主键和外键。3)用DDL语句定义反映运动员与比赛项目之间的“参与”关系表。4课堂联系ER图
6、举例4ER图举例4关系模式:1)比赛类别(类别编号,类别名称,主管)2)比赛项目(项目编号,项目名称、比赛时间,级别,类别编号)3)系团队(团编号,团名称,领队)4)运动员(运动员编号,姓名,年龄,性别,团编号)5)参加(项目编号,运动员编号,成绩)ER图举例4CREATETABLE参加(项目编号CHAR(7)NOTNULL,运动员编号CHAR(6)NOTNULL,成绩INT,PRIMARYKEY(项目编号,运动员编号),FOREIGNKEY(项目编号)REFERENCES比赛项目(项目编号)ONDELETERESTRICT,FOREIGNKEY(运动员编号)REFERENCES
7、运动员(运动员编号)ONDELETERESTRICT,CHECK(成绩BETWEEN0AND7));ER图举例