上海交通大学继续教育《数据库系统及应用》大作业代做案例
一、单项选择题(25×2”=50 分)
1. E-R 图中,表示 m:n 的联系及实体,至少需要建立( )个关系模式(即表)。
添加微信好友, 获取更多信息
复制微信号
A. 1 | B. 2 | C. 3 | D. 4 |
2. 关于 SQL Server 数据库的物理文件下面说法正确的是( )。
A. 每个数据库可以有多个日志文件 | B. 每个数据库可以有多个主数据文件 |
C. 主数据文件既可以添加,也可以删除 | D. 辅助数据文件是可选的,可以添加和删除。 |
3. 创建一个全部使用系统默认参数配置的 TESTDB 数据库的 SQL 命令为( )。
A. CREATE DATABASE TESTDB
B. CREATE DATABASE TESTDB ON (NAME = 'TESTDB', FILENAME ='D:\dbsys\testdb.ldf' )
C. CREATE DATABASE TESTDB ON (NAME = 'TESTDB', FILENAME ='D:\dbsys\testdb.ndf' )
D. CREATE DATABASE TESTDB ON (NAME = 'TESTDB', FILENAME ='D:\dbsys\testdb.mdf' )
4. 将 XSB 表“备注”列删除,SQL 命令为:( )。
A. CREATE TABLE XSB (备注 varchar(500))
B. ALTER TABLE XSB ADD 备注 varchar(500)
C. ALTER TABLE XSB DROP COLUMN 备注
D. ALTER TABLE XSB ALTER COLUMN 备注 varchar(500)
5. 在 XSB 表中学号大于 081220 的学生,让其全部选修 208 课程,成绩为 NULL,添加到 CJB 中。对应 SQL 语句为:( )。
A. INSERT INTO CJB SELECT 学号 FROM XSB WHERE 学号 > '081220'
B. INSERT INTO CJB SELECT 学号, '208', NULL FROM XSB WHERE 学号 > '081220'
C. INSERT INTO CJB AS SELECT 学号, '208', NULL FROM XSB WHERE 学号 > '081220'
D. INSERT INTO CJB FROM SELECT 学号, '208', NULL FROM XSB WHERE 学号 > '081220'
6. 将 XSB 中,通信工程专业的学生的总学分加 4,对应的 SQL 命令为( )。
A. SET 总学分 = (SELECT 总学分 + 4 FROM XSB WHERE 专业 = '通信工程' )
B. SELECT 总学分+= 4 FROM XSB WHERE 专业 = '通信工程'
C. UPDATE XSB SET 总学分+= 4 WHERE 专业 = '通信工程'
D. UPDATE SET 总学分+= 4 WHERE 专业 = '通信工程' 7. 删除 CJB 表的 SQL 语句为( )。
A. DELETE TABLE CJB | B. DELETE CJB |
C. DROP TABLE CJB | D. TRUNCATE CJB |
8. 在 XSB 表中找出名字中含有“红”字的同学记录的命令是( )。
A. SELECT * FROM XSB WHERE 姓名 = '红'
B. SELECT * FROM XSB WHERE 姓名 LIKE '%红'
C. SELECT * FROM XSB WHERE 姓名 LIKE '红%'
D. SELECT * FROM XSB WHERE 姓名 LIKE '%红%'
9. 对于 CJB 和 KCB 的连接,在 CJB 中没有出现的 KCB 中课程号,在连接后记录也会出 现,但是对应 CJB 的列的值为 NULL,我们使用 SELECT CJB.*,KCB.* FROM CJB KCB ON CJB.课程号=KCB.课程号。该 SQL 语句空白部分应该填( )。
A. JOIN | B. LEFT JOIN | C. RIGHT JOIN | D. FULL JOIN |
10. 关于可更新视图下面说法正确的是( )。
A. 含有聚集函数的视图是不可更新的。
B. 含有计算得到的列的视图都可以更新。
C. 当视图依赖的基本表有多个时,可以无修改地在删除数据。
D. 当视图依赖的基本表有多个时,可以无修改地向视图插入数据。
11. SQL Server 对游标使用的过程依次是( )。
A. 声明游标、打开游标、读取数据、关闭游标、删除游标
B. 打开游标、读取数据、关闭游标、删除游标
C. 打开游标、读取数据、关闭游标
D. 声明游标、读取数据、删除游标
12. @name 为字符型变量,则 SELECT '姓名' = @name 语句的功能是( )。
A. 将@name 变量的值设为“姓名”。
B. 将@name 变量的值赋给“姓名”列。
C. 在结果窗口输出@name 变量的值,列标题为“姓名”。
D. 系统缺省表中查找“姓名”字段的值等于@name 值的记录。
13. 对于下面语句:
DECLARE @ii int, @sum int SET @ii = 0 SET @sum = 0 WHILE (1<2) BEGIN | SET @sum += @ii SET @ii +=1 IF (@ii > 5) BREAK END |
执行后,@sum 的值为( )。
A. 0 | B. 5 | C. 10 | D. 15 |
14. 将游标变量@Xsb_Cur 赋值为 XSB 全部记录的语句为( )。
A. SET @Xsb_Cur = CURSOR FOR SELECT * FROM XSB
B. CREATE @CURSOR Xsb_Cur AS SELECT * FROM XSB
C. DECLARE @Xsb_Cur AS TABLE XSB
D. DECLARE @Xsb_Cur CURSOR FOR SELECT * FROM XSB 15. 关于数据完整性,下面说法正确的是( )。
A. 实体完整性又称引用完整性。
B. CHECK 约束属于实体完整性。
C. 规定某行不能为空且值唯一是维护了参照完整性。
D. CHECK 约束和参照完整性都可以让某行只能在某个有限元素集合中取值。
16. 给 KCB 表的“课程名”列上创建唯一索引 KCM_ind 的命令为:( )。
A. CREATE CLUSTERED INDEX KCM_ind ON KCB (课程名)
B. CREATE PRIMARY INDEX KCM_ind ON KCB (课程名)
C. CREATE UNIQUE INDEX KCM_ind ON KCB (课程名)
D. CREATE INDEX KCM_ind ON KCB (课程名)
17. 在 XSB 表中找出“专业”列增加让其只能在{计算机、通信工程}集合中取值的约束的
命令是( )。
A. ALTER TABLE XSB ADD 专业 IN ('计算机','通信工程')
B. ALTER TABLE XSB ADD CHECK (专业 IN ('计算机','通信工程'))
C. ALTER TABLE XSB ADD ('计算机' <=专业 AND 专业 <='通信工程'))
D. ALTER TABLE XSB ADD CHECK ('计算机' <=专业 AND 专业 <='通信工程'))
18. 某存储过程的定义语句为 CREATE PROCEDURE myproc @xb bit, @zy char(12) AS …… ,则下面执行该过程正确的语句是( )。
A. EXECUTE myproc | B. EXECUTE myproc 1 |
C. EXECUTE myproc '通信工程', 1 | D. EXECUTE myproc @zy='通信工程', @xb =1 |
19. 有如下触发器 CREATE TRIGGER mytrg ON CJB AFTER INSERT AS ROLLBACK ,
则执行 INSERT INTO CJB VALUES('081241','302',89) 语句后,结果为( )。
A. 触发器触发(即调用)了,但 CJB 表没有插入记录 B. 触发器没有触发(即调用),CJB 表没有插入记录。 C. 触发器触发(即调用)了,CJB 表插入了记录。
D. 触发器没有触发(即调用),但 CJB 表插入了记录。
20. 创建一个对应 D:\backup\dbback.bak物理文件,逻辑名为 mybckup 的永久备份介质的 SQL
命令为( )。
A. EXEC sp_dropdevice 'disk' , 'mybckup', 'D:\backup\dbback.bak'
B. EXEC sp_dropdevice 'disk' , 'D:\backup\dbback.bak', 'mybckup'
C. EXEC sp_addumpdevice 'disk' , 'mybckup', 'D:\backup\dbback.bak'
D. EXEC sp_addumpdevice 'disk' , 'D:\backup\dbback.bak', 'mybckup'
21. 已经有了一个对应 E:\db\dbback.bak 物理文件,逻辑名为 ourbckup 的永久备份介质,现 将数据库 PXSCJ 完全备份到该永久介质上,对应的 SQL 语句为( )。
A. BACKUP LOG PXSCJ TO ourbckup
B. BACKUP LOG PXSCJ TO 'E:\db\dbback.bak'
C. BACKUP DATABASE PXSCJ TO ourbckup
D. BACKUP DATABASE PXSCJ TO 'E:\db\dbback.bak'
22. 要想使数据库中所有的用户都能查询 CJB 表,我们应该使用的 SQL 语句为( )。
A. GRANT SELECT ON CJB TO public | B. GRANT SELECT ON CJB TO guest |
C. GRANT SELECT ON CJB TO anyone | D. GRANT SELECT ON CJB TO anybody |
23. 假设之前已经给予了 sam 用户在 CJB 表上插入的权限,现在想要收回此权限,让其不再
拥有此权限,我们应该使用( )。
A. DENY INSERT ON CJB TO sam | B. DENY INSERT ON CJB TO public |
C. REVOKE INSERT ON CJB FROM sam | D. REVOKE INSERT ON CJB FROM public |
24. 对于下面代码:
BEGIN TRANSACTION
INSERT INTO CJB (学号, 课程号, 成绩) VALUES('081204', '101', 80) UPDATE XSB SET 总学分= 总学分+5 WHERE 学号 = '081204' COMMIT
ROLLBACK
实际的效果是:( )。
A. 只有 INSERT 语句运行的结果写到数据库中。
B. 只有 UPDATE 语句运行的结果写到数据库中。
C. INSERT 和 UPDATE 语句运行的结果都写到数据库中。
D. UPDATE 和 INSERT 语句运行的结果都没有写到数据库中。
25. “未提交锁”与“序列化”比较起来,前者对数据完整性和一致性的保持 ,并发程度
。( )。
A. 更差,更低 | B. 更差,更高 | C. 更好,更低 | D. 更好,更高 |
二、计算填空题(4×5”= 20 分)
1. 将下面语句
SELECT 课程号, 课程名 FROM KCB WHERE 课程号 IN (SELECT 课程号 FROM CJB)
改为功能等价的不含 IN 的语句:
2. 查找选修学生人数在 3 人以上的课程名,写出 SQL 语句。
3. 写出完成如下两个步骤的 SQL 语句:
(1) 在书上 PXSCJ 库中,建立每门功课的最高分视图 KCZGF,该视图包含“课程号”、“最 高分”两列。
(2) 在书上 PXSCJ 库中,已经存在如下课程学生情况视图 KCXSZB: CREATE VIEW KCXSQKB AS
SELECT KCB.课程号, KCB.课程名, XSB.学号, XSB.姓名, CJB.成绩
FROM XSB JOIN CJB JOIN KCB ON CJB.课程号 = KCB.课程号 ON XSB.学号 = CJB.
学号
请写出根据 KCZGF、KCXSZB 视图列出每门课程最高分的学生情况,包括“课程号”, “课程名”,“学号”,“姓名”,“成绩”列。
4. 给 KCB 表增加如下约束:①“学分”列的值在 1~10 之间,②“学时”列的值在 1~200 之间,③每学分对应的学时数在 16~18 之间(以上范围都含边界值)。写出相应的 SQL 语句。
三、简述题(3×10”= 30 分)
对如下 E-R 图,我们建立了员工表:YGB(员工号,领导工号)来描述,该表每行记 录描述一员工,其中“领导工号”字段的值要么为 NULL(表示该员工无领导),要么为该 员工的领导的员工号。
员工 员工号 (YGB) n 领导1 | 例如对于 YGB 某时刻的内容如下:: |
1. 根据上面 E-R 图建立 YGB 表的 SQL 语句。要求表中包含主键(完整性)、参照完整性。 其中员工号为长度 6 的 char。
2. 该数据库中规定每个领导手下最多 10 个下属,请写出定义 YGB 的触发器 ygb_safety 的
SQL 语句。
3. 现在要求定义一个存储过程 Find_Top_Leader,该过程对参数@employeeid 指定的员工 号,在 YGB 中查找出其最高领导的员工号放入变量@toppleader 变量。该过程具体情况 为:如果员工号为@employeeid 的记录的“领导工号”字段值不为 NULL,则@toppleader 的值为其最高领导的员工号;如果“领导工号”字段值为 NULL,则@toppleader 的值为 NULL。写出该存储过程的定义 SQL 语句。
本文链接:https://daizuozuoye8.com/?id=150
转载声明:本站发布文章及版权归原作者所有,转载本站文章请注明文章来源!
请发表您的评论