数据库技术及应用II复习题参考答案(线上)

[复制链接]
发表于 2017-5-25 21:57:30 | 显示全部楼层 |阅读模式
数据库技术及应用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分 )
现已设计好了一个客户表,该客户的样本数据如表所示。
表名称:客户
  
客户姓名
  
客户地址
客户电话
业务员
业务员地址
业务员电话
王一林
北京丰台理店45
68791418
李森林
北京西甘家口43号
68217113
叶海明
杭州新堂三星路89号
6955435
郭珊珊
北京东城花市大街7号
63451148
田立云
天津黄河路11号
5998138
李森林
北京西城甘家口43号
68217113
冯占祥
青岛登州路56号
4788963
郭珊珊
北京东城花市大街7号
63451148
周玉山
北京海淀花园路33号
62563345
李森林
北京西城甘家口43号
68217113
   
回答下列问题:
(1)该表是否存在数据冗余?若存在由此而产生的后果。
(2)假设把表分解成两个新表,一个是客户,另一个是业务员,写出每个表的结构,并且说明主码和外码。
参考答案
(1)存在数据冗余,如业务员地址、业务员电话。由此而产生的后果是插入异常,删除异常,修改复杂。
    (2)把表分解成两个新表,一个是客户,另一个是业务员。
         客户(客户姓名,客户地址,客户电话,业务员姓名
         业务员(业务员姓名,业务员地址,业务员电话)
六、应用题(本题10分 )
根据下面这个职工表,使用SQL命令完成。
           职工表                                  职工表的结构   
  
职工号
  
姓名
性别
参加工作年限
职务级别
1287
李明玉
09/29/83
5
1853
王自立
03/20/88
2
2778
田立彬
07/Ol/87
4
2855
王一伟
12/12/85
2
3750
白美玉
11/09/89
3
  
职工号
  
CHAR(4)
主码
姓名
CHAR(8)
NOT NULL
性别
CHAR(2)
NOT NULL
参加工作时间
DATE
职务级别
CHAR(1)
                             职工1表
  
职工号
  
  姓名
性别
工作年限
级别
基本工资/元
  工程代号
1287
李明玉
  男
09/29/83
    5
  450.00
    17
1853
王自立
  男
03/20/88
    2
  560.00
    15
2778
田立彬
  男
07/Ol/87
    4
  480.00
    25
2855
王一伟
  男
12/12/85
    2
  560.00
    18
3750
白美玉
  女
11/09/89
    3
  515.00
    16
(1)按基本工资的升序列出职工1表的数据。
(2) 使所有职务级别是”3”或高于“3”的职工所对应的工程代号=25,并显示下表的数据内容。
  
    职工号
  
    工程代号
    1281
    25
    1853
    18
    2778
    25
    2855
    18
    3750
    25
参考答案
(1)SELECT  *
FROM  职工
ORDER BY 基本工资;
(2)(略)

快速回复 返回顶部 返回列表