数据库习题答案(第1~4章)

更新时间:2023-09-10 10:28:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

习题一

一、单项选择题

1. 数据管理技术的发展经历了多个理阶段,其中数据独立性最高的是( A )阶段。 A)数据库系统 B)文件系统 C)人工管理 D)数据项管理 2. ( B )属于信息世界的模型,是现实世界到机器世界的一个中间层次。 A)数据模型 B)概念模型 C)E-R图 D)关系模型 3. 反映现实世界中实体及实体间联系的信息模型是( D )。

A)关系模型 B)层次模型 C)网状模型 D)E-R模型 4. 下列条目中,( C )是数据模型的要素。

Ⅰ.数据管理 Ⅱ.数据操作 Ⅲ.数据完整性约束 Ⅳ.数据结构 A)Ⅰ、Ⅱ和Ⅲ B)Ⅰ、Ⅱ和Ⅳ C)Ⅱ、Ⅲ和Ⅳ D)Ⅰ、Ⅲ和Ⅳ 5. 数据库的概念模型独立于( B )。

A)E-R图 B)具体的机器和DBMS C)现实世界 D)用户需求 6. 按所使用的数据模型来分,数据库可分为哪三种模型( A )。 A)层次、关系和网状 B)网状、环状和链状 C)大型、中型和小型 D)独享、共享和分时 7. 层次模型不能直接表示实体间的( C )。

A)1﹕1关系 B)1:n关系 C)m﹕n关系 D)1﹕1和1:n关系

8. 在对层次数据库进行操作时,如果删除双亲节点,则相应的子女节点值也被同时删除。这是由层次模型的( B )决定的。

A)数据结构 B)完整性约束 C)数据操作 D)缺陷 9. 下列条目中,( D )是数据库应用系统的组成成员。

Ⅰ.操作系统 Ⅱ.数据库管理系统 Ⅲ.用户

Ⅳ.数据库管理员 Ⅴ.数据库 Ⅵ.应用系统

A)仅Ⅱ、Ⅳ和Ⅴ B)仅Ⅰ、Ⅱ、Ⅲ、Ⅳ和Ⅴ C)仅Ⅰ、Ⅱ、Ⅳ和Ⅴ D)都是 10. 在数据库中,产生数据不一致性的根本原因是( C )。

A)数据存储量过大 B)访问数据的用户数太多 C)数据冗余 D)数据类型太复杂 11. 关系模型的完整性规则不包括( D )。

A)实体完整性规则 B)参照完整性规则 C)用户自定义的完整性规则 D)数据操作性规则 12. 数据库管理系统中数据操纵语言DML所实现的操作一般包括( A )。 A)查询、插入、修改、删除 B)排序、授权、删除 C)建立、插入、修改、排序 D)建立、授权、修改 13. 关系模型中,一个关键字( C )。

A)可由多个任意属性组成 B)至多由一个属性组成 C)可由一个或多个其值能唯一标识该关系模式或任何元组的属性组成 D)以上都不是

14. 现有学生关系模式:学生(宿舍编号,宿舍地址,学号,姓名,性别,专业,出生日期),这个关系模式的主关键字是( B )。

A)宿舍编号 B)学号 C)宿舍地址,姓名 D)宿舍编号,学号 15. 在关系数据库中,用来表示实体之间联系的是( D )。

A)树形结构 B)网状结构 C)线性表 D)二维表

1

16. 逻辑数据独立性是指( D )。

A)概念模式改变,外模式和应用程序不变 B)概念模式改变,内模式不变

C)内模式改变,概念模式不变 D)内模式改变,外模式和应用程序不变 17. 数据库三级模式体系结构的划分,有利于保持数据库的( A )。

A) 数据独立性 B) 数据安全性 C) 结构规范化 D) 操作可行性 18. 在数据库的三级模式结构中,内模式的个数( A )。

A)只有1个 B)与用户个数相同 C)由系统参数决定 D)有任意多个

19. 在数据库的三级模式结构中,当模式改变时,通过修改外模式/模式的映像而使外模式不变,从而不必修改应用程序,这是保证了数据与程序的( D )。

A)存储独立性 B)物理独立性 C)用户独立性 D)逻辑独立性 20. 数据库系统的体系结构是( C )。

A)二级模式结构和一级映像 B)三级模式结构和一级映像 C)三级模式结构和二级映像 D)三级模式结构和三级映像 二、设计题 1.已知某图书销售数据库由图书、出版商、作者、书店、订单等实体集(对象)组成,各个实体的属性如下: 1)出版商:出版商编码、名称、地址、所在城市、联系电话 2)图书:书编码、书名、类型、单价、出版日期 3)作者:作者编码、姓名、出生日期、地址、联系电话 4)书店:书店编码、名称、地址、联系电话 5)订单:订单编号、订单日期、订购数量。 数据库语义如下: 1)一个出版商可以出版多本图书,但一本图书只能由一个出版商出版; 2)一个作者可以写多本书,一本书可以有多个作者编写; 3)图书销售情况以订单形式加以存储,一张订单可以有多本图书,一本图书可以在多个订单中出现,但同一订单中同一本图书只能出现一次; 4)一个订单只属于一个书店,一个书店可以有多张订单; 画出该数据库的E-R图。 参考答案: 书号书名类型单价n出版日期m作者编码姓名出版商1城市出版n图书n编码名称地址电话包含编码m订单n销售1书店名称地址城市订单号订单日期订购数量电话编写作者出生日期地址电话 2

