《数据库设计综合练习题及答案.pdf》由会员分享,可在线阅读,更多相关《数据库设计综合练习题及答案.pdf(5页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、1、有一课程管理系统,有如下特点:一个系可开设多门课程,但一门课只在一个系部开设,一个学生可选修多门课程,每门课可供若干学生选修,一名教师只教一门课程,但一门课程可有几名教师讲授,每个系聘用多名教师,但一个教师只能被一个系所聘用,要求这个课程管理系统能查到任何一个学生某门课程的成绩,以及这个学生的这门课是哪个老师所教的。(1)请根据以上描述,绘制相应的 E-R 图,并直接在 E-R 图上注明实体名、属性、联系类型;(2)将 E-R 图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。(3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式达到了第几范式。对这些关系
2、模式进行规范化。1、参考答案:1系部11聘用开设n课程n开设n教师2、设某汽车运输公司数据库中有三个实体集。一是“车队”实体集,属性有车队号、车队名等;二是“车辆”实体集,属性有牌照号、厂家、出厂日期等;三是“司机”实体集,属性有司机编号、姓名、电话等。车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于车队与车辆之间存在“拥有”联系,每个车队可拥有若干车辆,但每辆车只能属于一个车队;司机与车辆之间存在着“使用”联系,司机使用车辆有“使用日期”和“公里数”两个一个车队,车队聘用司机有“聘用开始时间”和“聘期”两个属性;k1n选修mn选修n属于学生m属性,每个司机可使用多
3、辆汽车,每辆汽车可被多个司机使用。(1)请根据以上描述,绘制相应的 E-R 图,并直接在 E-R 图上注明实体名、属性、联系类型;(2)将 E-R 图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。(3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式达到了第几范式。对这些关系模式进行规范化。2、参考答案:(1)E-R图设计如下:车队号车队名1车队聘用开始时间1聘期拥有聘用N车辆M使用NN司机牌照号厂家出厂日期司机编号姓名电话使用日期公里数(2)转换成的关系模型应具有 4 个关系模式:车队(车队号,车队名)车辆(车牌照号,厂家,生产日期,车队号)司机(司机编号
4、,姓名,电话,车队号,聘用开始时间,聘期)使用(司机编号,车辆号,使用日期,公里数)3、设某商业集团数据库中有三个实体集。一是“仓库”实体集,属性有仓库号、仓库名和地址等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“商品”实体集,属欢迎下载2性有商品号、商品名、单价。仓库与商品之间存在“库存”联系,每个仓库可存储若干种商品,每种商品存储在若干仓库中,库存有个“库存量”、“存入日期”属性;商店与商品之间存在着“销售”联系,每个商店可销售若干种商品,每种商品可在若干商店里销售,每个商店销售一种商品有月份和月销售量两个属性;仓库、商店、商品之间存在一个三元联系“供应”,反应了把某个仓库中
5、存储的商品供应到某个商店,此联系有月份和月供应量两个属性。(1)请根据以上描述,绘制相应的 E-R 图,并直接在 E-R 图上注明实体名、属性、联系类型;(2)将 E-R 图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。(3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式达到了第几范式。对这些关系模式进行规范化。3、参考答案(1)E-R 图设计如下:仓库号仓库名地址M存入日期仓库M供应月份月供应量库存库存量N商品NM单价销售P商店N商店号商店名地址商品号商品名月份月销售量(2)据转换规则,E-R 图可转换成 6 个关系模式:仓库(仓库号,仓库名,地址)商品
6、(商品号,商品名,单价)商店(商店号,商店名,地址)库存(仓库号,商品号,日期,库存量)销售(商店号,商品号,月份,月销售量)供应(仓库号,商店号,商品号,月份,月供应量)欢迎下载34设有关系模式R(职工名,项目名,工资,部门名,部门经理)如果规定每个职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理,一个部门有多个项目;每个部门只有一个经理。试写出关系模式 R 的函数依赖和关键码。说明 R 不是 2NF 模式的理由,并把 R 分解成 2NF 模式集。进而把 R 分解成 3NF 模式集,并说明理由。4、参考答案 R 的基本函数依赖有三个:(职工名,项目名)工资项目名部门名部门名部门经
7、理项目名部门经理关键码为(职工名,项目名)。根据,R 中存在下列两个函数依赖:(职工名,项目名)项目名(部门名)(职工名,项目名)项目名(部门经理)这两个函数依赖都是局部依赖,因此R 不是 2NF 模式。R 应分解成两个模式:R1(项目名,部门名,部门经理)R2(职工名,项目名,工资)R1 和 R2 都是 2NF 模式。R2 已是 3NF 模式,因为非主属性“工资”已经完全依赖主键“职工名,项目名”在 R1 中,由于存在两个函数依赖:项目名部门名部门名项目名部门名部门经理即存在非主属性对主键的传递依赖,因此R1 不是 3NF 模式。对 R1 应分解成两个模式:R11(项目名,部门名),R12(
8、部门名,部门经理)。这两个模式都是 3NF 模式。因此,R 分解成 3NF 关系模式集时,R=R11,R12,R2。欢迎下载45、综合题假设某商业集团数据库中有一关系模式R 如下:R(商店编号,商品编号,销售价格,部门代码,负责人)如果规定:(1)每个商店的每种商品只在一个部门销售;(2)每个商店的每个部门只有一个负责人;(3)每个商店的每种商品只有一个销售价格。试回答下列问题:(1)根据上述规定,写出关系模式R 的函数依赖;(2)找出关系模式 R 的候选码;(3)试问关系模式 R 最高已经达到第几范式?为什么?(4)如果 R 不属于 3NF,请将 R 分解成 3NF 模式集。5、参考答案(1
9、)有三个函数依赖:(商店编号,商品编号)部门代码(商店编号,部门代码)负责人(商店编号,商品编号)销售价格(2)R 的候选码是(商店编号,商品编号)因为:(商店编号,商品编号)销售价格(商店编号,商品编号)部门代码(商店编号,部门代码)负责人(商店编号,商店编号,商品编号)(商店编号,部门代码)负责人(商店编号,商品编号)(商店编号,部门代码)负责人(3)因为 R 中存在着非主属性“负责人”对候选码(商店编号、商品编号)的传递函数依赖(上面黄字上一行),所以 R 属于 2NF,R 不属于 3NF。(4)将 R 分解成:R1(商店编号,商品编号,销售价格,部门代码)R2(商店编号,部门代码,负责人)欢迎下载5