数据库设计综合练习题及答案
数据库设计综合练习题及答案

之阳早格格创做1、有一课程管造系统,犹如下特性:一个系可启设多门课程,但是一门课只正在一个系部启设,一个教死可选建多门课程,每门课可供若搞教死选建,一名西席只教一门课程,但是一门课程可有几名西席道授,每个系聘用多名西席,但是一个西席只可被一个系所聘用,央供那个课程管造系统能查到所有一个教死某门课程的结果,以及那个教死的那门课是哪个教授所教的.(1)请根据以上形貌,画造相映的E-R图,并曲交正在E-R图上证明真体名、属性、通联典型;(2)将E-R图变换成闭系模型,画出相映的数据库模型图,并证明主键战中键.(3)发会那些闭系模式中所包罗的函数依好,根据那些函数依好,发会相映的闭系模式达到了第几范式.对于那些闭系模式举止典型化.1、参照问案:2、设某汽车输送公司数据库中有三个真体集.一是“车队”真体集,属性有车队号、车队名等;二是“车辆”真体集,属性有牌照号、厂家、出厂日期等;三是“司机”真体集,属性有司机编号、姓名、电话等.车队取司机之间存留“聘用”通联,每个车队可聘用若搞司机,但是每个司机只可招聘于一个车队,车队聘用司机有“聘用启初时间”战“聘期”二个属性;车队取车辆之间存留“拥有”通联,每个车队可拥有若搞车辆,但是每辆车只可属于一个车队;司机取车辆之间存留着“使用”通联,司机使用车辆有“使用日期”战“公里数”二个属性,每个司机可使用多辆汽车,每辆汽车可被多个司机使用.(1)请根据以上形貌,画造相映的E-R图,并曲交正在E-R图上证明真体名、属性、通联典型;(2)将E-R图变换成闭系模型,画出相映的数据库模型图,并证明主键战中键.(3)发会那些闭系模式中所包罗的函数依好,根据那些函数依好,发会相映的闭系模式达到了第几范式.对于那些闭系模式举止典型化.2、参照问案:(1)E-R图安排如下:(2)变换成的闭系模型应具备4个闭系模式:车队(车队号,车队名)车辆(车牌照号,厂家,死产日期,车队号)司机(司机编号,姓名,电话,车队号,聘用启初时间,聘期)使用(司机编号,车辆号,使用日期,公里数)3、设某商业集团数据库中有三个真体集.一是“堆栈”真体集,属性有堆栈号、堆栈名战天面等;二是“商店”真体集,属性有商店号、商店名、天面等;三是“商品”真体集,属性有商品号、商品名、单价.堆栈取商品之间存留“库存”通联,每个堆栈可保存若搞种商品,每种商品保存正在若搞堆栈中,库存有个“库存量”、“存进日期”属性;商店取商品之间存留着“出卖”通联,每个商店可出卖若搞种商品,每种商品可正在若搞商店里出卖,每个商店出卖一种商品有月份战月出卖量二个属性;堆栈、商店、商品之间存留一个三元通联“供应”,反应了把某个堆栈中保存的商品供应到某个商店,此通联有月份战月供应量二个属性.(1)请根据以上形貌,画造相映的E-R图,并曲交正在E-R图上证明真体名、属性、通联典型;(2)将E-R图变换成闭系模型,画出相映的数据库模型图,并证明主键战中键.(3)发会那些闭系模式中所包罗的函数依好,根据那些函数依好,发会相映的闭系模式达到了第几范式.对于那些闭系模式举止典型化.3、参照问案(1)E-R图安排如下:(2)据变换准则, E-R图可变换成6个闭系模式:堆栈(堆栈号,堆栈名,天面)商品(商品号,商品名,单价)商店(商店号,商店名,天面)库存(堆栈号,商品号,日期,库存量)出卖(商店号,商品号,月份,月出卖量)供应(堆栈号,商店号,商品号,月份,月供应量)4.设有闭系模式R(员工名,名目名,人为,部分名,部分经理)如果确定每个员工可介进多个名目,各发一份人为;每个名目只属于一个部分管造,一个部分有多个名目;每个部分惟有一个经理.①试写出闭系模式R的函数依好战闭键码.②证明R没有是2NF模式的缘由,并把R发会成2NF模式集.③从而把R发会成3NF模式集,并证明缘由.4、参照问案⑴ R的基原函数依好有三个:(员工名,名目名)人为名目名部分名部分名部分经理名目名部分经理闭键码为(员工名,名目名).⑵根据⑴,R中存留下列二个函数依好:(员工名,名目名)名目名(部分名)(员工名,名目名)名目名(部分经理)那二个函数依好皆是局部依好,果此R没有是2NF模式.R应发会成二个模式:R1(名目名,部分名,部分经理)R2(员工名,名目名,人为)R1战R2皆是2NF模式.⑶R2已是3NF模式,果为非主属性“人为”已经真足依好主键“员工名,名目名”正在R1中,由于存留二个函数依好:名目名部分名部分名\名目名部分名部分经理即存留非主属性对于主键的传播依好,果此R1没有是3NF 模式.对于R1应发会成二个模式:R11(名目名,部分名),R12(部分名,部分经理).那二个模式皆是3NF模式.果此,R发会成3NF闭系模式集时,R={ R11,R12,R2 }.5、概括题假设某商业集团数据库中有一闭系模式R如下:R (商店编号,商品编号,出卖代价,部分代码,控造人)如果确定:(1) 每个商店的每种商品只正在一个部分出卖;(2) 每个商店的每个部分惟有一个控造人;(3) 每个商店的每种商品惟有一个出卖代价.试回问下列问题:(1) 根据上述确定,写出闭系模式R的函数依好;(2) 找出闭系模式R的候选码;(3) 试问闭系模式R最下已经达到第几范式?为什么?(4) 如果R没有属于3NF,请将R发会成3NF模式集.5、参照问案(1) 有三个函数依好:(商店编号,商品编号) →部分代码(商店编号,部分代码) →控造人(商店编号,商品编号) →出卖代价(2) R的候选码是 (商店编号,商品编号)果为:(商店编号,商品编号) →出卖代价(商店编号,商品编号) →部分代码(商店编号,部分代码) →控造人[(商店编号,商店编号,商品编号) →(商店编号,部分代码) →控造人(商店编号,商品编号) →(商店编号,部分代码) →控造人] (3) 果为R中存留着非主属性“控造人”对于候选码(商店编号、商品编号)的传播函数依好(上头黄字上一止),所以R 属于2NF,R没有属于3NF.(4) 将R发会成:R1 (商店编号,商品编号,出卖代价,部分代码)R2 (商店编号,部分代码,控造人)。
数据库设计综合练习题及答案