2.某工厂(包括厂名和厂长名)需要建立一个数据库,其语义如下:

1)一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话; 2)一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种; 3)一个车间生产多种产品,产品有产品编号、产品名称、规格型号和价格;

4)一个车间生产多种零件,一个零件也可能为多个车间制造。零件有零件号、零件名、重量和价格; 5)一个产品由多种零件组成,一种零件也可装配出多种产品; 6)产品与零件均存入仓库中;

7)厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。 画出该数据库的E-R图。 参考答案: 职工号厂名厂长名工厂1拥有仓库号仓库名仓库仓库主任电话装配n1存放n零件n制造m1存储n产品m电话nn生产1车间产品名规格型号1包含n姓名年龄性别电话员工n组成产品号单价1车间号车间主任地址零件号零件名规格型号单价 3

习题二

一、单项选择题

1. 关系模型中,候选码( C )。

A)可由多个任意属性组成 B)至多由一个属性组成

C)可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成 D)以上说法都不正确

2. 一个关系数据库中的各个元组( B )。

A)前后顺序不能任意颠倒,一定要按照输入的顺序排列 B)前后顺序可以任意颠倒,不影响数据库中的数据关系

C)前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同 D)前后顺序不能任意颠倒,一定要按照码段值的顺序排列 3. 外码必须为空值或等于被参照表中某个元组的主码。这是( B )。

A)实体完整性规则 B)参照完整性规则 C)用户自定义完整性规则 D)域完整性规则 4. 在关系代数运算中,不属于基本运算的是( C )。

A)差 B)并 C)交 D)乘积

5. 设关系R和S的属性个数分别是3和4,元组个数分别是100和300,关系T是R和S的广义笛卡尔积,则T的属性个数和元组个数分别是( D )。

A)4,300 B)4,400 C)7,400 D)7,30000 6. 在关系代数的连接操作中,( A )操作需要取消重复列。

A)自然连接 B)笛卡儿积 C)等值连接 D)θ连接

7. 下列哪一种关系运算不要求:R和S具有相同的元数,且它们对应属性的数据类型也相同”?( C )。

A)R∪S B)R∩S C)R-S D)R×S

8. 设关系R与关系S具有相同的目(或称度),且相对应的属性的值取自同一个域,则R-(R-S)等于( B )。

A)R∪S B)R∩S C)R×S D)R-S

9. 在关系代数的专门关系运算中,从关系中取出若干属性的操作称为( B );从关系中选出满足某种条件的元组的操作称为( A );将两个关系中具有共同属性的值的元组连接到一起构成新关系的操作称为( C )。 A)选择 A)外码

B)投影 C)连接 B)候选码

D)扫描

D)超码

10. 在关系R(R#,RN,S#)和S(S#,SN,SD)中,R的主码是R#,S的主码是S#,则S#在R中称为( A )。

C)主码

11. 等值连接和自然连接相比较,正确的是( C )。

A)等值连接和自然连接的结果完全相同 B)等值连接的属性个数大于自然连接的属性个数 C)等值连接的属性个数小于自然连接的属性个数 D)等值连接的属性个数等于自然连接的属性个数

12. 有两个关系R(A, B, C)和S(B, C, D),则R÷S结果的属性个数是( C )。

A)3

B)2 C)1

D)不一定

13. 设关系R(A,B,C)和关系S(B,C,D),那么与2=1等价的关系代数表达式是( B )。 A)σ2=4(RS) B)σ2=4(R×S) C)σ2=1(RS) B)σ2=1(R×S)

4 RS

14. 设关系X和Y的属性相同,分别有m和n个元组,那么X-Y操作的结果中元组个数为( C )。

A)等于m-n B)等于m C)小于等于m D)小于等于m-n

15. 设关系R(A,B,C)和S(B,C,D),下列各关系代数表达式不成立的是( B )。

A)R÷S 16. 设W=RB)Π2,3 (R)∪Π1,2 (S) C)R∩S D) RS S,且W、R、S的属性个数分别为w、r和s,那么三者之间应满足( B )。 S结果的属性个数是( B )。 A)w<=r+s B)wr+s 17. 有两个关系R(A,B,C)和S(B,C,D),则RA)3

