你一定要坚强,即使受过伤,流过泪,也能咬牙走下去。因为,人生,就是你一个人的人生。 ============================================================================== 同济大学课程考核试卷(A卷) 2006— 2007 学年第 2 学期
课号:100116 课名:《数据库技术与应用》 考试考查:
此卷选为:期中考试( )、期终考试(? )、重考( )试卷
年级 专业 学号 姓名 得分
一、 选择题(每题1分,共10分)
1、SQL SERVER2000属于( )数据库系统。
A.层次模型 B.网状模型 C.关系模型 D.面向对象模型 2、利用ADO.NET技术访问数据库的方法之一是:把从数据库中读取的数据,存放在( )对象内,它是ADO.NET的一个重要组件,也被称为一个离线的或内存的数据库。
A.SqlDataAdapter B.SqlConnection C.DataSet D.SqlCommand
3、下面列出的选项中只有( )不是常用的RDBMS实例。
A.SQL Server B.Sysbase C.ACCESS D.IMS
4、在下列SqlCommand的执行方式中,用于数据库数据更新的执行方式是( )。 A. ExecuteScalar B. ExecuteNonQuery C. ExecuteReader D. 以上都不正确
5、有了模式/内模式映像,可以保证数据和应用程序之间的( )。
A. 逻辑独立性 B. 物理独立性 C. 数据一致性 D. 数据安全性 6、保护数据库,防止未经授权或不合法的使用造成的数据泄漏、非法更改或 破坏。这是指数据库的数据( )。
命运如同手中的掌纹,无论多曲折,终掌握在自己手中 ============================================================== 你一定要坚强,即使受过伤,流过泪,也能咬牙走下去。因为,人生,就是你一个人的人生。 ============================================================================== A.完整性 B.并发控制 C.安全性 D.恢复 7、某位数据库班级的同学在设计数据库初没有用CREATE命令设计数据库表的完整性控制,现在他想在项目开发的后期进行完整性补充控制,试问下列( )方法可以帮他在不丢失数据的情况下实现数据库的完整性控制。
A.再用CREATE命令重新创建表,只要表、属性同名,不仅数据可以自动保存,完整性也可以进行控制;
B.用存储过程辅助实现完整性控制; C.用触发器进行动态的完整性控制; D.以上各种方法都不行;
8、设有两个事务T1、T2,其并发操作系列如图所示,下列评价正确的是( )。 A.该操作不存在问题 B.该操作丢失修改 C.该操作存在不一致分析 D.该操作读“脏”数据
Time T1 T1 T2 T3 T4 T5 T6 T7 Read(A) A=A-5 T2 A 10 10 5 2 Begin_T1 Begin_T2 10 Write(A) Read(A) Rollback A=A-8 commit Write(A) 2
9、数据库设计过程主要包括需求分析、概念模式设计、逻辑模式设计和物理模式设计四个阶段,E-R图设计属于 ( )阶段。 A.需求分析 B.概念模式设计 C.逻辑模式设计
命运如同手中的掌纹,无论多曲折,终掌握在自己手中 ============================================================== 你一定要坚强,即使受过伤,流过泪,也能咬牙走下去。因为,人生,就是你一个人的人生。 ============================================================================== D.物理模式设计
10、在某个数据库应用系统用户登录的界面中,设置只允许用户在通过用户名与口令验证后才能进入系统进行存取和查询操作。这是数据库的( )控制功能。
A.安全性控制 B.完整性控制 C.并发控制 D.可靠性控制
二、 数据库设计(共10分)
下图表示的是一个图书借阅管理系统数据库的E-R图,试将其转换成关系数据库模式。
单位 姓名 借书证号 借书人 借书日期 借阅 还书日期 出版社名 地址 图书 出版 出版社 邮编 书号 品种 数量 存放位置 电报编号 电话 借书人(借书证号,姓名,单位)
借阅(借书证号,书号,借书日期,还书日期) 图书(书号,品种,数量,存放位置,出版社名) 出版社(出版社名,地址,邮编,电话,电报编号)
三、 已知关系模式:(共10分)
S(snum, sname, age, sex) C(cnum, cname. teacher) SC(snum, cnum, score)
命运如同手中的掌纹,无论多曲折,终掌握在自己手中 ============================================================== 你一定要坚强,即使受过伤,流过泪,也能咬牙走下去。因为,人生,就是你一个人的人生。 ============================================================================== 试用关系代数和SQL语言表示下列查询。
1、用关系代数表示:查询选修了全部课程的学生名单。
2、用SQL语言表示:统计每门课程分数都在90以上的学生名单。
Select sname From s
Where snum not in (select snum from sc where score <90)
四、 触发器和存储过程程序设计。(10分)
1、在关系SC(snum,cnum,score)中要插入一条记录,表明登记某位同学选修了一门课程的成绩。学校教务处规定每门考试课程的成绩只能介于0~100之间,其他的成绩登记都为非法。下面的触发器程序就是为这个规测而设计的,也就是说当用户输入规定的成绩之外的值时,系统将报错并拒绝接收。数据输入正确时,显示信息“成绩录入成功!”,否则显示为“成绩输入有误!”。请阅读程序,并写出缺省的代码。 CREATE TRIGGER sc_score ON sc
FOR INSERT AS
BEGIN
DECLARE @_score INT
//在此写出缺省的代码。
SELECT @_score =i.score FROM inserted i IF @_score>=0 and @_score<=100 BEGIN
PRINT '成绩录入成功!' COMMIT END ELSE
BEGIN
命运如同手中的掌纹,无论多曲折,终掌握在自己手中 ============================================================== 你一定要坚强,即使受过伤,流过泪,也能咬牙走下去。因为,人生,就是你一个人的人生。 ============================================================================== PRINT '成绩输入有误!' ROLLBACK END END
2、建立存储过程,其功能是查找给定电话区号的客户信息,假如电话格式为“区号-本地电话号码”,例如,021-65980000。客户表的结构如下:
客户(客户号,客户名称,联系人,地址,邮政编码,电话) CREATE PROC client_info @_areacode char(10) AS
//在此写出缺省的代码。 SELECT * FROM 客户
WHERE 电话 LIKE @_ areacode +‘%’
五、程序填空(10分)
已知窗体控件的名称分别为:ComboBox1、DataGrid1,试在SC(snum,cnum,score)中,实现查询功能:给定学号,查询该生选修课程的课程号和对应的成绩。参看下列窗体,完成程序填空A、B、C和D。
命运如同手中的掌纹,无论多曲折,终掌握在自己手中 ==============================================================