正确答案: C
数据字典和数据流图
题目:在数据库设计的需求分析阶段应完成包括()在内的文档。
解析:本题考查数据库设计方面的相关知识。数据库的设计主要分为:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段。需求分析阶段的任务是对现实世界要处理的对象(组织、部门和企业等)进行详细调查,在了解现行系统的概况、确定新系统功能的过程中收集支持系统目标的基础数据及处理方法。需求分析是在用户调查的基础上,通过分析,逐步明确用户对系统的需求。在需求分析阶段应完成的文档是数据字典和数据流图。概念设计阶段的任务是完成用户的数据模型,这种模型是与DBMS无关的概念模型,常见的有E-R模型。逻辑设计阶段的任务是将概念模型转换成具体的关系模式。物理设计阶段的任务是将关系模式加入DBMS的特性,成为具体某个DBMS的数据库。
查看原题 查看所有试题
学习资料的答案和解析:
[单选题]在某学校的综合管理系统设计阶段,教师实体在学籍管理子系统中被称为"教师",而在人事管理子系统中被称为"职工",这类冲突被称之为()
命名冲突
解析:根据局部应用设计好各局部E-R图之后,就可以对各分E-R图进行合并。合并的目的在于在合并过程中解决分E-R图中相互间存在冲突,消除分E-R图之间存在的信息冗余,使之成为能够被全系统所有用户共同理解和接受的统一的、精炼的全局概念模型。分E-R图之间的冲突主要有命名冲突、属性冲突和结构冲突3类。选项B正确,因为命名冲突是指相同意义的属性,在不同的分E-R图上有着不同的命名,或是名称相同的属性在不同的分E-R图中代表着不同的意义,这些也要进行统一。选项C不正确,因为属性冲突是指同一属性可能会存在于不同的分E-R图中,由于设计人员不同或是出发点不同,对属性的类型、取值范围和数据单位等可能会不一致,这些属性对旧的数据将来只能以一种形式在计算机中存储,这就需要在设计阶段进行统一。选项D不正确,因为结构冲突是指同一实体在不同的分E-R图中有不同的属性,同一对象在某一分E-R图中被抽象为实体而在另一分E-R图中又被抽象为属性,需要统一。
[单选题]设有职务工资关系P(职务,最低工资,最高工资),员工关系EMP(员工号,职务,工资),要求任何一名员工,其工资值必须在其职务对应的工资范围之内,实现该需求的方法是()
建立EMP上的触发器程序审定该需求
解析:本题考查对数据完整性约束方面基础知识的掌握。完整性约束包括:实体完整性约束、参照完整性约束和用户自定义完整性约束3类。实体完整性要求主键中的任一属性不能为空,同时主键不能有重复值。参照完整性要求外键的值,要么为空,要么为对应关系主键值域。同时仅当参照关系中没有任何元组的外键值与被参照关系中要删除元组的主键值相同时,系统才可以执行删除操作,否则拒绝执行删除操作。用户定义的完整性是针对某一具体数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。一般用于限制某字段值的取值范围,此范围不涉及其他数据表的值。从以上描述来看,题目的要求,以上3种完整性约束都无法达到目的。所以需要考虑触发器,触发器的功能一般比完整性约束要强得多。触发器的原理是通过编写相应的触发器脚本代码,来对某个字段值的变化进行监控,一旦值发生变化,则触发器脚本执行。在本题中,需要达到的效果是EMP中的工资产生变化,则需要判断变化值是否在P关系规定的范围之内,所以应在EMP上建立触发器。本题选C。
[单选题]若要使某用户只能查询表EMP中的部分记录,应采取的策略是()
构建该部分记录的行级视图,并将该视图的查询权限赋予该用户
解析:选项A是错误的,因为具有DBA特权的用户可操作数据库的所有资源。选项B是错误的,因为选项B是将表EMP的查询权限赋予该用户,即全部记录,而题目只允许某用户查询表EMP中的部分记录。选项C是错误的,因为编写查询表EMP的存储过程仍然是查询表EMP的所有记录。选项D是正确的,因为是构建该部分记录的行级视图,并将该视图的查询权限赋予该用户。
[单选题]在数据库系统中,“事务”是访问数据库并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求数据库系统维护事务的原子性、一致性、隔离性和持久性。针对事务的这4种特性,考虑以下的架构设计场景。假设在某一个时刻只有一个活动的事务,为了保证事务的原子性,对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止,系统仅需要删除副本,原数据库没有受到任何影响。这种设计策略称为(1)。事务的一致性要求在没有其他事务并发执行的情况下,事务的执行应该保证数据库的一致性。数据库系统通常采用(2)机制保证单个事务的一致性。事务的隔离性保证操作并发执行后的系统状态与这些操作以某种次序顺序执行(即可串行化执行)后的状态是等价的。两阶段锁协议是实现隔离性的常见方案,该协议(3)。持久性保证一旦事务完成,该事务对数据库所做的所有更新都是永久的,如果事务完成后系统出现故障,则需要通过恢复机制保证事务的持久性。假设在日志中记录所有对数据库的修改操作,将一个事务的所有写操作延迟到事务提交后才执行,则在日志中(4)。当系统发生故障时,如果某个事务已经开始,但没有提交,则该事务应该(5)。
解析:本题主要考查数据库系统架构设计知识。在数据库系统中,“事务”是访问并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求数据库系统维护事务的原子性、一致性、隔离性和持久性。题干中第1个架构设计场景描述了数据库设计中为了实现原子性和持久性的最为简单的策略:“影子拷贝”。该策略假设在某一个时刻只有一个活动的事务,首先对数据库做副本(称为影子副本),并在磁盘上维护一个dp_pointer指针,指向数据库的当前副本。对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止,系统仅需要删除新副本,原数据库副本没有受到任何影响。题干中的第2个架构设计场景主要考查考生对事务一致性实现机制的理解。事务的一致性要求在没有其他事务并发执行的情况下,事务的执行应该保证数据库的一致性。数据库系统通常采用完整性约束检查机制保证单个事务的一致性。题干中的第3个架构设计场景主要考查数据库的锁协议。两阶段锁协议是实现事务隔离性的常见方案,该协议通过定义锁的增长和收缩两个阶段约束事务的加锁和解锁过程,能够保证事务的串行化执行,但由于事务不能一次得到所有需要的锁,因此该协议可能会导致死锁。题干中的第4个架构设计场景主要考查数据库的恢复机制,主要描述了基于日志的延迟修改技术(Deferred-ModificationTechruque)的设计与恢复过程。该技术通过在日志中记录所有对数据库的修改操作,将一个事务的所有写操作延迟到事务提交后才执行,日志中需要记录“事务开始”和“事务提交”时间,还需要记录数据项被事务修改后的新值,无须记录数据项被事务修改前的原始值。当系统发生故障时,如果某个事务已经开始,但没有提交,则该事务对数据项的修改尚未体现在数据库中,因此无须做任何恢复动作。
[单选题]设关系模式R(U,F),其中,R上的属性集U={A,B,C,D,E},R上的函数依赖集F=(A→B,DE→B,CB→E,E→A,B→D}。(1)为关系R的候选关键字。分解(2)是无损联接,并保持函数依赖的。
解析:本题考查如何求解候选关键字和对模式分解知识的掌握。候选关键字使用2.1.6规范化理论中的图示法进行求解,对R关系模式画图如图2-14所示。图中C节点为0度节点,所以它必然被包含在候选关键字中,但仅有C节点并不能遍历全图,所以需要加入其他中间节点。若加入B节点,则BC→E,E→A,B→D,能遍历全图。与此同时,加入A、E都能起到同样的效果。所以关系R有3个候选键:BC、EC,AC。接下来是判断模式分解过程中的无损联接与保持函数依赖的问题。这个问题相对来说比较复杂。如果逐个判断每个选项的无损联接与保持函数依赖,无疑工作量是很大的。所以我们可以先观察这些选项有什么特点,通过观察发现A与B选项都存在单个字段的分解。在进行模式分解时,如果出现单字段,同时该字段未在其他分解的子关系模式中出现,并且函数依赖中有此字段的依赖关系,则说明此分解没有保持函数依赖。原因很简单,关于该字段的那个函数依赖,必然在分解中丢失了。所以A与B选项可以先排除。然后判断C与D是否为无损联接。对选项C构造初始的判定表,如表2-14所示。由于A→B,属性A的第1行和第3行相同,可以将第1行b改为a;又由于B→D,属性B的第1行和第3行相同,所以需要将属性D第1行b和第3行b改为同一符号,即取行号值最小的b。修改后的判定表如表2-15所示。反复检查函数依赖集F,无法修改上表,所以选项C是有损联接的。对选项D构造初始的判定表,如表2-16所示。由于A→B,属性A的第1行和第3行相同,可以将第3行b改为a;E→A,属性E的第2行和第3行相同,可以将属性A第2行b改为a;AC→E,属性E的第2行和第3行相同,可以将属性E第1行b改为a;B→D,属性B的第1行和第3行相同,所以需要将属性D第1行b和第3行b,改为同一符号,即取行号值最小的b。E→D,属性E的第1~3行相同,可以将属性D第1行b和第3行b改为a。修改后的判定表如表2-17所示。由于上表第一行全为a,故分解无损。所以本空应选D。
[单选题]设有职工实体Employee(职工号,姓名,性别,年龄,通信地址,家庭成员),其中通信地址记录了邮编、省、市、街道信息;家庭成员记录了职工的亲属的姓名。职工实体中的通信地址是一个(1)属性;为了将数据库模式设计得更合理,对于家庭成员属性(2)。
解析:简单属性是原子的,不可再分的。复合属性可以细分为更小的部分(即划分为别的属性)。有时用户希望访问整个属性,有时希望访问属性的某个成分,那么在模式设计时可采用复合属性。本题职工实体集Employee的通信地址可以进一步分为邮编、省、市、街道。第(1)空的正确答案为B。我们所举的例子中,定义的属性对于一个待定的实体都只有单独的一个值。例如,对于一个特定的职工,只对应一个职工号、职工姓名,这样的属性称为多值属性。为了将数据库模式设计得更合理,第(2)空的家庭成员属性应该将职工亲属的姓名加上职工号设计成为一个独立的实体。
[单选题]某公司的部门(部门号,部门名,负责人,电话)、商品(商品号,商品名称,单价,库存量)和职工(职工号,姓名,住址)3个实体之间的关系如表2-18、表2-19和表2-20所示。假设每个部门有一位负责人和一部电话,但有若干名员工;每种商品只能由一个部门负责销售。部门关系不属于第三范式的原因是(1)。如果用户要求得到表2-21所示的结果,需要(2),并增加关系模式(3)。
解析:在部门(部门号,部门名,负责人,电话)关系模式中,部门号是主码,所以不存在对码的部分依赖问题。根据试题假设,每个部门有一位负责人和一部电话,也就是说,存在"责人一电话"样的函数依赖,即存在对主码的传递函数依赖。在表2-21中,有职工号、姓名、部门、月销售额4个属性,其中职工号和姓名可以由表2-20得出,但是,由表2-19至表2-20无法得出职工所在的部门,因此,应该在表2-20中增加"部门号"属性。同时,要计算出职工的月销售总额,还需要一个表来记录职工销售的数据。该表需要包括的属性有职工号、商品号、日期、数量。
[单选题]企业战略数据模型可分为两种类型:(1)描述日常事务处理中的数据及其关系;(2)描述企业管理决策者所需信息及其关系。
解析:企业中使用的数据模型分两大类,一类针对处理日常事务的应用系统,即数据库;另一类针对高层决策分析,即数据仓库。