B)4 C)5 D)6 18. 在四元关系R中,属性分别是A、B、C、D,下列叙述中正确的是( C )。 A)ΠB,C(R)表示取值为B、C的两列组成的关系 B)Π2,3(R)表示取值为2、3的两列组成的关系 C)ΠB,C(R)和Π2,3(R)表示的是同一个关系 D)ΠB,C(R)和Π2,3(R)表示的不是同一个关系 19. 设有关系SC(Sno,Cno,Grade),主码是(Sno,Cno)。遵照实体完整性规则( D )。 A)只有Sno不能取空值 B)只有Cno不能取空值 C)只有Grade不能取空值 D)Sno与Cno都不能取空值 20. 设关系R=(A,B,C),与SQL语句Select Distinct A From R Where B=17等价的关系代数表达式是( A )。 A)ΠA(σB=17(R)) B)σB=17(ΠA(R)) C)σB=17(ΠA,C(R)) D)ΠA,C(σB=17(R)) 21. 设有关系R(A,B,C)和关系S(B,C,D),那么与RA)Π1,2,3,4(σ2=1∧3=2(R×S)) B)Π1,2,3,6(σ2=1∧3=2(R×S)) C)Π1,2,3,6(σ2=4∧3=5(R×S)) D)Π1,2,3,4(σ2=4∧3=5(R×S)) 下面第22~25题,基于“学生—选课—课程”数据库中的3个关系: S(Sno,Sname,Gender,Department),主码是Sno C(Cno,Cname,Teacher),主码是Cno SC(Sno,Cno,Grade),主码是(Sno,Cno) 22. 下列关于保持数据库完整性的叙述中,哪一个是不正确的?( D )。 A)向关系SC插入元组时,Sno和Cno都不能是空值(NULL) B)可以任意删除关系SC中的元组 C)向任何一个关系插入元组时,必须保证该关系主码值的唯一性 D)可以任意删除关系C中的元组 23. 为了提高特定查询的速度,对SC关系创建唯一索引,应该创建在哪一个(组)属性上?( A )。 A)(Sno,Cno) B)(Sno,Grade) C)(Cno,Grade) D)Grade 24. 查找每个学生的学号、姓名、选修的课程名和成绩,将使用关系( D )。 A)只有S,SC B)只有SC,C C)只有S,C D)S,SC,C

25. 查找学生号为\的学生的“数据库”课程的成绩,至少将使用关系( B )。

A)S和SC B)SC和C C)S和C D)S、SC和C

S等价的关系代数表达式是( C )。 5

二.解答题

1.设有如下关系:

图书(书号,书名,作者,出版社); 读者(借书证号,读者名,读者地址);

借阅(读者名,书号,借书日期,归还日期)。

① 指出每个关系模式的候选码,主码,外码,主属性。

参考答案:

图书(书号,书名,作者,出版社):候选码、主码={书号};主属性={书号};无外键。 读者(借书证号,读者名,读者地址):候选码={借书证号,读者名}、主码={读者名};主属性={读者名};无外键。

借阅(读者名,书号,借书日期,归还日期):候选码、主码={读者名+书号+借书日期};主属性={读者名,书号};外键=读者名和书号。

② 试用关系代数表达式查询2010年12月31日以前借书未还的读者姓名和图书书名。 参考答案:

Π1,3 (Π1,2(σ3<=’2010-12-31’^4=’ ’(借阅)Π1,2 (图书) )或 Π读者名,书名(Π读者名,书号(σ借书日期<=’2010-12-31’^癸亥日期=’ ’(借阅)2.设关系R、W和D如下,计算下列关系代数: 关系R P 2 9 2 9 7 7 Q b a b a g g T c e e d e c Y d f f e f d T c c d 关系W Π书号,书名(图书) ) 关系D Y d d f B m n n T c e Y d f ① R1=∏Y,T(R) 参考答案: Y d f e ②R2=σP>5∧T=e(R) 参考答案:

P 9 7 Q a g T e e Y f f T c e d ③R3=RW P 2 2 Q b b T c c Y d d B m n

6

④R4=∏2,1,6(σ3=5 (R×D)) 参考答案: 设X=(σ3=5 (R×D))=

P 2 9 2 7 7 Q b a b g g R.T c e e e c R.Y d f f f d D.T c e e e c Y d f f f d D.Y d f f f d 得到R4=∏2,1,6(X)=

Q b a b g g P 2 9 2 7 7 ⑤R5=R÷D 参考答案:

在关系R中,属性P的取值:(2, 7, 9)。其中: 2的像集为{ (c,d), (e,f) } 7的像集为{ (e,f), (c,d) } 9的像集为{ (e,f), (d,e) }

关系D在(T,Y)上的投影为{ (c, d), (e, f) }

只有关系R中2的像集和7的像集包含D在(T,Y)属性组上的投影,即 R5=R÷D={ 2,7 }

3.给定一个有关学生选课数据库Education,它包含学生、课程、教师、选课和授课等5个关系模式,分别用Students, Courses, Teachers,StudCourses, Instructions表示。各个关系模式表示如下:

Students(Sno, Sname, Gender, Major)=学生(学号,姓名,性别,所属专业)

Courses(Cno, Cname, Pno, Credit)=课程(课程编号,课程名称,前修课程,学分) Teachers(Tno, Tname, Title, Major)=教师(教师编号,姓名,职称,所属专业) StudCourses(Cno, Cno, Period, Grade)=选课(学号,课程编号,选课学期,成绩) Instructions(Tno, Cno, Period)=授课(教师编号,课程编号,授课学期)

用关系代数完成下列查询:

① 查询选修过“数据库”和“数据结构”这两门课程的学生姓名。 解题步骤:

1)通过StudCourses与Courses的自然连接,求出选修过“数据库”的学生学号

T1=∏Sno(σCname='数据库'(StudCoursesT2=∏Sno(σCname='数据结构'(StudCourses3)求出选修过“数据库”和“数据结构”这两门课程的学生学号 Courses)) Courses)) 2)通过StudCourses与Courses的自然连接,求出选修过“数据结构”的学生学号 T3=T1∩T2

