数据库名词解释+数据库原理及应用总复习题+中南大学数据库历年考题 联系客服

发布时间 : 星期一 文章数据库名词解释+数据库原理及应用总复习题+中南大学数据库历年考题更新完毕开始阅读e923f0896529647d2728522e

在着“使用”联系,司机使用车辆有使用日期和公里数两个属性,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。 1) 试画出E-R图,并在图上注明属性、联系类型;

2) 将该E-R图转换为其对应的关系模型表示的数据库逻辑结构; 3)指出转换结果中每个关系模式的候选码。

参考答案 一、填空题

1.M端实体关键字与N端实体关键字组合 2.数据库理论 3.可重用性 (或共享性) 4.层次模型 5.数据库恢复

6.数据操作 7.关系模型 8.外码(外来键)

9.概念设计 10.实体完整性

二、单项选择题

1. D 2. C 3. B 4. C 5. B

三、1.解:关系代数表达式:πS#,SNAME(σGNAME='冰箱'(SHOP?SALE?GOODS)) SELECT语句如下: SELECT A.S#,SNAME FROM SHOP A,SALE B,GOODS C

WHERE A.S#=B.S# AND B.G#=C.G# AND GNAME='冰箱';

2.解:DELETE FROM SALE WHERE S# IN(SELECT S# FROM SHOP WHERE SNAME='第一商店') AND G# IN(SELECT G#

FROM GOODS

WHERE PRICE>1000); 3.CREATE VIEW SHOP_BICY AS SELECT SNAME FROM SHOP A,SALE B,GOODS C WHERE A.S#=B.S# AND B.G#=C.G# AND GNAME='自行车'; 4.SELECT C.G#,GNAME,SUM(QUANTITY) TOTAL_QUANTITY,

PRICE*SUM(QUANTITY) TOTAL_VALUE

FROM SHOP A,SALE B,GOODS C WHERE A.S#=B.S# AND B.G#=C.G# AND AREA='河西' GROUP BY C.G#,GNAME; 四、解: 1.ER图如下图所示。

5

2.转换成的关系模型应具有4个关系模式:

教师(工号,姓名,职称)

学生(学号,姓名,性别,年龄,教师工号) 课程(课程号,课程名称,教师工号) 选课(学号,课程号,成绩)

3.每个关系模式中带有下划线的即为其对应的候选码。 五、从R中选取R的第2列和S的第1列相同的元组 π1,2(σ[2]=[3](R×S))

?A 。由于X???A,必存在X的真子集Y,使得Y六、反证法:若R不是2NF,必存在码X及非主属性A,使得X??→A且A?Y。又X是码,由码的定义得知YX且X→Y。综上所述得结论:R中存在码X,属性组Y及非主属性A(A?Y)使得X→Y,YX,Y→A同时成立。这与R是3NF的题设矛盾,得证。 七、解: 1.R的基本FD有三个:

(职工名,项目名)?工资

项目名 ?部门名 部门名 ?部门经理

候选码为(职工名,项目名)。 2.根据1),R中存在下列两个FD:

(职工名,项目名)?(部门名,部门经理)

项目名 ?(部门名,部门经理)

R应分解成两个模式: R1(项目名,部门名,部门经理)

R2(职工名,项目名,工资)

R1和R2都是2NF模式。 3.R2已是3NF模式。

在R1中,由于存在两个FD:

项目名?部门名 部门名?部门经理

即存在一个传递依赖。

对R1应分解成两个模式:R11(项目名,部门名),R12(部门名,部门经理)。因此,R分解成3NF模式集时,ρ={ R11,R12,R2 }。

八、答:在生成的关系模式的关系中出现冗余和异常现象。 例如部门与职工之间联系是1:N,若在部门模式中加入职工信息,那么部门模式将是如下形式:

DEPT(D#,DNAME,E#) 如果一个部门有20个职工,那么关系中就要出现20个元组,即该部门的部门名(DNAME)就要重复20次,这就是冗余。

+

九、计算:1.(BCD)F: X(0)=BCD; X(1)=BCD∪I=BCDI; X(2)=BCDI∪E=BCDEI

+

X(3)= X(2),算法结束,故:(BCD)F= BCDEI;

+

2.(ABC)F: X(0)=ABC;X(1)=ABC∪DE=ABCDE;X(2)=ABCDE∪I=ABCDEI=U,算法结束

+

故(ABC)F=ABCDEI

参考答案:

一、填空题(本大题共5小题,每小题2分,共10分) 1、概念模式(或模式); 2、DBMS; 3、定义; 4、物理,逻辑; 5、数据结构,数据操作 二、 选择题(本大题共5小题,每小题 2 分,共 10 分) CBABB

三、简答题(本大题共3小题,每小题5分,共15分) 1. 为什么视图被称为虚表?基本表与视图的区别是什么?

PP因为数据库中只存储有关视图的定义而不存储视图所对应的数据,这些数据仍存放在导出视图的基本表中,所以视图被称为虚表。基本表是实际独立存放在数据库中的表,是实表。

6

2. 在关系数据库中能完全消除数据冗余吗?

不能。要实现关系数据库中表与表之间的联系,必须通过公共属性来完成,这些公共属性可能是一个表的主键,也可能是另一个表的外键,有相应的参照完整性规则来保证表之间的联系。所以关系数据库中存在数据冗余,但能控制数据的冗余度。

3. 简述在SQL中,DELETE语句与DROP TABLE的区别。

DELETE的作用是删除表中的元组,表的模式依然存在,而DROP TABLE 是将表的结构和元组全部删除,表被删除(DROP)后就不再存在了。 四、求解下列问题 1.(1)π

C#

(C)-πC#(σ

SNAME='WANG'

SSC) 或者 πC#(SC)-πC#(σ

SNAME='WANG'

SSC)(全部课程号减去

WANG同学所学的课程号) SELECT C# FROM C

WHERE C# NOT IN (SELECT C# FROM SC WHERE S# IN SELECT S# FROM S

WHERE SNAME=‘WANG’) (2)INSERT INTO STUDENT(S#,SNAME,SEX) SELECT S#,SNAME,SEX FROM S WHERE NOT EXISTS (SELECT * FROM SC WHERE GRADE<80 AND S.S#=SC.S#) (3)SELECT DISTINCT S# FROM SC WHERE C# IN (SELECT C# FROM C

WHERE TEACHER='LIU'))

(4)汉语含义:检索全部学生都选修的课程的课程号与课程名。 2.(1) 表名称 卡车 货运站 型号 主码 车号 货运站编号 类型 外码 货运站编号,类型 无 无 (2)卡车表中存在实体完整性和参照完整性。 实体完整性:在主码车号的这列中不存在空值;

参照完整性:外码“货运站编号”这列中的值都是货运站表中“货运站编号”这列中的值,外码“类型”这列中的 值都是型号表中“型号”这列中的值。

(3)货运站表和卡车表之间存在着一对多的关系,即每一个货运站可以有多辆车。如,样本数据中货运站501有两辆车:车号为1001和1003;货运站502有两辆车:车号为1002和1004。

(4)卡车表中包括4个实体,即表中每个元组(行)对应一个实体,每个实体就是一辆车。3. 依照题意,得出:

7

(1)最小7依赖集 Fm={A→E,BC→G,BD→A,A→C}

分解函数依赖的右部, F={AD→E,AC→E,BC→G,BCD→A,BCD→G,BD→A,AB→G,A→C} 消去左边的冗余属性:F={A→E,A→E,BC→G,BD→A,BC→G,BD→A,AB→G,A→C} 消去冗余的函数依赖:Fm={A→E,BC→G,BD→A,A→C}

也可以为: Fm={A→E,AB→G,BD→A,A→C} (2)候选码:BD

(3)R中每一个非主属性完全函数依赖于R的候选键BD;但C,G都传递依赖于R的候选键BD,也就是说,R满足2NF的要求,而不满足3NF的要求。此关系模型最高属于2NF。 (4)

R2:U2=BCG F2={BC→G} R3:U3=ACE F3={A→C,A→E} 4. 计算过程如下:

R1:U1=ABD F1={BD→A} 第一次:(1) x(0)=φ,x(1)=EC (2) 由于X(0)≠AB,置X(0)=EC; (3) 检查函数依赖,置X(1)=EC∪B=ECB

第二次: 置X(0)=ECB, 检查函数依赖,置X(1)=ECB∪D=ECBD 第三次: 置X(0)=ECBD, 检查函数依赖,X(1)=ECBD

第四次:x(0)=x(1),输出x(1)= (EC)+

=ECBD 5. 解:1)E-R图如下图所示 车队号 车队名 车队 1 1 聘期 拥有 聘用 N N 车辆 M 使用 N 司机 牌照号 厂家 出厂日期 司机编号 姓名 电话 使用日期 公里数 2)转换成的关系模型应具有4个关系模式:

车队(车队号,车队名)

车辆(牌照号,厂家,生产日期,车队号) 司机(司机编号,姓名,电话,车队号,聘期)

8