数据库设计综合练习题及答案1、有一课程管理系统,有如下特点:一个系可开设多门课程,但一门课只在一个系部开设,一个学生可选修多门课程,每门课可供若干学生选修,一名教师只教一门课程,但一门课程可有几名教师讲授,每个系聘用多名教师,但一个教师只能被一个系所聘用,要求这个课程管理系统能查到任何一个学生某门课程的成绩,以及这个学生的这门课是哪个老师所教的。
(1)请根据以上描述,绘制相应的e-r图,并直接在e-r图上注明实体名、属性、联系类型;(2)将E-R图转换为关系模型,绘制相应的数据库模型图,并解释主键和外键。
(3)分析了这些关系模式中包含的函数依赖关系。
根据这些函数依赖关系,分析了相应的关系模式,得出了相应的范式。
将这些关系模式标准化。
1.参考答案:1系部11聘用开设n课程n开设n教师2.假设一家汽车运输公司的数据库中有三个实体集。
首先是“车队”实体集,其属性包括车队编号、车队名称等;第二,“车辆”的实体集,其属性包括车牌号、制造商、制造日期等;第三个是“驱动”实体集。
属性包括司机号码、姓名、电话等。
车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于车队与车辆之间存在“拥有”联系,每个车队可拥有若干车辆,但每辆车只能属于一个车队;驾驶员和车辆之间存在“使用”关系。
司机在车队中使用带有“使用日期”和“公里”的车辆。
车队雇佣具有“雇佣开始时间”和“雇佣期”的司机;k1n选修mn选修n属于学生m属性,每个驾驶员可以使用多辆车,并且每辆车可以由多个驾驶员使用。
(1)请根据以上描述,绘制相应的e-r图,并直接在e-r图上注明实体名、属性、联系类型;(2)将E-R图转换为关系模型,绘制相应的数据库模型图,并解释主键和外键。
(3)分析了这些关系模式中包含的函数依赖关系。
根据这些函数依赖关系,分析了相应的关系模式,得出了相应的范式。
将这些关系模式标准化。
2、参考答案:(1) E-R图的设计如下:车队号车队名1车队聘用开始时间1聘期拥有n车辆m使用聘用nn司机牌照号厂家出厂日期司机编号姓名电话使用日期从公里数(2)转换的关系模型应具有四种关系模式:车队(车队号,车队名)车辆(车牌号、制造商、生产日期、车队号)司机(司机编号,姓名,电话,车队号,聘用开始时间,聘期)使用(司机编号,车辆号,使用日期,公里数)3.假设一个企业集团的数据库中有三个实体集。
数据库设计基础习题及答案