7

4)在已知学号的情况下,与Students进行自然连接,求出选课学生的姓名

T=∏Sname(T3最终答案:

Students) ∏Sname((∏Sno(σCname='数据库'(StudCoursesCourses))∩ ∏Sno(σCname='数据结构'(StudCoursesCourses))) Students) ② 查询姓名为“李平”这个学生所选修的全部课程的名称。 解题步骤:

1)从Students中取“李平”这个学生的学号 T1=∏Sno(σSname='李平'(Students)) 2)从StudCourses中取学号与课程号两个属性的投影,并与Courses作自然连接,得到学号、课程号和课程名称这3个属性

T2=∏Sno,Cno(StudCourses)T3=∏Cname(T1最终答案:

∏Cno,Cname(Courses) T2) Courses)) 3)将T1与T2作自然连接,并求课程名称Cname上的投影。 ∏Cname( ∏Sno(σSname='李平'(Students))(∏Sno,Cno(StudCourses)③ 查询没有选修过“数据库”这门课程的学生姓名。 解题步骤:

1)先查询选修过“数据库”这门课程的学生学号 T1=∏Sno(σCname='数据库'(StudCourse2)使用减法,求出没有选修数据库的学生学号 Courses)) T2=∏Sno(Students)-T1 3)将T2与Students作自然连接,求出没有选修“数据库”的学生的姓名 T3=∏Sname(T2最终答案:

Students) Courses)))Students) ∏Sname((∏Sno(Students)-∏Sno(σCname='数据库'(StudCourse④ 查询选修过“数据库”但没有选修其先行课的学生学号。 解题步骤:

1)先查询选修过“数据库”这门课程的所有学生的学号 T1=∏Sno(σCname='数据库'(StudCourse2)求“数据库”这门课程的前修课程的编号(假设为T2) Courses)) T2=∏Pno(σCname='数据库'(Courses)) 3)求T1这些学生中选修过T2这门课程的所有学生的学号 T3=∏Sno(T1

σCno=T2(StudCourses))或 8 T3=∏Sno(StudCoursesT4=T1-T3 ⑤ 查询所有课程成绩全部及格的学生姓名。 解题步骤:

1)求出有一门课程考试成绩不及格的学生的学号 T2) 4)从选修“数据库”课程的学生中减去同时选修了其前修课程的学生,最终得到没有选修其先行课的学生学号T4

T1=∏Sno(σGrade<60(StudCourses)) 2)从所有选课学生中减去T1中的学生,得到所有考试成绩都及格的学生的学号 T2=∏Sno(StudCourses)-T1 3)T2与Students自然连接,得到这些学生的姓名 T3=∏Sname(T2Students)) ⑥ 查询选修过教师“达尔文”所授的全部课程的学生姓名。 解题步骤:

1)求出教师“达尔文”所授的全部课程T1 T1=∏Cno(∏Tno(σGTname=='达尔文'(Teachers))∏Cno,Tno(Instructions)) 2)使用除法,求出选修了这些课程的学生学号T2,然后将T2与Students自然连接,得到这些学生的姓名T3

T2=∏Sno,Cno(studcourses) ÷ T1 T3=∏Sname(T2Students)) ⑦ 查询哪些学生选修的课程中其前修课程还没有选修过。 解题步骤(举例说明): 1)设R=∏Sno,Cno(StudCourses)Cno C1 C3 C4 C1 C2 C4 C6 C1 C2 C5

9

∏Cno,Pno(Courses),设S=R。假设实例如下: Sno S1 S1 S1 S2 S2 S2 S2 S3 S3 S4 Cno C1 C3 C4 C1 C2 C4 C6 C1 C2 C5 Courses StudCourses Pno C2 C3 C1 C3 C5 C1

则得到R、S如下:

R S Sno S1 S1 S1 S2 S2 S2 S2 S3 S3 S4 Cno C1 C3 C4 C1 C2 C4 C6 C1 C2 C5 Pno C2 C3 C1 C3 C5 C1 Sno S1 S1 S1 S2 S2 S2 S2 S3 S3 S4 Cno C1 C3 C4 C1 C2 C4 C6 C1 C2 C5 Pno C2 C3 C1 C3 C5 C1 K= ∏1,2,3(R S)2)设R.Pcno=S.Cno,求出选修课程中包含前修课程的学生和课程信息 Sno S1 S2 S3 Cno C4 C2 C2 Pno C3 C1 C1 3)设T=R-K,排除已有前修课程的学生及课程信息 Sno S1 S1 S2 S2 S2 S3 S4 Cno C1 C3 C1 C4 C6 C1 C5 Pno C2 C3 C5 4)设学号信息。

P=σPno<>' '(T) ,排除那些本身没有前修课程的选修记录,得到没有选修前修课程的课程及Sno S1 S2 S2 Cno C3 C4 C6 Pno C2 C3 C5 5)将P与Students自然连接,得到没有选修前修课程的学生姓名

