【系统分析师之路】第十五章 数据库系统(习题汇总)

【系统分析师之路】第十五章 数据库系统(习题汇总)

■知识点汇总
 数据库知识点汇总

01.数据库的视图和基本表之间,基本表和存储文件之间分别通过建立()之间的映像,保证数据的逻辑独立性和物理独立性。
A.模式到内模式和外模式到内模式
B.外模式到内模式和模式到内模式
C.外模式到模式和模式到内模式
D.内模式到模式和模式到外模式

解答:答案选择C。此题考查的是数据库模式的基本概念。

02.确定数据边界应在数据库设计的()阶段进行,关系规范化是在数据库设计的()阶段进行。
A.需求分析
B.概念设计
C.逻辑设计
D.物理设计

解答:答案选择A|C。需求分析阶段的输出有数据流图,数据字典,需求说明书。
概念结构设计的输出是ER图,而逻辑设计的输出是关系模式。关系规范化应该属于关系模式。
在关系模式的基础上加上视图,完整性约束及应用处理说明书,通知兼顾DBMS特征后进行的设计:就是物理设计。

03.在数据库逻辑结构的设计中,将ER模型转换为关系模型应遵循相关原则。对于三个不同实体集和他们之间的m;n;p,最少可以转换为()个关系模式。
A.2
B.3
C.4
D.5

解答:答案选择C。此题考查ER模型转换的问题。一个实体型转换为一个关系模式,m:n联系必须单独转一个关系模式。而1对1和1对多联系不用单独转成一个关系模式。
ER模型集成的方法有两种,一种是多个局部图一次集成,还有一种是逐步集成。
集成产生的冲突解决方案也有三种:属性冲突,命名冲突和结构冲突。

04.设有员工实体Employee(职工号,姓名,性别,年龄,通信地址,家庭成员)其中通信地址记录了:邮编,省,市,街道信息家庭成员记录了职工的亲属的姓名,职工实体中的通信地址是一个()属性;为了将数据库模式设计的更合理一些,对于家庭成员属性()。
A.简单
B.复合
C.多值
D.派生
A.可以不做任何处理直接记录亲属的姓名
B.只允许记录一个亲属的姓名
C.需要对职工实体设置若干个亲属姓名字段
D.应该将职工的亲属的姓名加上职工号设计成一个独立的实体

解答:答案选择B|D。

  • 多值的意思是可能记录一个也可能记录多个。家庭成员有可能有一个,也有可能有两个,或三个,这个就是多值。
  • 地址信息中有省,市信息,这些信息复合起来的。
  • 年龄和出生年月,出生年月可以算出年龄,这个是派生属性。有单价,有数量,有总价,那么总价就是派生属性。

规范化理论—-键

  1. 超键:唯一标识元组。比如学号和姓名的组合键就是超键。光学号就可以作为关系模式的主键了。
  2. 候选键:消除多余属性的超键。这里的多余属性就是姓名。
  3. 主键:候选键可以有一个,也可以有多个。任选一个就是主键,主键只有一个。
  4. 外键:其他关系的主键。