数据库设计基础习题及答案1.在数据库中,数据模型包括数据结构、数据操作和()。
AA)数据约束B)数据类型C)关系运算D)查询3.有两个关系R和T如下:则由关系R得到关系T的操作是()。
AA)投影B)交C)选择D)并5.若实体A和B是一对一的联系,实体B和C是多对一的联系,则实体A和C的联系是()。
AA)多对一B)一对多C)一对一D)多对多6.有三个关系R、S和T如下:则由关系R和S得到关系T的操作是()。
AA)自然连接7.当数据库中数据总体逻辑结构发生变化,而应用程序不受影响,称为数据的()。
A A)逻辑独立性B)物理独立性C)应用独立性D)以上都不对9.有三个关系R、S和T如下:则由关系R和S得到关系T的操作是()。
AA)并B)投影C)交D)选择11.运动会中一个运动项目可以有多名运动员参加,一个运动员可以参加多个项目。
则实体项目和运动员之间的联系是()。
AA)多对多B)一对多C)多对一D)一对一12.有三个关系R、S和T如下:则由关系R和S得到关系T的操作是()。
BA)选择13.下面对软件测试描述错误的是()。
BA)严格执行测试计划,排除测试的随意性B)随机地选取测试数据C)软件测试的目的是发现错误D)软件测试是保证软件质量的重要手段15.某个工厂有若干个仓库,每个仓库存放有不同的零件,相同零件可能放在不同的仓库中。
则实体仓库和零件间的联系是()。
AA)多对多B)一对多C)多对一D)一对一16.有三个关系R、S和T如下:则由关系R和S得到关系T的操作是()。
AA)交17.设数据集合为D={ 1,3,5,7,9 },D上的关系为R,下列数据结构B=(D,R)中为非线性结构的是()。
DA)R={ (5,1), (7,9), (1,7), (9,3) }B)R={ (9,7), (1,3), (7,1), (3,5) }C)R={ (1,9), (9,7), (7,5), (5,3) }D)R={ (1,3), (3,5), (5,9) }19.大学下面有若干学院,每个学院有一名院长(不可兼任),则实体学院和院长的联系是()。
数据库设计习题参考答案

