一、实验目的及要求
①了解E-R图构成要素及各要素图元。
②掌握E-R图的绘制方法。
③掌握概念模型向逻辑模型的转换原则和步骤。
二、验证性实验
1.实验内容
1)某同学需要设计开发班级信息管理系统,希望能够管理班级与学生信息的数据库,其中学生信息包括学号,姓名,年龄,性别,班号;班级信息包括班号、年级号、班级人数。
①确定班级实体和学生实体的属性。
学生:学号,姓名,年龄,性别,班号
班级:班号、班主任、班级人数
②确定班级和学生之间的联系,给联系命名并指出联系的类型。
一个学生只能属于一个班级,一个班级可以有很多学生,所以和学生间是1对多关系,即1∶ n
③确定联系本身的属性。
属于
④画出班级与学生关系的E-R图。
⑤将E-R图转换为关系模式,写出各关系模式并标明各自的码。
学生(学号,姓名,年龄,性别,班号),其码为:学号
班级(班号、班主任、班级人数),其码为:班号
2)请为电冰箱经销商设计一套存储生产厂商和产品信息的数据库,要求生产厂商的信息包括厂商名称、地址、电话;产品的信息包括品牌、型号、价格;生产厂商生产某产品的数量和日期。
要求:
①确定产品实体和生产厂商实体的属性。
生产厂商:厂商名称,地址,电话
产品:品牌,型号,价格
②确定产品和生产厂商之间的联系,为联系命名并指出联系的类型。
一个生产厂商可以生产多个产品,一个产品也可以有很多生产厂商生产,所以,产品和生产厂商间是多对多关系,即m∶n
③确定联系本身的属性。
生产
④画出产品与生产厂商关系的E-R图。
⑤将E-R图转换为关系模式,写出表的关系模式并标明各自的码。
生产厂商(厂商名称,地址,电话),其码为:厂商名称
产品(品牌,型号,价格),其码为:品牌,型号
生产(厂商名称,品牌,型号,数量,日期),其码为:厂商名称,品牌,型号
3)设计能够表示学校与校长信息的数据库,其中需要展示学校信息的学校编号,学校名,校长号,地址和校长的信息有校长号,姓名,出生日期。
①确定学校实体和校长实体的属性。
学校:学校编号,学校名,校长号,地址
校长:校长号,姓名,出生年月
②确定学校和校长之间的联系,给联系命名并指出联系的类型。
一个校长只能管理一个学校,一个学校只能有一个校长,所以,学校和校长是1对1的联系,即1∶1
③确定联系本身的属性。
管理
④画出学校与校长关系的E-R图。
⑤将E-R图转换为关系模式,写出表的关系模式并标明各自的码或外码。
学校( 学校编号 ,学校名, 校长号 ,地址),其码为: 学校编号 ,校长号为外码。
校长( 校长号 ,姓名,年龄),其码为: 校长号
4)设某汽车运输公司想开发车辆管理系统,其中,车队信息:车队号、车队名等;车辆信息有牌照号、厂家、出厂日期等;司机信息有司机编号、姓名、电话等。车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有“聘用开始时间”和“聘期”两个属性;车队与车辆之间存在“拥有”联系,每个车队可拥有若干车辆,但每辆车只能属于一个车队;司机与车辆之间存在着“使用”联系,司机使用车辆有“使用日期”和“千米数”两个属性,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。
①确定实体和实体的属性。
车队:车队号,车队名)
车辆:车牌照号,厂家,生产日期
司机:司机编号,姓名,电话,车队号
②确定实体之间的联系,给联系命名并指出联系的类型。
车队与车辆联系类型是1∶n,联系名称:拥有;车队与司机联系类型是1∶n,联系名称为聘用;车辆和司机联系类型为m∶n,联系名称为:使用。
③确定联系本身的属性。
联系“聘用”有“聘用开始时间”和“聘期”两个属性;联系“使用”有“使用日期”和“千米数”两个属性。
④画出E-R图。
⑤将E-R图转换为关系模式,写出表的关系模式并标明各自的码。
车队(车队号,车队名),其码为:车队号;
车辆(车牌照号,厂家,生产日期,车队号),其码为:车牌照号;
司机(司机编号,姓名,电话,车队号,聘用开始时间,聘期),其码为:司机编号;
使用(司机编号,车辆号,使用日期,千米数),其码为:司机编号,车辆号。
三、设计性实验
1.设计能够表示出顾客与商品关系的数据库,其中商品信息包括商品编号、商品名称、产地;顾客信息包括顾客号、地址、商品号。一个商品可以由多个顾客购买,一个顾客也可以购买多个商品,顾客购买商品时需要记下购买日期。
①确定顾客实体和商品实体的属性。
②确定顾客和商品之间的联系,为联系命名并指出联系的类型。
③确定联系本身的属性。
④画出顾客与商品关系的E-R图。
⑤将E-R图转换为关系模式,写出表的关系模式并标明各自的码。
2.某房产交易公司,需要存储房地产交易中客户、业务员和合同三者信息的数据库。其中,客户信息主要有客户编号、购房地址;业务员信息有员工号、姓名、年龄;合同信息有客户编号、员工号、合同有效时间。其中,一个业务员可接待多个客户,每个客户只签署一个合同。
①确定客户实体、业务员实体和合同实体的属性。
②确定客户、业务员和合同三者之间的联系,为联系命名并指出联系的类型。
③确定联系本身的属性。
④画出客户、业务员和合同三者关系的E-R图。
⑥将E-R图转换为关系模式,写出表的关系模式并标明各自的码。
四、观察与思考
如果有10个不同的实体集,它们之间存在12个不同的二元联系(二元联系是指两个实体集之间的联系),其中3个1∶1联系,4个1∶n联系,5个m∶n联系,那么根据E-R模型转换成关系模型的规则,这个E-R结构转换成的关系模式个数至少有多少个?