X=∏Sname(∏Sno(P)

10

Students)

最终答案:

R=∏Sno,Cno(StudCourses)∏Cno,Pno(Courses) K= ∏1,2,3(R S)R.Pcno=S.CnoT=R-K P=σPno<>' '(T) X=∏Sname(∏Sno(P)

⑧ 查询哪些学生与学号为“S1”的学生选修了完全相同的课程。 解题步骤(举例说明)。假设: StuCourses Sno S1 S1 S1 S2 S2 S2 S2 S3 S3 S3 S4 S4 S5 S5 S5 S5 S5 Cno C1 C2 C3 C1 C2 C3 C4 C1 C2 C3 C4 C6 C1 C2 C3 C6 C7 Grade 60 70 80 90 65 75 85 95 70 75 80 85 90 72 75 78 78 Students) 1)求出学号为S1的这个学生选修的全部课程编码T1

T1=∏Cno(σSno='S1'(StudCourses))

Cno C1 C2 C3

11

2)利用除法,求出至少选修了全部T1课程的学生学号T2。但T2中有一部分学生选修的课程比S1还要多,也就是说与S1选修的课程不完全相同。

T2=∏Sno,Cno(StudCourses) ÷ T1

Sno S1 S2 S3 S5 3)在StudCourses中提取T2这些学生选修的全部课程,得到T3

T3=∏Sno,Cno(StudCoursesT4=T3- T1×T2 Sno S2 S5 S5 Cno C4 C6 C7 T2) 4)将T3与T1×T2(笛卡尔积)相减,得到那些比S1选的课还要多的学生及课程信息T4。 5)在T2中剔除比S1选课还要多的那些学生,当然还要去掉S1自己本身。 T5=σSno='S1' (T2)-∏Sno(T4) 最终答案:

T1=∏Cno(σSno='S1'(StudCourses)) T2=∏Sno,Cno(StudCourses) ÷ T1 T3=∏Sno,Cno(StudCoursesT4=T3- T1×T2 T5=σSno='S1' (T2)-∏Sno(T4) ⑨ 查询哪些学生没有选修过教师“达尔文”所授的任何一门课程。 解题步骤:

1)求出教师“达尔文”所授的所有课程T1

T2) T1=∏Cno(σTname='达尔文' (InstructionsTeachers)) 2)通过T1与StudCourses的自然连接,求出选修过“达尔文”所授任一课程的学生T2,从全部学生中减去T2,得到没有选修过教师“达尔文”所授课程的学生T3。

12

T2=∏Sno(StudCoursesT1) T3=∏Sno(Students)-T2 ⑩ 查询哪些学生至少选修了教师“达尔文”所授的两门不同的课程。 解题步骤(举例说明)。假设: StudCourses Sno S1 S2 S2 S2 S2 S3 S3 S4 S4 S5 S5 S6 1)求出教师“达尔文”所授的所有课程T1

Cno C1 C1 C3 C4 C6 C1 C4 C4 C6 C2 C4 C6 Grade 66 67 68 69 70 78 76 75 73 80 89 86 T1=∏Cno(σTname='达尔文' (Instructions这里举例假设为:

Cno C1 C2 C4 Teachers)) 2)通过T1与StudCourses的自然连接,求出选修过“达尔文”所授任一课程的学生及课程信息T2。 T2=∏Sno,cno(StudCoursesSno S1 S2 S2 S3 S3 S4 S5 S5

T1) Cno C1 C1 C4 C1 C4 C4 C2 C4 T2 T2 Cno C1 C1 C4 C1 C4 C4 C2 C4 13 Sno S1 S2 S2 S3 S3 S4 S5 S5

3)通过T2与T2的笛卡尔积,得到选修了“达尔文”所授两门不同课程的学号。

T3=∏Sno(σ1=3^2<>4(T2×T2))

其中:

σ1=3^2<>4(T2×T2)

Sno S2 S2 S3 S3 S5 S5

Cno C1 C4 C1 C4 C2 C4

14

习题三

一、单项选择题

1. 设系、学生、教师3个实体之间存在约束:一个系可以有多名教师,一名教师只属于一个系,一个系可以有名学生,一名学生只属于一个系。下列E-R图中能准确表达以上约束的是( B )。

系1m教师系-教师-学生n学生1系-教师系1系-学生n学生系mn系-教师-学生学生pm系-教师n系p系-学生q学生 m教师教师 (C) 教师 (A) (B) (D) 2. 有10个实体型,并且它们之间存在着10个不同的二元联系,其中2个是1:1联系类型,3个是1:n联系类型,5个是m:n联系类型,那么根据转换规则,这个E-R图转换成的关系模式有( B )。 A)13个 B)15个 C)18个 D)20个 3. 从E-R模型关系向关系模型转换时,一个m﹕n联系转换为关系模式时,该关系模式的码是( C )。 A)m端实体的码 B)n端实体的码 C)m端实体码与n端实体码组合 D)重新选取其他属性 4. 设R(U)是属性集U上的关系模式,X、Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称( A )。 A)Y函数依赖于X B)Y对X完全函数依赖 C)X为U的候选码 D)R属于2NF 5. 下列不属于非平凡函数依赖的是( D )。 A) (CustomerID, ProviderID, BuyDate)?GoodsName B) (CustomerID, ProviderID, BuyDate)?GoodsName,ProviderID C) (CustomerID, ProviderID, BuyDate)?GoodsClassID D) (CustomerID, ProviderID, BuyDate)? ProviderID 6. 某供应商关系模式为: Providers (PID,Pname,Tel,GoodsID,GoodsClassID,GoodsName,GoodsPrice) 该关系模式满足如下函数依赖: PID?Pname,PID?Tel,GoodsID?GoodsClassID,GoodsID?GoodsName,GoodsName? GoodsPrice,则这个关系模式的主码为( C )。 A) (PID,GoodsName) B) (PID,GoodsClassID) C) (PID,GoodsID) D) (PID, GoodsPrice)