第6章数据库设计习题参考答案1.数据库的设计过程。
(P205页)答:按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段需求分析.概念结构设计.逻辑结构设计.物理结构设计.数据库实施.数据库运行和维护.2.试述数据库设计过程的各个阶段上的设计描述.(P207页)答: A.需求分析阶段进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。
需求分析是整个设计过程的基础,是最困难、最费时的一步。
作为地基的需求分析是否做得充分与准确,决定了在其上构建数据库的速度与质量。
需求分析做得不好,甚至会导致整个数据库设计返工重做。
B.概念结构设计阶段概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
C.逻辑结构设计阶段逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
D. 数据库物理设计阶段数据库物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
E.数据库实施阶段在数据库实施阶段,设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
F.数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行。
在数据库系统运行过程中必须不断地对其进行评价、调整与修改。
4.试述数据库设计的特点。
(P204页)答: A、数据库建设是硬件、软件和干件的结合。
B、数据库设计应该和应用系统设计相结合。
5.需求分析阶段的设计目标是什么(补充)?调查的内容是什么? (210页)答: 需求分析阶段的设计目标是对系统的整个应用情况作全面的、详细的调查,确定企业组织的目标,收集支持系统总的设计的基础数据和对这些数据的要求,确定用户的需求,并把这些要求写成用户和数据库设计者都能接受的文档。
调查的内容是(1)调查组织机构情况。
数据库程序设计练习题参考答案

数据库程序设计练习题参考答案第1章Web应用程序设计与开发概述一、选择题1.C2.C3.C二、填空题1.IIS2.超文本标记语言3.文件头4.文件体三、简答题1.答:(1)准备Web服务器。
(2)安装操作系统。
(3)安装Web服务器应用程序。
(4)安装和配置脚本语言编辑工具。
(5)安装和配置后台数据库系统。
(6)设计数据库结构,创建数据库对象。
(7)设计Web应用程序,编写脚本语言代码。
(8)测试Web应用程序,通过测试后上线运行。
2.答:参照图1.2。
3.答:参照1.3.5小节。
第2章应用及开发环境配置一、选择题1.B2.A3.C4.B5.D二、填空题1.InternetInformationServer2.Default.htm3.Default.ap4.inde某.htm5.iitart.htm6.本地链接7.远程链接8..ap某三、操作题(略)第3章C#程序设计基础一、选择题1.C2.D3.C4.A5.A6.C7.B8.C二、填空题1.公共语言运行库2..NETFramework类库3.Sytem4.值类型5.引用类型6.类7.数组8.接口9.委托10.object11.tring12.do…while13.while14.for15.foreach 16.Sytem.E某ception三、问答题1.答:C#语言具有如下主要特点:(1)语法简洁与C++语言相比,C#的更加简单,更易于学习和掌握。
例如,在C#语言中,没有C++中经常用到的指针,用户也不允许直接进行内存操作。
在C++语言中,分别使用::、.和->来表示名字空间、成员和引用,对于新手而言,这些操作符的使用是比较复杂的事情。
这些在C#语言中都被“.”所替代,现在只需要把它作为名字嵌套而已。
这里只是举了两个简单的例子,其他语法方面的简化需要读者在学习过程中去体会。
(2)更完善的面向对象程序设计机制C#语言具有面向对象程序设计思想的一切机制,包括封装、继承与多态等。
数据库综合练习题及答案

