数据库(40分)
一、选择题(10分)
- Database的宿主是( )
A. 数据库管理员
B. 数据库的创建者
C. 可以访问数据库的用户 - 在启发式的查询优化中,关系代数表达式中操作的执行顺序应为( )。
A. 连接操作→选择操作→笛卡尔集操作
B. 笛卡尔集操作→连接操作→选择操作
C. 选择操作→连接操作→笛卡尔集操作
D. 连接操作→投影操作→选择操作 - 事务t1,t2同时对同一个数据进行写操作会导致什么( )
A. 丢失修改
B. 脏读
C. 重复读 - 在事务处理中,如果发生了系统故障,并且事务还未提交,应该怎么办( )
A. undo
B. redo
C. 不做任何处理 - 必须使用游标的嵌入式SQL语句的情况是( )。
A. INSERT
B. 对已知的査询结果确定为单元组时
C. DELETE
D. 对已知的査询结果确定为多元组时
二、填空题(10分)
- 二目关系是( )范式。
- 可以用在SQL语句中,用于测试集合是否为空的是( )。
- 并发事务可以正确调度的准则是( )。
- 遵守两段锁协议的事务( )发生死锁。
- 数据库对查询操作有帮助的信息,是( )和( )。
三、(10分)
某集团名下有若干个工厂,毎个工厂可以生产多种产品,每一种产品又可以被多家工厂生产,每个工厂按照固定的计划数量生产产品。每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、类型,职工的属性有职工号、姓名。
根据以上语义构建E-R图,标出主属性。
四、(10分)
设数据库中有四个关系表:
学生表S(sno, sname, sex, age, dept)其属性分别代表学号,学生姓名,性别,年龄和院系
教师表T(tno, tname, title, cno)其属性分别代表教师编号,姓名,职称和所教课程
课程表C(cno, cname, hour)其属性分别代表课程编号,课程名称和课时
选课表SC(sno, cno, score)其属性分别代表学号,课程编号,授课教师编号和本课程的最终成绩
- 用关系代数写出成绩高于90分的学生的姓名和年龄;
用SQL语句完成下列操作: - 查询没有选修1号课程的学生的姓名
- 建立CS系选修了1号课程的学生的视图(包括学号、姓名和院系)
- 为了便于后续的査询,在5表上按学号升序建立唯一索引
- 删除CS系所有学生的选课记录