06.若对关系R(A,B,C,D)和S(C,D,E)进行投影1,2,3,4,7(选择3=5^4=6(R乘以S))运算,则该关系代数表达式与()是等价的。
A.R自然连接S。
B.选择3=5^4=6(投影1,2,3,4,7(R乘以S))
C.投影a,b,c,d,e (R乘以S)
D.投影1,2,3,4,7(选择3=5(R)乘以(选择4=6(S))

解答:答案选择A。^是与操作v是或操作。

07.给定关系R(A1,A2,A3,A4)上的函数依赖集F={A1-〉A2,A3-〉A2,A2-〉A3,A2-〉A4}R的候选关键字为()
A.A1
B.A1A3
C.A1A3A4
D.A1A2A3

解答:答案选择A。A1的入度为0,且通过A1出度可以遍历到所有结点。

08.关系R(A,B,C)满足下列函数依赖F(B-〉C,B-〉A,A-〉BC),关系R的候选关键字为()
A.AB
B.A和B
C.A和BC
D.AC和BC

解答:答案选择B。C属性的没用出去的线,所以C肯定不是候选关键字。A已经可以决定B和C,同样B也可以决定A和C。
规范化理论—求候选键

  1. 将关系模式中的函数依赖关系用有向图的方式来表示。
  2. 找入度为0的属性,并以该属性集合为起点,尝试便利有向图,若能正常遍历所有节点,则该属性集即为关系模式的候选键。
  3. 若入度为0的属性集不能遍历图中所有节点,则需要尝试性的将一些中间节点(既有入度也有出度)并入入度为0的属性集中,直至该集合能遍历所有节点,集合为候选键。

09.某公司部门(部门号,部门名,负责人,电话),商品(商品号,商品名,单价,库存量)和职工(职工号,姓名,住址)三个实体之间的关系如表1-3所示。假设每个部门有一位负责人和一部电话,但有若干名员工;每种商品只能由一个部门负责销售。部门关系不属于第三范式的原因是()。如果用户要求得到表4所示的结果,需要(),并增加关系模式()。
表1: 部门号 部门名 负责人 电话 001 家电部 E002 1001 002 百货部 E026 1002
003 食品部 E030 1003 表2: 商品号 商品名称 单价 库存量 30023 微机 4800 27
30024 打印机 1650 7 30101 毛巾 10 106 表3 职工号 姓名 住址 E001 王军 南京路 E002 李晓斌 淮海路
E003 杨烨 江西路 E004 田波 西藏路 E005 刘丽华 淮海路 表4: 职工号 姓名 部门名 月销售额
E001 王军 家电部 528900 E002 李晓斌 家电部 368000 E003 杨烨 百货部 12500
E005 刘丽华 百货部 8250 A.没有消除非主属性对码的部分函数依赖,如部门名-〉负责人。
B.没有消除非主属性对码的部分函数依赖,如负责人-〉电话。 C.只消除了非主属性对码的部分函数依赖,而未消除传递函数依赖。
D.没有消除非主属性对码的部分函数依赖和传递函数依赖。 A.修改表1的结构,在表1中增加一个职工号
B.修改表2的结构,在表2中增加一个职工号 C. 修改表2的结构,在表2中增加一个部门号 D. 修改表3的结构,在表3中增加一个部门号
A.销售(职工号,商品号,日期,数量) B.销售(职工号,商品名称,商品号,数量) C. 销售(职工号,部门号,日期,数量)
D.销售(职工号,部门号,商品号,日期)

解答:答案选择C|D|A。

  1. 第一范式中属性都是不可再分的数据项;例如在关系模式(系名称,高级职称人员)中,高级职称人员可以分为正高和副高,那么就不满足第一范式。
  2. 第二范式中每一个非主属性完全依赖主键,而且要满足第一范式为前提。只有一个主键就肯定满足第二范式。
  3. 第三范式没有非主属性传递依赖于码。
  4. BC范式:F中的每个依赖的决定因素必定包含R的某个候选码。
  1. 设关系模式R(U,F),其中R上的属性集U={A,B,C,D,E},R上的函数依赖集F={A->B,DE->B,CB->E,E->A,B->D}。()为关系R的候选关键字,分解()是无损连接,并保持函数依赖。
    A.AB
    B.DE
    C.CE
    D.DB
    A.p={R1(AC),R2(ED),R3(B)}
    B.p={R1(AC),R2(E),R3(DB)}
    C.p={R1(AC),R2(DE),R3(AB)}
    D.p={R1(ABC),R2(ED),R3(ACE)}

解答:答案选择C|D。有损分解就是不能还原的分解,相反无损分解能还原回到最初的关系模式。无损是指将一个关系模式分解成若干个关系模式以后,通过自然连接和投影的运算仍然能还原到原来的关系模式。首先单个属性的关系模式是有损的。
而候选关键字的选取看节点的入出度。在关系依赖集中只有C是只出度没有入度的,那么C一定是候选键的一部分。于是第一空的答案就选C。

A B C D E
ABC # # #
DE # #
ACE # # #

C D E
ABC # # # 1
ED # #
ACE # 2 # 3 #
根据D选项得关系模式,得到上面的表。因为B能到D,所以在图上加上
1;
因为A能到B,所以在图上加上
2;
因为B能到D,所以再在图上加上
3;
通过上面的操作,能还原回ABCDE这个关系模式,那么就说明是无损的。

11.思考题:请思考该关系模式存在哪些问题?(从数据冗余,更新异常,插入异常删除异常,这几个方面来考虑),解决方案是什么?

SNO CNO GRADE CREDIT
S01 C01 75 4
S02 C01 92 4
S03 C01 97 4
S04 C01 55 4
S01 C02 87 2
S02 C02 87 2
S01 C03 94 5

解答:

  • 数据冗余:在第二范式中课程号和课程学分,其中学分和课程号就有数据的冗余。
  • 更新异常:比如C1课程更新了,那么四条记录必须同时更新,不然就有不一致的情况。
  • 插入异常:新课程的课程号是C5,3个学分但是还没有人选这课程。

解决方案:将上面的表拆解为两个关系模式后就满足了第二范式。

12.阅读以下关于软件系统数据建模的说明,在答题纸上回答问题l至问题3. 【说明】 某软件公司成立项目组为某高校开发一套教职工信息管理系统。与教职工信息相关的数据需求和处理需求如下:

(1)数据需求:在教职工信息中能够存储学校所有在职的教工和职工信息,包括姓名、所属部门、出生年月、工资编号、工资额和缴税信息;部门信息中包括部门编号、部门名称、部门人数和办公地点信息。

(2)处理需求:能够根据编制内或外聘教职工的工资编号分别查询其相关信息;每个月的月底统一核发工资,要求系统能够以最快速度查询出教工或者职工所在部门名称、实发工资金额;由于学校人员相对稳定,所以数据变化及维护工作量很少。

项目组王工和李工针对上述应用需求分别给出了所设计的数据模型(如图2-1和图2-2所示)。王工遵循数据库设计过程,按照第三范式对数据进行优化和调整,所设计的数据模型简单且基本没有数据冗余;而李工设计的数据模型中存在大量数据冗余。
在这里插入图片描述
项目组经过分析和讨论,特别是针对数据处理中对数据访问效率的需求,最终选择了李工给出的数据模型设计方案。
【问题1】(9分)
请用300字以内的文字,说明什么是数据库建模中的反规范化技术,指出采用反规范化技术能获得哪些益处,可能带来哪些问题。
【问题2】(8分)
请简要叙述常见的反规范化技术有哪些。
【问题3】(8分)
请分析李工是如何应用反规范化技术来满足教职工信息管理需求的。

发布了513 篇原创文章 · 获赞 299 · 访问量 89万+

猜你喜欢

转载自blog.csdn.net/Last_Impression/article/details/104357990