7. 下列关于模式分解的叙述中,不正确的是( A )。

A)若一个模式分解保持函数依赖,则该分解一定具有无损连接性

B)若要求分解保持函数依赖,那么模式分解可以达到3NF,但不一定能达到BCNF

C)若要求分解既具有无损连接性,又保持函数依赖,则模式分解可以达到3NF,但不一定能达到BCNF D)若要求分解具有无损连接性,那么模式分解一定可以达到BCNF 8. 下列关于部分函数依赖的叙述中,正确的是( C )。

A)若 X?Y,且存在属性集 Z,Z?Y??,X?Z,则称 Y 对 X 部分函数依赖 B)若 X?Y,且存在属性集 Z,Z?Y=?,X?Z,则称 Y 对 X 部分函数依赖 C)若 X?Y,且存在 X 的真子集 X′,X′?Y,则称 Y 对 X 部分函数依赖

D)若 X?Y,且对于 X 的任何真子集 X′,都有 X′?Y,则称 Y 对 X 部分函数依赖

15

9. 设U是所有属性的集合,X、Y、Z 都是 U 的子集,且 Z=U-X-Y,下列关于多值依赖的叙述中,正确的是( D )。

Ⅰ. 若 X??Y,则 X?Y Ⅱ. X?Y,则 X??Y

Ⅲ .若 X??Y,且 Y'??Y,则 X?? Y' Ⅳ .若 X??Y,则 X??Z A)只有Ⅱ B)只有Ⅲ C)Ⅰ和Ⅲ D)Ⅱ和Ⅳ 10. 设有关系模式SC(Sno, Sname, Sex, Birthday, Cno, Cname, Grade, Tno, Tname)满足函数依赖集:{Sno→Sname, Sno→Sex, Sno→Birthday, Cno→Cname, (Sno, Cno)→Grade, Tno→Tname}。SC的主码和属性集 (Sno, Tno) 的闭包分别是( B )。

A)(Sno,Tno)和{Cno,Cname,Grade,Tno,Tname}

B)(Sno, Cno, Tno)和{Sno, Sname, Sex, Birthday, Cno}

C)(Sno, Cno)和{Sno, Sname, Sex, Birthday, Cno, Cname, Grade} D)(Sno, Cno, Tno)和{Sno, Sname, Sex, Birthday, Tno, Tname}

11. 设关系模式R(U,F),U=ABCDE,F={AB→C, CD→E, DE→B} ,则关系R 的键是( C )。 A)AB B)ABC C)ABD D)ABE

12. 设有关系模式R(A,B,C),根据语义有如下函数依赖集:F={A?B, (B,C)?A}。关系模式R的规范化程度最高达到( C )。

A)1NF B)2NF C)3NF D)4NF 第13~14题基于如下叙述:关系模式 Students (Sno, Sname, Cno, Cname, Grade, Tname, Taddr)的属性分别表示学号、学生姓名、课程号、课程名、成绩、任课教师名和教师地址。其中,一名学生可以选修若干门课程,一个教师可以讲授若干门课程,一门课程可以由若干教师讲授,一名学生选修一门课程时必须选定讲授课程的教师,教师不会重名。

13. 关系模式Students的候选关键码有( A )。 A)1 个,为(Sno,Cno)

B)1 个,为(Sno,Cno,Tname)

C)2 个,为(Sno,Sname,Cno)和(Sno,Cno,Tname) D)2 个,为(Sno,Sname,Cno)和(Sname,Cno,Tname) 14. 关系模式Students的规范化程度最高达到( A )。 A)1NF B)2NF C)3NF D)BCNF 第15~17题基于下列描述:有关系模式R(A,B,C,D,E),根据语义有如下函数依赖集: F={A?C,BC?D,CD?A,AB?E}。

15. 下列属性组中的是关系R的候选码( B )。

Ⅰ.(A,B) Ⅱ.(A,D) Ⅲ.(B,C) Ⅳ.(C,D) Ⅴ.(B,D) A)仅Ⅲ B)Ⅰ和Ⅲ C)Ⅰ、Ⅱ和Ⅳ D)Ⅱ、Ⅲ和Ⅴ 16. 关系模式R的规范化程度最高达到( C )。 A)1NF B)2NF C)3NF D)BCNF

