10 AND x<15B. x BETWEEN 10 AND 15
B )。
C. x IN (11,12,13,14) D. x BETWEEN 11 AND 14
14. 给定关系模式 SCP (Snum, Cnum , P),其中Snum表示学号,Cnum表示 课程号,P表示名次。若每一名学生每门课程都有一定的名次,而每门课程每 一名次只有一名学生,则以下叙述中错误的是( A )。 A . (Snum, Cnum)是唯一的候选码
B . (Snum,。门口口)和(Cnum, P)都可以作为候选码 C .关系模式 SCP既属于3NF也属于BCNF
D .关系模式SCP没有非主属性 15.
现在只知道关系模式包含的属性和码 (用
下划线表示),则一定是第二范式 的关系是(B )。 A . R1{ A 1, A2, A3} C . R3{C 1, C2, C3}
B. R2{BI, B2, B3} D .以上都不是
16. 设有关系模式 R (A , B, C, D), F是R上成立的FD集, F={A TB, BTC} , B的闭包B+为由B函数决定的属性集,则 A . ABC 17. 是( A.1NF 18.
B.2NF B . BCD
C. BC
D. C
1NF的关系模式,必定
B+%( C)。
消除了部分函数依赖的 B )。
C.3NF
D.BCNF
设有关系模式R( A ,B,C, D),其数据
依赖集:F= { (A ,B) TC , S D}, 则关系模式R的规范化程度最高达到( B)。 A.1NF
B.2NF
C.3NF
D.BCNF
这主要
19. 数据库管理系统通常提供授权功能来控制不同用户访问数据的权限, 是为了实现数据库的(D )。 A.可靠性
B
. 一致性 C .完整性 D .安全性
20. 数据库副本的用途是(C)。 A.安全性保障
B .一致性控制 C .故障后的恢复 D .数据的转储
并
21. ( D)是指在转储过程中,不允许其他事务对数据库进行存取或修改操作, 且每次只转储上一次转储后更新过的数据 A.动态海量转储 B .动态增量转储
C.静态海量转储 D .静态增量转储
22. 若系统在运行过程中, 由于某种硬件故障, 使存储在外存上的数据部分损失 或全部损失,这种情况称为( C)。 A.事务故障 B •系统故障
C •介质故障 D •人为错误
23. 设计数据流程图 (DFD) 属于数据库设计的( D. )。 A.逻辑设计
B.概念设计
C•物理设计
D•需求设计
24. 在数据库设计中,当合并局部 E-R 图时,学生在某一局部应用中被当作实 体,而在另一局部应用中被当作属性,那么这种冲突被称之为( D)。 A. 属性冲突
B. 命名冲突
C. 联系冲突
D. 结构冲突 25. Server2000系统中的所有系统级信息存储于哪个数据库( A )。
A. master B. model C. tempdb D. msdb
26. 索引是在基本表的列上建立的一种数据库对象, 它同基本表分开存储,使 用它能够加快数据的( D )速度。 A. 插入 B. 修改 C.
删除 D.
查询
27. SQL Server 2000 的数据以页为基本存储单位, 页的大小为( A )。
A. 8KB
B . 16KB
C. 32KB
D. KB
28. 假设表中某列的数据类型为
Varcha(r 100),而输入的字符串为 “12345678”,则存储的是( A)。 A.12345678 共 8 个字节 B.
12345678 和 92 个空格 C . 12345678 和 12 个空格 D. 12345678 和 32 个空格 29.属于事务控制的语句是( )。
A. Begin Tran
、 Commit、 RollBack
B. Begin 、 Continue 、 End
C. Create Tran 、 Commit、 Roll Back
D. Begin Tran
、Continue 、 End
30.下面不是DCL语句为(B)。
A . GRANT B. DELETE C. REVOKE D. DENY
二、填空题(每空 2分,共20分)
1. 在SQL所支持的数据库系统的三级模式结构中,视图属于
( 外模式)。
2. 在候选码中的每个属性被称为( 性被称为(
非主)属性。
主)属性,不在任何候选码中的每个属
3. 在SQL中,主码约束的关键字为(主键 ),外码约束的关键字为(外键 )。
4. DBA利用( GRANT )语句将对某类数据的操作权限赋于用户,用 (REVOKE )语句收回用户对某类数据的操作权限。 5. 设一个关系为 R(A,B,C,D,E),它的最小函数依赖集为 FD={A^B,A~C,(A,D) TE},该关系只满足(
1阶)范式。
6•“是事务T在读取数据之前必须先对其加 S锁,在要修改数据之前必须先对 其加X锁,直到事务结束后才释放所有锁。”这是( 三)级封锁协议。 7. SQL Server数据库分为系统数据库和( 用户)数据库。
三、简答与计算题(共15分) (很简单,请同学参照书本解决)
1. 设有如图所示的关系 R,S,计算(6分) (1) R1=R U S (2) R2= nA,B( d A=a1 (R))
A B
C
al b1al
b2c2 c1
c1al b2 a2 b2 b2 cl a2 b2
2. 试述视图的优点? (4分)
简单性。简化用户对数据的理解,从而减轻用户的工作
安全性。通过视图用户只能查询和修改他们所能见到的数据。
逻辑数据性。视图可以使应用程序和数据库表在一定程度上。
3 .试述安全性控制的一般方法( 5分)
1. 用户标识和鉴定 2. 存取控制。 3. 视图机制 4. 审计
5. 数据加密
四、分析设计题。(共35分)
(一)(共 18 分)
现有关系数据库如下:
部门(部门编号,部门名称,电话) 员工(员工编号,姓名,性别,部门编号,职务) 项目(项目标号,项目名称,预算) 施工(员工编号,项目编号,工时) 用关系代数表达式实现下列题目:
1. 检索姓名叫‘王小毛'的员工的部门编号和职务。 (3 分)
答:SELECT部门编号,职务FROM员工 WHERE姓名=王小毛’ 用 SQL 语言实现下列题目:
2. 查询总工时在 480 小时以上(含 480 小时)的员工编号和总工时。 (4 分) 答:SELECT员工.员工编号,SUM(工时)AS 总工时FROM员工,施工 WHERE员 工 . 员工编号 =施工 . 员工编号
SELECT员工.员工编号,SUM(工时)AS 总工时 FROM员工,施工
WHERE员工.员工编号 = 施工•员工编号 GROUP BY员工.员工编号 HAVING 总工时 >= 480
3. 检索职称为’高级工程师’,同时至少参加了一预算在 100万元以上的项目 的员工的姓
名和部门名称。 (4 分)
答:SELECT姓名,部门名称FROM员工WHERE员工编号IN (SELECT员工编 号FROM 施工 WHERE项目编号IN (SELECT 项目标号 FROM项目 WHERE预 算 >=100 万元 ))
4. 定义一个工作量视图, 包含的属性有员工编号、 姓名、项目名称和工时。(4
分)
答:CREATE VIEW工作量AS SELECT员工编号,姓名,项目名称,工时FROM员 工,施工,项目 WHERE员工.员工编号=施工.员工编号 AND施工.项目编号=项 目.项目标号
5. 查询总工时在 480小时以上(含 480小时)的员工编号和总工时。 (3分) SELECT员工.员工编号,SUM(工时)AS 总工时FROM员工,施工 WHERE员工. 员工编号= 施工.员工编号 AND SUM工时)>=480 (二)(共 17 分)
已知教学数据库包含三个关系:
学生关系 s ( snum, sname, ssex, sage,dnum),其中的属性依次为:学号、姓 名、性别,年龄和所在系。
课程关系c(cnum, cname),其中的属性依次为:课程号、课程名。
选课关系sc( snum,cnum, score),其中的属性依次为: 学号、课程号和成绩。 系关系d(dnum,dname),其中dnum为系号,dname为系名称 说明:其中加下划线的属性为主键 ,sc表的外键分别为snum和cnum。 使用SQL语句完成下列功能 1.
事后发现学生雷吉平考试作弊 ,将其所有成绩改为 0分。(2分)
UPDATE S SET SCORE=0 WHERE SNUM IN (SELECT SNUM FROM S WHERE SNAME= 雷吉平’) 2.
删除”计算机系”的学生记录。
(2分)
DELETE FROM S WHERE DNUM IN (SELECT DNUM FROM DEPT WHERE DNAME=
计算机系’)
3. 查询王明同学的平均成绩。 (2分)
SELECTAVG(SCOREFROM$CWHERSNUMN (SELECTSNUMFROM)WHERSNAME=
王明' ) 4.
查询其他系中比系编号为’D1'的学生中年龄最小者要大的学生的信息。 (2 分 )
SELECT* FROMS WHERESAGE>ANY(SELECSTAGEFROMS WHEREDNUM'= D1' ) AND DNUM<'> D1'
5. 查询选修课程’C1'的学生学号和成绩,结果按成绩的升序排列,如果成 绩相同则按学号的降序排列。 (2 分)
SELECT SNUM,SCORE FROM SC WHERE CN' UCM1=' ORDER BY SCORE,SNUM DESC
6. 创建一个存储过程,通过输入参数学号( snum)在SC表中查找该snum的选
(3 分)
课记录,输出该学生所选课程的平均成绩。 CREATE PROCEDURE proc_avgscore @SNUM CHAR(6)
AS SELECT AVG(SCORE) FROM SC WHERE SNUM=@SNUM