[单选题]建立一个供应商、零件数据库。其中"供应商"表S(Sno,Sname,Zip,City)中的属性分别表示供应商代码、供应商名、供应商邮编、供应商所在城市,其函数依赖为Sno→(Sname,Zip,City),Zip→City。"零件"表P(Pno,Pname,Color,Weight,City),表示零件号、零件名、颜色、重量及产地。表S与表P之间的关系SP(Sno,Pno,Price,Qty)表示供应商代码、零件号、价格、数量。"供应商"表S属于()
正确答案 :B
2NF
解析:显然,表S的主键是Sno,说明S至少是2NF。但因为存在Sno→Zip和Zip→City,也就是说,City是传递依赖于主键的,所以S不是3NF。
[单选题]设有职务工资关系P(职务,最低工资,最高工资),员工关系EMP(员工号,职务,工资),要求任何一名员工,其工资值必须在其职务对应的工资范围之内,实现该需求的方法是()
正确答案 :C
建立EMP上的触发器程序审定该需求
解析:本题考查对数据完整性约束方面基础知识的掌握。完整性约束包括:实体完整性约束、参照完整性约束和用户自定义完整性约束3类。实体完整性要求主键中的任一属性不能为空,同时主键不能有重复值。参照完整性要求外键的值,要么为空,要么为对应关系主键值域。同时仅当参照关系中没有任何元组的外键值与被参照关系中要删除元组的主键值相同时,系统才可以执行删除操作,否则拒绝执行删除操作。用户定义的完整性是针对某一具体数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。一般用于限制某字段值的取值范围,此范围不涉及其他数据表的值。从以上描述来看,题目的要求,以上3种完整性约束都无法达到目的。所以需要考虑触发器,触发器的功能一般比完整性约束要强得多。触发器的原理是通过编写相应的触发器脚本代码,来对某个字段值的变化进行监控,一旦值发生变化,则触发器脚本执行。在本题中,需要达到的效果是EMP中的工资产生变化,则需要判断变化值是否在P关系规定的范围之内,所以应在EMP上建立触发器。本题选C。
[单选题]设关系模式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。
[单选题]由于软、硬件故障可能造成数据库中的数据被破坏,数据库恢复就是(1)。可以有多种方法实现数据库恢复,如定期将数据库作备份;在进行事务处理时,对数据更新(插入、删除、修改)的全部有关内容写入(2);当系统正常运行时,按一定的时间间隔,设立(3),把内存缓冲区内容还未写入到磁盘中的有关状态记录到该文件中;当发生故障时,根据现场数据内容及相关文件来恢复系统的状态。
正确答案 :
解析:数据库恢复是指在数据库中的数据被破坏时,在尽可能短的时间内,把数据库恢复到故障发生前的状态。在进行事务处理时,对数据更新(插入、删除、修改)的全部有关内容写入日志文件;当系统正常运行时,按一定的时间间隔,设立检查点文件,把内存缓冲区内容还未写入到磁盘中的有关状态记录到该文件中;当发生故障时,根据现场数据内容及相关文件来恢复系统的状态。
[单选题]某数据库中有员工关系E(员工号,姓名,部门,职称,月薪);产品关系P(产品号,产品名称,型号,尺寸,颜色);仓库关系W(仓库号,仓库名称,地址,负责人);库存关系I(仓库号,产品号,产品数量)。a.若数据库设计中要求:①仓库关系W中的"负责人"引用员工关系的员工号。②库存关系I中的"仓库号,产品号"唯一标识I中的每一个记录。③员工关系E中的职称为"工程师"的月薪不能低于3500元。则①②③依次要满足的完整性约束是(1)。b.若需得到每种产品的名称和该产品的总库存量,则对应的查询语句为:SELELCT产品名称,SUM(产品数量)FROMP,IWHEREP.产品号=I.产品号(2)
正确答案 :
查看原题 查看所有试题