17. 现将关系模式R分解为两个关系模式 R1(A,C,D),R2(A,B,E),那么这个分解( A )。 A)不具有无损连接性且不保持函数依赖 B)具有无损连接性且不保持函数依赖 C)不具有无损连接性且保持函数依赖 D)具有无损连接性且保持函数依赖 第18-19基于以下描述:有关系模式 P(A,B,C,D,E,F,G,H,I,J),根据语义有如下函数依赖集:F={ABD?E,AB?G,B?F,C?J,C?I,G?H} 18. 关系模式 P 的码是( D )。

A)(A,B,C) B)(A,B,D) C)(A,C,D,G) D)(A,B,C,D) 19. 关系模式 P 的规范化程度最高达到( ? )。 A)1 NF B)2NF C)3NF D)4NF 第20~21题基于以下描述:有关系模式 R(S,T,C,D,G),根据语义有如下函数依赖集: F={(S,C)

16

?T,C?D,(S,C)?G,T?C}。 20. 关系模式 R 的候选码( C ) 。

A)只有 1 个,为(S,C) B)只有 1 个,为(S,T)

C)有 2 个,为(S,C)和(S,T) D)有 2 个,为(S,C)和(T) 21. 关系模式 R 的规范化程序最高达到( A ) 。 A)INF B)2NF C)3NF D)BCNF

第22~23题基于以下描述:有关系模式 P(C,S,T,R),根据语义有如下函数依赖集:F={C ?T,ST?R,TR?C}。

22. 关系模式 P 的规范化程度最高达到( D )。 A)INF B)2NF C)3NF D)BCNF

23. 现将关系模式 P 分解为两个关系模式 P 1(C,T,R),P 2(C,S),那么这个分解( A )。 A)不具有无损连接性,不保持函数依赖 B)具有无损连接性,不保持函数依赖 C)不具有无损连接性,保持函数依赖 D)具有无损连接性,且保持函数依赖 第24~25题基于已知下列信息:数据库关系模式R=(A,B,C,D,E)有下列函数依赖:A→BC, D→E, C→D。 24. 下述对R的分解中,哪一个(或哪些)分解可保存R所有的函数依赖关系?( B )。

Ⅰ. (A、B、C)和(C、D、E) Ⅱ. (A、B)和(C、D、E) A)均不是 B)只有Ⅰ C)只有Ⅱ D)Ⅰ和Ⅱ

25. 下述对R的分解中,哪一个(或哪些)分解是R的无损连接分解? ( B )。

Ⅰ. (A、B、C)和(C、D、E) Ⅱ. (A、B)和(A、C、D、E) A)均不是 B)只有Ⅰ C)只有Ⅱ D)Ⅰ和Ⅱ 二、解答题

1. 某公司需建立产品信息数据库,其其业务需求如下:

① 一种产品可以使用多个不同种类的部件,也可以使用多个不同种类的零件:一种部件至少被用在一种产品中;一种部件可以由多个不同种类的零件组成;一种零件至少被用在一种产品或一种部件中;

② 对于一种具体的部件,要记录这种部件使用的各种零件的数量;

③ 对于一种具体的产品,要记录这种产品使用的各种部件零件数量和各种零件数量,但部件所使用的零件数量不计入该产品的零件数量;

④ 一个供应商可供应多种零件,但一种零件只能由一个供应商供应。 根据以上业务要求,某建模人员构建了如下E-R图:

产品号产品名称产品型号装配图号供应商号m部件号n部件名称nm零件号零件名称零件联系电话供应商名产品-部件部件部件-零件 图3-14 产品信息数据库E—E图 此E-R图中的实体的属性完整,但实体、联系的设计存在不合理之处。 ① 请重新构建合理的E-R图,使之符合业务要求,而且信息完整。 17

产品-零件m产品号产品名称产品型号装配图号部件数量供应商号供应商供应商名1零件供应联系电话m产品-部件零件数量部件号n部件名称n部件-零件零件数量mnn零件号零件零件名称部件

② 根据重构的E-R图给出符合3NF的关系模式,并标出每个关系模式的主码和外码。 主码用下划线标注。 产品(产品号,产品名称,型号,装配图号) 部件(部件号,部件名称) 零件(零件号,零件名称,供应商号)。供应商号为外键 产品-部件(产品号,部件号,部件数量)。产品号、部件号都为外键 产品-零件(产品号,零件号,零件数量)。产品号、零件号都为外键 部件-零件(部件号,零件号,零件数量)。部件号、零件号都为外键 供应商(供应商号,供应商名,联系电话) 2. 已知某教务管理系统的各个关系模式如下(带下画线的属性是主码): 系(系号,系名) 学生(学号,姓名,性别,入学日期,正常毕业日期,所在系号) 课程(课程号,课程名,学分,开课系号,教师号) 选课(学号,课程号,成绩) 教师(教师号,姓名,职称,所在系号) ① 请根据给出的关系模式,画出该关系的E-R图,图中忽略实体集的属性,但如果实体集之间的联系有属性则需要给出联系的属性。

参考答案:

学号姓名性别入学时间m毕业时间成绩选课n系-课程教师-系学生n属于11系1专业号专业名课程号课程名称学分n课程n1n讲授教师姓名教师号职称

