关系数据库与SQL语言课后作业
第2课 构造学生信息管理系统数据库
1. 给出下列术语的定义,并加以理解:
函数依赖、完全函数依赖、传递函数依赖、1NF、2NF、3NF。
答:
函数依赖:设R(U)是属性集U上的关系模式,X,Y是U的子集。如果对于R的所有关系r 都存在:对于X的每一个具体值,Y都只有一个具体值与之对应,则称属性Y函数依赖于属性X。或者说,属性X函数决定属性Y,记作X→Y。
完全函数依赖:在关系模式R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有 X’?? Y,则称Y完全函数依赖于X,记作XY。
传递函数依赖:在关系模式R(U)中,如果X→Y,Y→Z,且YX,Y?? X,则称Z传递函数依赖于X,记作XY。
1NF:每一个分量必须是不可分的数据项。满足了这个条件的关系模式就属于第一范式(1NF),记作关系R1NF。
2NF:若关系模式R满足第一范式,即R1NF,并且每个非主属性都完全函数依赖于R的码(即不存在部分函数依赖),则R满足第二范式,记为R2NF。
3NF:若关系模式R∈2NF,且它的每一个非主属性都不传递函数依赖于码,则R满足第三范式,记作R∈3NF。
2. 试述数据库设计方法和基本过程。
答:
数据库常用的设计方法有:
1)直观设计法(手工试凑法)
curious>www june9 info
2)规范设计法,常用的有如下:
hypocritical
①新奥尔良法
②基于E-R模型的数据库设计方法。
③基于3NF的数据库设计方法。
④基于视图的数据库设计方法
3)计算机辅助设计法
4)自动化设计法
数据库设计的一般过程:
需求分析→概念结构设计→逻辑结构设计→物理结构设计→数据库实施→数据库运行和维护。
3. 什么是E-R图?构成E-R图的基本要素是什么?
答:
E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念
孟加拉语模型。
构成E-R图的基本要素是:
矩形。用来表示实体,矩形框内写上实体名。
椭圆。用来表示实体的属性,椭圆框内写上属性名,并用无向线把实体与属性连接起来。
lfishness菱形。用来表示实体与实体的联系,菱形框内写上联系名,用无向线把菱形与有关实体连接起来,并在无向线旁标注联系的类型。
无向线。用于实体与属性、实体与联系之间的连接。
4. 试述E-R图转换为关系模式的转换规则。
答:
将E-R图转换为关系模型实际上就是将实体、属性和联系转换成关系模式。在转换中要遵循以下原则:
1)实体的转换规则
将E-R图中的每一个常规实体转换为一个关系,实体的属性就是关系的属性,实体的码就是关系的码。
2)实体间联系的转换规则
①一个1:1可以转换为一个独立的关系模式,也可以与任意一端所对应的关系模式合并。如果转换为一个独立的关系模式,则与联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。
如果将联系与任意一端实体所对应的关系模式合并,则需要在被合并的关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体的码。
②一个1:n联系可以转换为一个独立的关系模式,也可以与n端所对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
如果与n端所对应的关系合并,则在n端实体中增加新属性,新属性由联系对应的1端实体的码和联系自身的属性构成,新增属性后原关系的码不变。
③一个m:n联系转换为一个关系模式。转换的方法为与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合。
5. 现有一个局部应用,包括两个实体:“出版社”和“作者”,这两个实体是多对多的联系,请设计适当的属性,画出E-R图,再将其转换为关系模式。
答:
E-R图如下:
关系模式:
出版社(名称,地址,电话,网址)
作者(证件号,名称,性别,年龄)
出版(出版社名称,作者证件号)
6. 请设计一个图书馆数据库,此数据库中对每个借阅者保存的记录包括:读者号,姓名,地址,性别,年龄,单位。对每本书保存有:书号,书名,作者,出版社。对每本被借出的书保存有读者号、借出日期和应还日期。要求:给出该图书馆数据库的E-R图,再将其转换为关系模式。
答:
关系模式:
读者(读者号,姓名,地址,性别,年龄,单位)
瑜伽健身球
图书(书号,书名,作者,出版社,读者号,借出日期,应还日期)
借阅(读者号,书号,借出日期,应还日期)
E-R图如下:
7. 图1是一个销售业务管理的E-R图,请把它转换成关系模式。
答:
工厂(厂名,厂长,地址)
产品(编号,型号,单价)
用户(姓名,地址,电话)
工厂-产品(厂名,编号)
工厂-用户(厂名,姓名)
产品-用户(编号,姓名)
8. 现在要建立关于系、学生、班级、学会诸信息的一个关系数据库。规定:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一个宿舍区,每个学生可参加若干学会,每个学会有若干学生。
描述学生的属性有:学号、姓名、出生日期、系号、班号、宿舍区;
描述班级的属性有:班号、专业名、系号、人数、入校年份;
描述系的属性有:系号、系名、系办地点、人数;
描述学会的属性有:学会名、成立年份、地点、人数、学生参加某会有一个入会年份。
① 请写出关系模式。
② 写出每个关系模式的函数依赖集,指出是否存在传递依赖。在函数依赖的决定因素是多属性的情况下,讨论函数依赖是完全依赖,还是部分函数依赖。
③ 指出各个关系模式的关键字。
答:
①关系模式
学生(学号,姓名,出生日期,系号,班号,宿舍区)
班级(班号,专业名,系号,人数,入校年份)
系(系号,系名,系办地点,人数)
学会(学会名,成立年份,地点,人数)
会员(学号,学会名,入会年份)。
②写出每个关系模式的函数依赖集,指出是否存在传递依赖。在函数依赖的决定因素是多属性的情况下,讨论函数依赖是完全依赖,还是部分函数依赖。
学生:
主键:学号;外键:班号,系号。
最小函数依赖集:学号→姓名,学号→出生日期,学号→班号,班号→系号,系号→宿舍区。
存在传递函数依赖:学号→系号(学号→班号,班号→系号),学号→宿舍区(班号→系号,系号→宿舍区)。
班级:
最小函数依赖集:班号→专业名,班号→系号,班号→人数,班号→入校年份
主键:班号;外键:系号。
存在传递函数依赖:班号→系号(班号→专业名,专业名→系号)
系:
最小函数依赖集:系号→系名,系号→系办地点,系号→人数
主键:系号;外键:无
不存在传递函数依赖。
学会:
最小函数依赖集:学会名→成立年份,学会名→地点,学会名→人数
主键:学会名;外键:无
不存在传递函数依赖。
会员:
最小函数依赖集:(学号,学会名)→入会年份
主键:(学号,学会名);外键:学号,学会名。
不存在传递函数依赖和部分函数依赖。
③ 指出各个关系模式的关键字
学生 主键:学号;外键:班号,系号。
班级 主键:班号;外键:系号。
系 主键:系号;外键:无。
学会 主键:学会名;外键:无
北京中小学暑假不会推迟会员 主键:(学号,学会名);外键:学号,学会名。
加拿大留学机构9. 设一个仓库管理系统的局部应用有如下三个实体:
仓库:仓库号、仓库名称、地点、面积
职工:职工号、职工姓名、性别、年龄
货物:货物号、货物名、价格
其中,仓库和职工是一对多的关系,仓库和货物是多对多的关系。画出该局部应用的E-R模型,并将其转换为关系模式。
kill them
答:
仓库和职工局部E-R图:
仓库和货物局部E-R图:
关系模式:
职工(职工号,仓库号,职工姓名,性别,年龄)
仓库(仓库号,仓库名称,地点,面积)
货物(货物号,货物名,价格)
66是什么意思
存储(仓库号,货物号)
10. 关系规范化的作用是什么?第一范式至第三范式,每种范式的特点是什么
答:
一个低一级范式的关系模式,通过模式分解转化为若干个高一级范式的关系模式的集合,这种分解过程叫作关系模式的规范化(Normalization)。规范化的目的就是使结构合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新。
第一范式要求关系中属性必须是原子项,即不可再分的基本类型,集合、数组和结构不能作为某一属性出现,严禁出现“表中有表”的情况。
2NF就是不允许关系模式的属性之间有这样的函数依赖X→Y,其中X是码的真子集,Y是非主属性。
一个关系模式R满足不存在部分函数依赖和传递函数依赖,则R满足3NF。