正确答案:
题目:建立一个供应商、零件数据库。其中"供应商"表S(Sno,Sname,Zip,City)中的属性分别表示供应商代码、供应商名、供应商邮编、供应商所在城市,其函数依赖为Sno→(Sname,Zip,City),Zip→City。"零件"表P(Pno,Pname,Color,Weight,City),表示零件号、零件名、颜色、重量及产地。表S与表P之间的关系SP(Sno,Pno,Price,Qty)表示供应商代码、零件号、价格、数量。若要求:供应商代码不能为空,且值是唯一的,供应商的名也是唯一的;零件号不能为空,且值是唯一的;一个供应商可以供应多种零件,而一种零件可以由多个供应商供应。请将下面的SQL语句空缺部分补充完整。CREATETABLES(SnoCHAR(5)(1),SnameCHAR(30)UNIQUE,ZipCHAR(8),CityCHAR(20)(2));
解析:在给定的SQL语句中,因为Sno是主键,所以第(1)空应该填"PRIMARYKEY",但给出的选项中没有这个词组。试题描述告诉我们,"供应商代码不能为空,且值是唯一的",所以应该选择B,而在第(2)空处填写"PRIMARYKEY(Sno)"。
查看原题 查看所有试题
学习资料的答案和解析:
[单选题]给定学生S(学号,姓名,年龄,入学时间,联系方式)和选课SC(学号,课程号,成绩)关系,若要查询选修了1号课程的学生学号、姓名和成绩,则该查询与关系代数表达式()等价。
解析:本题考查数据库中的关系代数。解答本题需要对关系代数中的自然连接有一定了解。自然连接操作会自动以两个关系模式中共有属性值相等作为连接条件,对于连接结果,将自动去除重复的属性。所以在本题中,连接条件为两个表的学号相等,当连接操作完成以后,形成的结果表,有属性“学号,姓名,年龄,入学时间,联系方式,课程号,成绩”,此时要选择1号课程的学生记录,应使用条件6=“1”,其含义是表中的第6个属性值为“1”。所以本题应选B。
[单选题]设有职务工资关系P(职务,最低工资,最高工资),员工关系EMP(员工号,职务,工资),要求任何一名员工,其工资值必须在其职务对应的工资范围之内,实现该需求的方法是()
建立EMP上的触发器程序审定该需求
解析:本题考查对数据完整性约束方面基础知识的掌握。完整性约束包括:实体完整性约束、参照完整性约束和用户自定义完整性约束3类。实体完整性要求主键中的任一属性不能为空,同时主键不能有重复值。参照完整性要求外键的值,要么为空,要么为对应关系主键值域。同时仅当参照关系中没有任何元组的外键值与被参照关系中要删除元组的主键值相同时,系统才可以执行删除操作,否则拒绝执行删除操作。用户定义的完整性是针对某一具体数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。一般用于限制某字段值的取值范围,此范围不涉及其他数据表的值。从以上描述来看,题目的要求,以上3种完整性约束都无法达到目的。所以需要考虑触发器,触发器的功能一般比完整性约束要强得多。触发器的原理是通过编写相应的触发器脚本代码,来对某个字段值的变化进行监控,一旦值发生变化,则触发器脚本执行。在本题中,需要达到的效果是EMP中的工资产生变化,则需要判断变化值是否在P关系规定的范围之内,所以应在EMP上建立触发器。本题选C。
[单选题]由于软、硬件故障可能造成数据库中的数据被破坏,数据库恢复就是(1)。可以有多种方法实现数据库恢复,如定期将数据库作备份;在进行事务处理时,对数据更新(插入、删除、修改)的全部有关内容写入(2);当系统正常运行时,按一定的时间间隔,设立(3),把内存缓冲区内容还未写入到磁盘中的有关状态记录到该文件中;当发生故障时,根据现场数据内容及相关文件来恢复系统的状态。
解析:数据库恢复是指在数据库中的数据被破坏时,在尽可能短的时间内,把数据库恢复到故障发生前的状态。在进行事务处理时,对数据更新(插入、删除、修改)的全部有关内容写入日志文件;当系统正常运行时,按一定的时间间隔,设立检查点文件,把内存缓冲区内容还未写入到磁盘中的有关状态记录到该文件中;当发生故障时,根据现场数据内容及相关文件来恢复系统的状态。