② 假设该系统的业务需求发生变化,需要满足下列要求:为课程增加先修课程信息(一门课程可有

18

多门先修课程);一门课程可由多名教师讲授,一名教师可以讲授多门课程。试根据上述需求修改关系模式,仅列出有改动的关系模式,并使每个关系模式满足3NF。

参考答案: 系(系号,系名)

学生(学号,姓名,性别,入学日期,正常毕业日期,所在系号) 课程(课程号,课程名,学分,开课系号) 选课(学号,课程号,成绩)

教师(教师号,姓名,职称,所在系号) 教师授课(教师号,课程号) 先修课程(课程号,先修课程号) 3.现有关系模式:

教师授课(教师号,姓名,职称,课程号,课程名,学分,教科书名) 其函数依赖为:

{教师号?姓名,教师号?职称,课程号?课程名,课程号?学分,课程号?教科书名}

① 指出这个关系模式的主码; 主码=(教师号,课程号)

② 这个关系模式是第几范式,为什么? 2NF,因为还存在传递函数依赖

③ 将其分解为满足3NF要求的关系模式(分解后的关系模式名自定)。 教师授课(教师号,课程号) 教师(教师号,职称)

课程(课程号,课程名,学分,教科书名)

4.关系模式R(A,B,C,D,E,F),函数依赖集F={AB→E,BC→D,BE→C,CD→B,CE→AF,CF→BD,C→A,D→EF}。 ① 求出R的侯选码;

L类属性组:AB, BC, BE, CE, CF LR类属性:A,B,C,D,E,F 侯选码:

(AB)+=ABECFD (BC)+=ABCDEF (BE)+=BECADF (CE)+=CEAFBD

因此,AB, BC, BE, CE, CF都是关系R的候选码

② 求出F的最小函数依赖集。 改写F为{AB→E,BC→D,BE→C,CD→B,CE→A,CE→F,CF→B, CF→ D,C→A,D→E,D→F} 去掉左边重复的冗余属性:

1)考虑AB→E。去掉AB→E 之后的F中 (AB)F+=AB。由于(AB)F+中不包含E,因此没有冗余。 2)考虑BC→D。去掉BC→D之后的F中 (BC)F+=(BCA) F+=(BCAE) F+==(BCAEF) F+=(BCAEFD)。由于(BD)F+中包含D,因此它是冗余的。

3)考虑BE→C。去掉BE→C 之后的F中 (BE)F+=BE。由于(BE)F+中不包含C,因此没有冗余。 4)考虑CD→B。去掉CD→B之后的F中 (CD)F+=(CDAEF) F+=(CDAEFB) F+。由于(CD)F+中包含B,因此它是冗余的。

5)考虑CE→A。去掉CE→A之后的F中 (CE)F+=(CEAF) F+。由于(CE)F+中包含A,因此它是冗余

19

的。

6)考虑CE→F。没有冗余 7)考虑CF→B。没有冗余 8)考虑CF→D。没有冗余

因此求出F的最小函数依赖集为

Fmin={AB→E,BE→C,CE→F,CF→B, CF→ D,C→A,D→E,D→F}

5.设有关系模式R(A,B,C,D,E,F,G),根据语义有如下函数依赖集F={A?B, C?D, C?F, (A,D) ?E, (E,F) ?G

① 求关系模式R的主码; L类属性:A, C LR类属性:E, F, D R类属性:B, G

(AC)+= (ACBDF)+= (ACBDFE)+= (ACBDFEG),它是候选码,也是主码

② 求AC的闭包。

(AC)+=(ACBDF) +=(ACBDFE)+=(ACBDFEG)

6.设关系模式R(S,T,C,D,G,H),函数依赖集F={S→T,C→H,G→S,CG→S},将R分解为:ρl={CG,TH,GCD,ST}和ρ2={STG,CDGH}。判断ρ1和ρ2是否无损连接。

1) 判断ρl

构造一个二维表如下:4个关系模式,对应4行。

初始表

结果表

S b11 b21 b31 a1 T b12 a2 b32 a2 C a3 b23 a3 b43 D b14 b24 a4 b44 G a5 b25 a5 b45 H b16 a6 b36 b46 S b11 b21 b31 a1 T b12 a2 b32 a2 C a3 b23 a3 b43 D b14 b24 a4 b44 G a5 b25 a5 b45 H b16 a6 b36 b46 第1列第1行:A1={S} U1={CG} 显然 A1不属于U1,因此这个单元格改为b11 第1列第2行:A1={S} U2={TH} 显然 A1不属于U2,因此这个单元格改为b21 …

第2列第1行:A2={T} U1={CG} 显然 A2不属于U1,因此这个单元格改为b12 第2列第2行:A2={T} U2={TH} 显然 A2不属于U2,因此这个单元格还是a2

调整初始表

S→T:在S列中寻找符号相同的行,不需要修改表

C→H:在C列中,第1行和3行相同,对应的H列中第3行改成b16

结果表1

S b11 b21 b31 a1 T b12 a2 b32 a2 C a3 b23 a3 b43 D b14 b24 a4 b44 G a5 b25 a5 b45 H b16 a6 b16 b46

G→S:在G列中,第1行和3行相同,对应的S列中第3行改成b11

20

本文来源:https://www.bwwdw.com/article/mjqh.html

Top