练习题及答案第一部分:选择题一、单项选择题1.DBS是采用了数据库技术的计算机系统。
DBS是一个集合体,包含数据库、计算机硬件、软件和A.系统分析员B.程序员C.数据库管理员D.操作员2.模型是对现实世界的抽象,在数据库技术中,用模型的概念描述数据库的结构与语义,对现实世界进行抽象。
表示实体类型及实体间联系的模型称为A.数据模型B.实体模型C.逻辑模型D.物理模型3.关系模型概念中,不含有多余属性的超键称为A.候选键B.对键C.内键D.主键4.设R、S为两个关系,R的元数为4,S的元数为5,则与RS等价的操作是A.σ3<6(R×S) B.σ3<2(R×S) C.σ3>6(R×S) D.σ7<2(R×S)5.分布式数据库存储概念中,数据分配是指数据在计算机网络各场地上的分配策略,一般有四种,分别是集中式、分割式、全复制式和A. 任意方式B.混合式C.间隔方式D.主题方式6.数据库系统中,类是指具有相同的消息,使用相同的方法,具有相同的变量名和A. 变量值B. 特征C. 定义D. 类型7.随着计算机应用领域的扩大,第一代、第二代DBS不能适应处理大量的A.格式化数据B.网络数据C.非格式数据D.海量数据9.数据库并发控制概念中,使用X封锁的规则称为A.PS协议B.PX协议C.PSC协议D.两段封锁协议10.在数据库操作过程中事务处理是一个操作序列,必须具有以下性质:原子性、一致性、隔离性和A.共享性B.继承性C.持久性D.封装性11.面向对像模型概念中,类可以有嵌套结构。
系统中所有的类组成一个有根的A.有向无环图B.有向有环图C.无向有环图D.无向无环图12.在教学管理系统中,有教师关系T(T#,NAME),学生关系S(S#,NAME),学生成绩关系S(S#,NU)。
其中T#表示教师工号,S#表示学生学号,则T和N存在联系为A. 1:1B. 1:NC. M:ND. 无联系13.一个数据库一般不是由独立的对象组成的,对象的聚集形式的数学意义是A. 笛卡尔积B. 选择C. 投影D. 联接14.对象标识是指针一级的概念是一个强有力的数据操纵原语言,是集合、元组和递归等复合对象操纵的基础,标识是A.任意的B. 可以改变的C.不唯一的D.不能改变的15.数据库系统中除了可用层次模型和关系模型表示实体类型及实体间联系的数据模型以外,还有A. E-R 模型B. 信息模型C.网络模型D.物理模型第二部分:非选择题二、填空题16. 数据库系统中,存放___________ 的数据库,称为数据字典(DD)。
数据库 第6章 数据库设计客观题及答案

数据库第6章数据库设计客观题及答案一、选择题1、在数据库设计中,用 ER 图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的()。
A 需求分析阶段B 概念设计阶段C 逻辑设计阶段D 物理设计阶段答案:B解释:概念设计阶段通常使用 ER 图来描述信息结构,主要是对现实世界中的事物及其关系进行抽象和建模,不考虑具体的计算机实现。
2、数据库物理设计完成后,进入数据库实施阶段,下列各项中不属于实施阶段的工作是()。
A 建立库结构B 扩充功能C 加载数据D 系统调试解释:扩充功能一般不属于数据库实施阶段的工作,实施阶段主要是按照物理设计的结果建立数据库的实际结构、加载数据并进行调试。
3、在数据库设计中,将 ER 图转换成关系数据模型的过程属于()。
A 需求分析阶段B 概念设计阶段C 逻辑设计阶段D 物理设计阶段答案:C解释:逻辑设计阶段的主要任务就是将概念模型(如 ER 图)转换为具体的关系数据模型。
4、规范化理论是关系数据库进行逻辑设计的理论依据。
根据这个理论,关系数据库中的关系必须满足:其每一属性都是()。
A 互不相关的B 不可分解的C 长度可变的D 互相关联的解释:规范化理论要求关系数据库中的关系每一属性都是不可分解的,以避免数据冗余和操作异常。
5、从 ER 模型关系向关系模型转换时,一个 M:N 联系转换为关系模式时,该关系模式的关键字是()。
A M 端实体的关键字B N 端实体的关键字C M 端实体关键字与 N 端实体关键字组合D 重新选取其他属性答案:C解释:在 M:N 的联系中,转换后的关系模式关键字应为两端实体关键字的组合,这样才能唯一标识一个联系。
6、设有关系模式 R(A,B,C,D),其函数依赖集 F ={A→B,B→C,C→D,D→A},则 R 的候选关键字为()。
A ABB BCC CDD 不存在答案:D解释:由于该函数依赖集中存在循环依赖,所以不存在候选关键字。
7、关系数据库规范化是为解决关系数据库中()问题而引入的。
数据库设计习题及答案

1.如何构造出一个合适的数据逻辑结构是()主要解决的问题。
A.物理结构设计B.数据字典C.逻辑结构设计D.关系数据库查询2.概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的()。
A.数据模型B.概念模型C.层次模型D.关系模型3.数据库设计中,确定数据库存储结构,即确定关系、索引、聚簇、日志、备份等数据的存储安排和存储结构,这是数据库设计的()。
A. 需求分析阶段B. 逻辑设计阶段C. 概念设计阶段D. 物理设计阶段4.数据库物理设计完成后,进入数据库实施阶段,下述工作中,()一般不属于实施阶段的工作。
A.建立库结构B.系统调试C.加载数据D.扩充功能5.数据库设计可划分为六个阶段,每个阶段都有自己的设计内容,“为哪些关系在哪些属性上建什么样的索引”这一设计内容应该属于()设计阶段。
A.概念设计B.逻辑设计C.物理设计D.全局设计6.在关系数据库设计中,设计关系模式是数据库设计中()阶段的任务。
A.逻辑设计阶段B.概念设计阶段C.物理设计阶段D.需求分析阶段7.在关系数据库设计中,对关系进行规范化处理,使关系达到一定的范式,例如达到3NF,这是()阶段的任务。
A.需求分析阶段B.概念设计阶段C.物理设计阶段D.逻辑设计阶段8.概念模型是现实世界的第一层抽象,这一类最著名的模型是()。
A.层次模型B.关系模型C.网状模型D.实体-联系模型9.在概念模型中的客观存在并可相互区别的事物称()。
A.实体B.元组C.属性D.节点10.公司有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是()。
A.多对多B.一对一C.一对多D. 多对一11.关系数据库中,实现实体之间的联系是通过关系与关系之间的()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、有一课程管理系统,有如下特点:一个系可开设多门课程,但一门课只在一个系部开设,一个学生可选修多门课程,每门课可供若干学生选修,一名教师只教一门课程,但一门课程可有几名教师讲授,每个系聘用多名教师,但一个教师只能被一个系所聘用,要求这个课程管理系统能查到任何一个学生某门课程的成绩,以及这个学生的这门课是哪个老师所教的。
(1)请根据以上描述,绘制相应的E-R图,并直接在E-R图上注明实体名、属性、联系类型;
(2)将E-R图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。
(3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式达到了第几范式。
对这些关系模式进行规范化。
1、参考答案:
2、设某汽车运输公司数据库中有三个实体集。
一是“车队”实体集,属性有车队号、车队名等;二是“车辆”实体集,属性有牌照号、厂家、出厂日期等;三是“司机”实体集,属性有司机编号、姓名、电话等。
车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有“聘用开始时间”和“聘期”两个属性;
车队与车辆之间存在“拥有”联系,每个车队可拥有若干车辆,但每辆车只能属于一个车队;
司机与车辆之间存在着“使用”联系,司机使用车辆有“使用日期”和“公里数”两个属性,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。
(1)请根据以上描述,绘制相应的E-R图,并直接在E-R图上注明实体名、属性、联系类型;
(2)将E-R图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。
(3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式达到了第几范式。
对这些关系模式进行规范化。
2、参考答案:
(1)E-R图设计如下:
(2)转换成的关系模型应具有4个关系模式:
车队(车队号,车队名)
车辆(车牌照号,厂家,生产日期,车队号)
司机(司机编号,姓名,电话,车队号,聘用开始时间,聘期)使用(司机编号,车辆号,使用日期,公里数)
3、设某商业集团数据库中有三个实体集。
一是“仓库”实体集,属性有仓库号、仓库名和地址等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“商品”实体集,属性有商品号、商品名、单价。
仓库与商品之间存在“库存”联系,每个仓库可存储若干种商品,每种商品存储在若干仓库中,库存有个“库存量”、“存入日期”属性;
商店与商品之间存在着“销售”联系,每个商店可销售若干种商品,每种商品可在若干商店里销售,每个商店销售一种商品有月份和月销售量两个属性;
仓库、商店、商品之间存在一个三元联系“供应”,反应了把某个仓库中存储的商品供应到某个商店,此联系有月份和月供应量两个属性。
(1)请根据以上描述,绘制相应的E-R图,并直接在E-R图上注明实体名、属性、联系类型;
(2)将E-R图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。
(3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式达到了第几范式。
对这些关系模式进行规范化。
3、参考答案
(1)E-R图设计如下:
(2)据转换规则, E-R图可转换成6个关系模式:仓库(仓库号,仓库名,地址)
商品(商品号,商品名,单价)
商店(商店号,商店名,地址)
库存(仓库号,商品号,日期,库存量)
销售(商店号,商品号,月份,月销售量)
供应(仓库号,商店号,商品号,月份,月供应量)
4.设有关系模式
R(职工名,项目名,工资,部门名,部门经理)
如果规定每个职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理,一个部门有多个项目;每个部门只有一个经理。
①试写出关系模式R的函数依赖和关键码。
②说明R不是2NF模式的理由,并把R分解成2NF模式集。
③进而把R分解成3NF模式集,并说明理由。
4、参考答案
⑴ R的基本函数依赖有三个:
(职工名,项目名)工资
项目名部门名
部门名部门经理
项目名部门经理
关键码为(职工名,项目名)。
⑵根据⑴,R中存在下列两个函数依赖:
(职工名,项目名)项目名(部门名)
(职工名,项目名)项目名(部门经理)这两个函数依赖都是局部依赖,因此R不是2NF模式。
R应分解成两个模式:R1(项目名,部门名,部门经理)
R2(职工名,项目名,工资)
R1和R2都是2NF模式。
⑶ R2已是3NF模式,因为非主属性“工资”已经完全依赖主键“职工名,项目名”
在R1中,由于存在两个函数依赖:
项目名部门名部门名\项目名
部门名部门经理
即存在非主属性对主键的传递依赖,因此R1不是3NF模式。
对R1应分解成两个模式:R11(项目名,部门名),R12(部门名,部门经理)。
这两个模式都是3NF模式。
因此,R分解成3NF关系模式集时,R={ R11,R12,R2 }。
5、综合题
假设某商业集团数据库中有一关系模式R如下:R (商店编号,商品编号,销售价格,部门代码,负责人)
如果规定:(1) 每个商店的每种商品只在一个部门销售;
(2) 每个商店的每个部门只有一个负责人;
(3) 每个商店的每种商品只有一个销售价格。
试回答下列问题:
(1) 根据上述规定,写出关系模式R的函数依赖;
(2) 找出关系模式R的候选码;
(3) 试问关系模式R最高已经达到第几范式为什么
(4) 如果R不属于3NF,请将R分解成3NF模式集。
5、参考答案
(1) 有三个函数依赖:
(商店编号,商品编号) →部门代码
(商店编号,部门代码) →负责人
(商店编号,商品编号) →销售价格
(2) R的候选码是 (商店编号,商品编号)
因为:
(商店编号,商品编号) →销售价格
(商店编号,商品编号) →部门代码
(商店编号,部门代码) →负责人
[(商店编号,商店编号,商品编号) →(商店编号,部门代码) →负责人
(商店编号,商品编号) →(商店编号,部门代码) →负责人]
(3) 因为R中存在着非主属性“负责人”对候选码 (商店编号、商品编号)的传递函数依赖(上面黄字上一行),所以R属于2NF,R不属于3NF。
(4) 将R分解成:
R1 (商店编号,商品编号,销售价格,部门代码)
R2 (商店编号,部门代码,负责人)。