当前位置:文档之家› 数据库考试例题分析

数据库考试例题分析

现实世界、信息世界和数据世界(计算机世界)。

1、现实世界:
存在于人脑之外的客观世界,是具体事物与抽象概念及其相互联系的综合。

(1)事物(个体):一个实际存在的且可以被识别的事件
(2)特征:区别不同个体的依据
a. 个体的某些特征是相对固定的。

b. 个体可能有许多特征
(3)全体:有相同特征项目的个体为同类个体,所有同类个体构成一个集合称为“全体”。

例学校的所有学生。

(4)关联:个体间的相互关系。

2、信息世界
是现实世界在人们头脑中的反映,是从后者到前者的抽象。

(1)实体:每一个被认识了的个体在信息世界中称为实体。

(2)属性:个体每个特征在人脑中形成的认识。

(3)实体集:对应于现实世界中的全体。

相同型的实体集合成为实体集。

如所有学生元组构成的集合。

(4)联系:现实世界中事物间的关联在信息世界中反映为实体间的联系。

3、计算机世界(数据世界)
(1)记录:同一实体的所有数据项按一定的方式组织在一起构成表达实体的数据总和,称为记录。

包括记录型和记录值。

(2)数据项:对应与属性项
(3)文件:同型的一组记录组合在一起构成文件。

(4)数据模型:E—R模型在数据世界中的进一步抽象。

现实世界信息世界数据世界个体实体记录
特征属性数据项
全体实体集合文件
关联实体—联系数据模型
例1:设有如下实体:
学生:学号、单位、姓名、性别、年龄、选修课程名
课程:编号、课程名、开课单位、任课教师号
教师:教师号、姓名、性别、职称、讲授课程编号
单位:单位名称、电话、教师号、教师名
上述实体中存在如下联系:
(1)一个学生可选修多门课程,一门课程可为多个学生选修;
(2)一个教师可讲授多门课程,一门课程可为多个教师讲授;
(3)一个单位可有多个教师,一个教师只能属于一个单位。

试完成如下工作:
(1)分别设计学生选课和教师任课两个局部信息的E-R图;
(2)将上述设计完成的E-R图合并成一个全局E-R图。

例2:设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
S(SNO,SNAME,STATUS, CITY);
P(PN0, PNAME, COLOR, WEIGHT);
J(JNO,JNAME,CITY);
SPJ(SN0,PNO,JNO,QTY);
供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;
零件表P由零件代码(PN0)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;
供应情况表SPJ由供应商代码(SN0)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QIY。

写出该查询的关系代数表达式:
例3:设T1, T2,T3是如下的三个事务:
T1: A:=A+2;
T2: A:=A*2;
T3: A:=A**2 (A←A*A)
设A的初值为0;
(1) 若这三个事务允许并发执行,则有多少种可能的正确结果,请一一列举出来。

(2) 请给出一个可串行化的调度,并给出执行结果。

关系范式
例: 关系模式 SLC(Sno, Sdept, Sloc, Cno, Grade)
Sloc 为学生住处,假设每个系的学生住在同一个地方。

函数依赖包括:
(Sno, Cno) f Grade Sno → Sdept
(Sno, Cno) P Sdept Sno → Sloc
(Sno, Cno) P Sloc Sdept → Sloc
SLC 的码为(Sno, Cno) SLC 满足第一范式。

非主属性Sdept 和Sloc 部分函数依赖于码(Sno, Cno) SLC 不是一个好的关系模式 (1) 插入异常
假设Sno =95102,Sdept =IS ,Sloc =N 的学生还未选课,因课程号是主属性,因此该学生的信息无法插入SLC 。

(2) 删除异常
假定某个学生本来只选修了3号课程这一门课。

现在因身体不适,他连3号课程也不选修了。

因课程号是主属性,此操作将导致该学生信息的整个元组都要删除。

(3) 数据冗余度大
如果一个学生选修了10门课程,那么他的Sdept 和Sloc 值就要重复存储了10次。

(4) 修改复杂
例如学生转系,在修改此学生元组的Sdept 值的同时,还可能需要修改住处(Sloc )。

如果这个学生选修了K 门课,则必须无遗漏地修改K 个元组中全部Sdept 、Sloc 信息。

原因:
Sdept 、 Sloc 部分函数依赖于码。

解决方法:
SLC 分解为两个关系模式,以消除这些部分函数依赖 SC (Sno , Cno , Grade )
Grade
SLC
SL (Sno , Sdept , Sloc ) 函数依赖图:
例:2NF 关系模式SL(Sno, Sdept, Sloc)中
函数依赖:
Sno →Sdept Sdept →Sloc
Sno →Sloc
Sloc 传递函数依赖于Sno ,即SL 中存在非主属性对码的传递函数依赖。

函数依赖图:
解决方法
采用投影分解法,把SL 分解为两个关系模式,以消除传递函数依赖: SD (Sno , Sdept ) DL (Sdept , Sloc ) SD 的码为Sno , DL 的码为Sdept 。

SD 的码为Sno , DL 的码为Sdept 。

SD
DL。

相关主题