|
数据库技术及应用II复习题(线上)(2017-04-20) 一、单选题(每小题2分 ) 1.网状数据库中记录与记录之间的联系是通过 A.指针 B.索引 C.公共属性 D.数据项 2.在数据库的三级模式结构中,模式有 A.0个 B.1个 C.2个 D.任意多个 3.关系数据库中,实现主码标识元组的作用是通过 A.实体完整性规则 B.参照完整性规则 C.用户自定义的完整性 D.属性的值域 4.设计ER图,属于数据库设计中的 A.需求分析 B.逻辑设计 C.概念设计 D.物理设计 · 5. 为了使索引键的值在基本表中唯一,在建立索引的语句中应使用保留字 A. UNIQUE B. COUNT C. DISTINCT D. UNION 参考答案:1.A 2.B 3.A 4.C 5.D 二、填空题(每小题1分 ) 1.数据模型通常由数据结构、数据操作和( )三部分组成。 2.数据操作描述了系统的( ) 特性。 3.对数据库的操作主要有数据检索和( )两大类。 4.将关系模式R分解为3NF,一定可以满足既具有无损连接性,又保持( )。 5.行列子集视图是指,从单个( )导出,只是去掉了其中的某些行和某些列。 6.嵌入式SQL引入了( )机制,用来协调两种不同的处理方式. 7.系统函数为三类:标量函数、聚合函数和( )函数。 8.在SQL Server的建立索引的原则之一,在经常( )的字段上最好建立索引。 9.一级封锁协议是指任一事务在修改某数据之前,必须先对其加上( )锁,直至事务结束才能释放之。 10.触发器能够对数据库中的相关表实现( )更改。 参考答案: 1.完整性约束2.动态3.更新4.函数依赖性5.基本表6.游标 7.行集 8.查询9.排它 10.级联 三、简答题(每小题5分 ) 1.数据库的三级模式描述。 2.数据模型及其要素的描述。 3.如何使用对集合操作排序的ORDER BY子句。 4.SQL Server中压缩数据库的方法描述。 参考答案: 1.模式:数据库中全体数据的逻辑结构和特征的描述。 外模式:数据库用户使用的局部数据的逻辑结构和特征的描述。 内模式:数据物理结构和存储方式的描述。 2.数据模型通常由数据结构、数据操作和完整性约束三部分组成。 数据结构描述了系统的静态特性,这是数据模型最本质的内容。 数据操作描述了系统的动态特性。对数据库的操作主要有数据检索和更新两大类,这是任何数据模型都必须规定的操作。 数据模型还必须提供定义完整性约束条件的手段,并在操作中自动检查。 3.(1)ORDERBY子句只能用于对最终查询结果排序,不能对中间结果排序; (2)任何情况下,ORDER BY子句只能出现在最后; (3)对集合操作结果排序时,ORDER BY子句中用数字指定排序属性。 4.对数据库可以进行自动压缩,也可以进行人工压缩。 (1)自动压缩数据库 在企业管理器左侧窗口中,右健单击某个数据库名称,在出现的快捷菜单中,单击“属性”菜单项,出现“数据库属性”对话框,单击对话框中的“选项”选项卡,在本页中选择“自动收缩”选项,让系统自动压缩数据库。 (2)人工压缩数据库 在企业管理器中,对所要压缩的数据库上单击右键,从快捷菜单中的“所有任务”中选择“收缩数据库”选项,并进行相应的配置。 可以使用DBCC SHRINKDATABASE 和DBCC SHRINKFILE 命令来压缩数据库。 四、设计题(每小题5分 ) 已知学生-课程数据库的三个关系模式: 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表:Course(Cno,Cname,Cpno,Ccredit) 学生选课表:SC(Sno,Cno,Grade) 1. 查询每一门课的间接先修课。 2. 查询选修2号课程且成绩在90分以上的所有学生的学号及姓名。 3. 用嵌套连接查询与“刘晨”所在系的同学。 参考答案: 1. 查询每一门课的间接先修课。 SELECT FIRST.Cno,SECOND.Cpno FROM Course FIRST,Course SECOND WHERE FIRST.Cpno = SECOND.Cno; 2.查询选修2号课程且成绩在90分以上的所有学生的学号及姓名。 SELECT Student.Sno, student.Sname FROM Student, SC WHERE Student.Sno = SC.Sno AND SC.Cno= ‘ 2 ’ AND SC.Grade > 90; 3. 用嵌套连接查询与“刘晨”所在系的同学。 SELECT Sno,Sname,Sdept FROMStudent WHERE Sdept IN (SELECT Sdept FROM Student WHERE Sname=‘ 刘晨 ’); 五、应用题(本题10分 ) 现已设计好了一个客户表,该客户的样本数据如表所示。 表名称:客户 回答下列问题: (1)该表是否存在数据冗余?若存在由此而产生的后果。 (2)假设把表分解成两个新表,一个是客户,另一个是业务员,写出每个表的结构,并且说明主码和外码。 参考答案 (1)存在数据冗余,如业务员地址、业务员电话。由此而产生的后果是插入异常,删除异常,修改复杂。 (2)把表分解成两个新表,一个是客户,另一个是业务员。 客户(客户姓名,客户地址,客户电话,业务员姓名) 业务员(业务员姓名,业务员地址,业务员电话) 六、应用题(本题10分 ) 根据下面这个职工表,使用SQL命令完成。 职工表 职工表的结构 职工1表 (1)按基本工资的升序列出职工1表的数据。 (2) 使所有职务级别是”3”或高于“3”的职工所对应的工程代号=25,并显示下表的数据内容。 参考答案 (1)SELECT * FROM 职工 ORDER BY 基本工资; (2)(略)
|