第6章关系数据库理论2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。学生:学号、姓名、出生年月、系名、班号、宿舍区。班级:班号、专业名、系名、人数、入校年份。系:系名、系号、系办公地点、人数。学会:学会名、成立年份、办公地点、人数。语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系模式的候选码、外部码,有没有全码存在?解:(1)关系模式如下:学生:S(Sno,Sname,Sbirth,Dept,Class,Rno)班级:C(Class,Pname,Dept,Cnum,Cyear)系:D(Dept,Dno,Office,Dnum)学会:M(Mname,Myear,Maddr,Mnum)(2)每个关系模式的最小函数依赖集如下:A、学生S(Sno,Sname,Sbirth,Dept,Class,Rno)的最小函数依赖集如下:SnoSname,SnoSbirth,SnoClass,ClassDept,DEPTRno传递依赖如下:由于SnoDept,而DeptSno,DeptRno(宿舍区)所以Sno与Rno之间存在着传递函数依赖。由于ClassDept,DeptClass,DeptRno所以Class与Rno之间存在着传递函数依赖。由于SnoClass,ClassSno,ClassDept所以Sno与Dept之间存在着传递函数依赖。B、班级C(Class,Pname,Dept,Cnum,Cyear)的最小函数依赖集如下:ClassPname,ClassCnum,ClassCyear,PnameDept.由于ClassPname,PnameClass,PnameDept所以C1ass与Dept之间存在着传递函数依赖。C、系D(Dept,Dno,Office,Dnum)的最小函数依赖集如下:DeptDno,DnoDept,DnoOffice,DnoDnum根据上述函数依赖可知,Dept与Office,Dept与Dnum之间不存在传递依赖。D、学会M(Mname,Myear,Maddr,Mnum)的最小函数依赖集如下:MnameMyear,MnameMaddr,MnameMnum该模式不存在传递依赖。(3)各关系模式的候选码、外部码,全码如下:A、学生S候选码:Sno;外部码:Dept、Class;无全码B、班级C候选码:Class;外部码:Dept;无全码C、系D候选码:Dept或Dno;无外部码;无全码D、学会M候选码:Mname;无外部码;无全码第7章数据库设计2.试述数据库设计过程各个阶段上的设计描述。答:各阶段的设计要点如下:(l)需求分析:准确了解与分析用户需求(包括数据与处理)。(2)概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。(3)逻辑结构设计:将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。(4)数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。(5)数据库实施:设计人员运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。(6)数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。6.数据字典的内容和作用是什么?答:数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:(l)数据项;(2)数据结构;(3)数据流;(4)数据存储;(5)处理过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流和数据存储的逻辑内容。数据字典的作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完盖。7.什么是数据库的概念结构?试述其特点和设计策略。答:概念结构是信息世界的结构,即概念模型,其主要特点是:(l)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型;(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键;(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;(4)易于向关系、网状、层次等各种数据模型转换。概念结构的设计策略通常有四种:l)自顶向下,即首先定义全局概念结构的框架,然后逐步细化;2)自底向上,即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构;3)逐步扩张,首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构;4)混合策略,即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。11.什么是数据库的逻辑结构设计?试述其设计步骤。答:数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本E一R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。设计步骤为:(l)将概念结构转换为一般的关系、网状、层次模型;(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;(3)对数据模型进行优化。14.规范化理论对数据库设计有什么指导意义?答:规范化理论为数据库设计人员判断关系模式的优劣提供了理论标准,可用以指导关系数据模型的优化,用来预测模式可能出现的问题,为设计人员提供了自动产生各种模式的算法工具,使数据库设计工作有了严格的理论基础。15.试述数据库物理设计的内容和步骤。答:数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的DBMS。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构,就是数据库的物理设计的主要内容。数据库的物理设计步骤通常分为两步:(l)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间效率和空间效率。17.什么是数据库的再组织和重构造?为什么要进行数据库的再组织和重构造?答:数据库的再组织是指:按原设计要求重新安排存储位置、回收垃圾、减少指针链等,以提高系统性能。数据库的重构造则是指部分修改数据库的模式和内模式,即修改原设计的逻辑和物理结构。数据库的再组织是不修改数据库的模式和内模式的。进行数据库的再组织和重构造的原因:数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时DBA就要对数据库进行重组织。DBMS一般都提供用于数据重组织的实用程序。数据库应用环境常常发生变化,如增加新的应用或新的实体,取消了某些应用,有的实体与实体间的联系也发生了变化等,使原有的数据库设计不能满足新的需求,需要调整数据库的模式和内模式。这就要进行数据库重构造。18.现有一局部应用,包括两个实体:“出版社”和“作者”,这两个实体是多对多的联系,请读者自己设计适当的属性,画出E一R图,再将其转换为关系模型(包括关系名、属性名、码和完整性约束条件)。答:关系模型为:作者(作者号,姓名,年龄,性别,电话,地址)出版社(出版社号,名称,地址,联系电话)出版(作者号,出版社号,书的数量)出版关系的主码作者号,出版社号分别参照作者关系的主码作者号和出版社关系的主码出版社号。19.请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:读者号,姓名,地址,性别,年龄,单位。对每本书存有:书号,书名,作者,出版社。对每本被借出的书存有读者号、借出日期和应还日期。要求:给出E一R图,再将其转换为关系模型。答:E一R图为:关系模型为:读者(读者号,姓名,地址,性别书(书号,书名,作者,出版社)借书(读者号,书号,借出日期,年龄,单位)应还日期)