2009—2010学年度第 二 学期期中考试试卷
课程名称 数据库原理与应用 拟题人 陈明忠 审题人_____________
系(校区) 计算机系 班级 姓名 学号____________
| 题号 | 一 | 二 | 三 | 四 | 五 | 总分 |
| 得分 |
1.任何一个满足2NF但不满足3NF的关系模式都不存在( )
A)主属性对主码的部分依赖 B)非主属性对主码的部分依赖
C)主属性对主码的传递依赖 D)非主属性对主码的传递依赖
2.相对于非关系模型,关系数据模型的缺点之一是( )
A)查找记录的速度最慢 B)数据结构简单
C)数据性高 D)有严格的数学基础
3.创建一个用户数据库时,( )数据库的内容(表和视图)就会自动地复制到新创建的数据库中。
A)master B)model C)msdb D)tempdb
4.下列聚合函数中不忽略空值(null)的是( )
A)sum(列名) B)max(列名) C)count(*) D)avg(列名)
5.关于唯一约束的叙述,错误的是( )
A)一个表可以定义多个唯一约束 B)唯一约束的值不能重复
C)唯一约束的值不能为null D)一个唯一约束可以施加到多个属性中
6.下列涉及空值的操作,不正确的是( )
A)age is null B)age is not null
C)age=null D)not(age is null)
7.层次模型不能表示( )的联系
A)多对多 B)一对多 C)多对一 D)一对一
8.下列关系运算中,( )运算不属于专门的关系运算。
A)选择 B)连接 C)投影 D)广义笛卡尔积
9.数据库系统的体系结构是( )
A)两级模式结构和一级映射 B)三级模式结构和一级映射
C)三级模式结构和两级映射 C)三级模式结构和三级映射
10.单个用户使用的数据视图的描述称为( )
A)外模式 B)概念模式 C)内模式 D)存储模式
11.现有一个关系:借阅(书号,书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本。则该关系模式的主码是( )
A)书号 B)读者号
C)书号+读者号 D)书号+读者号+借期
12.下列说法不正确的是( )
A)任何一个包含两个属性的关系模式一定满足3NF
B)任何一个包含两个属性的关系模式一定满足BCNF
C)任何一个包含三个属性的关系模式一定满足3NF
D)任何一个关系模式一定有码。
二、填空题:(每空1分,共21分)
1.SQL中文全称是_结构化查询语言__,SQL语言集__数据定义___、___数据查询_、___数据操纵和数据控制四大功能。
2.在SQL server2000中,常用_【】_定界标识符,_单引号_定界字符串。
3.在select语句中,如果使用了group by子句,则select子句只能使用_聚合_函数和_分组__字段。
4.视图基于一个或多个_基表_而建立起来的虚拟表,一个视图对应着一个_select_语句。
5.向数据表赋值时,_标识_字段与_公式__字段的值只能由系统自动给出。
6.一个sql脚本由一个或多个批处理组成,每个批处理以_go_作为结束标志。
7.关系数据库的实体完整性规定关系的_主属性_都不能取__空值_。
8.参照完整性是指__一个表外键的取值必须是主键表中主键的有效值或空值____。
9.关系数据库的_规范化__理论是数据库逻辑设计的一个有力工具,在数据库的概念设计中 _E-R图__是一个有力工具。
10.数据库系统提供了两个方面的映象功能,这样就使得数据库具有_逻辑_性,又具有_物理__性。
三、设计题:(5+5+10+10分)
1. 设有关系模式R (A,B,C,D),F是R上成立的FD集,F = {D→A,D→B},试写出关系模式R的主码,并说明理由。
因为D->A,D->B,所以D->AB;所以D为关系模式R的主码
因为CD->D,D->A,所以CD->A,
因为CD->D,D->B,所以 CD->B
所以CD为主码
2.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。用E-R图画出此学校的概念模型。
3.设某商业集团数据库中有一个关系模式为:
R(商店编码,顾客编码,消费总额,顾客单位,地址,电话)
该模式的关系记载每个顾客在每个商店的累计消费总额。如果规定:
每个顾客在每个商店只有一个消费总额;
每个顾客只属于一个单位;
每个顾客单位只有一个地址、一个电话。
试回答下列问题:
(1)写出模式R的基本函数依赖。
(2)说明R不是2NF的理由,并把R分解成2NF模式集。
(3)进而分解成3NF模式集
4.现有如下关系模式:
借阅(图书编号,书名,作者名,出版社,读者编号,读者姓名,借阅日期,归还日期)
(1)写出该关系模式的主码。
(2)该关系模式最高满足第几范式?并说明理由。
(3)如何分解该关系模式,使得分解后的关系模式级别更高?
四、根据下表写transact-SQL语句(每题3%,共21分)
Student
| 学号 | 姓名 | 性别 | 年龄 | 系别 |
| 95001 | 李勇 | 男 | 20 | CS |
| 95002 | 刘晨 | 女 | 19 | IS |
| 95003 | 王名 | 女 | 18 | MA |
| 95004 | 张立 | 男 | 18 | IS |
| 学号 | 课程名 | 成绩 |
| 95001 | 数据库原理 | 92 |
| 95001 | 高等数学 | 85 |
| 95001 | 操作系统 | 88 |
| 95002 | 高等数学 | 92 |
| 95002 | 操作系统 | 80 |
Select 姓名,year(GETDATE())-年龄 as 出生年份
into student1
From Student
2.查询选修了课程的学生人数。
Select Count(distinct 学号) AS 学生人数
From Sc
3.查询年龄最大的2名学生的姓名、年龄。
Select top 2 姓名,年龄
From Student
Order by 年龄 Desc
4.查询年龄小于平均年龄的学生学号、姓名和年龄。
Select 学号,姓名,年龄
From Student
Where 年龄<(Select avg(年龄) From Student)
5.查询选修了课程名为“操作系统”的学生的学号、姓名。
Select 学号,姓名
From Student,Sc
Where Student.学号=Sc.学号 and 课程名='操作系统'
6.删除student1表中的所有记录,使之成为空表。
Delete From Student1
7.将计算机科学系全体学生的成绩置0。
Update Sc Set 成绩=0 Where 学号 in (Select 学号 From Student Where 系别='计算机')
五、为student表与Sc表添加如下约束。(10分)
Student表:
| 列名 | 数据类型 | 长度 | 约束 |
| 学号 | char | 5 | 主键 |
| 姓名 | char | 8 | 唯一约束 |
| 性别 | char | 2 | 默认为:男 |
| 年龄 | tinyint | 1 | 只能为15~20 |
| 系别 | char | 2 |
| 列名 | 数据类型 | 长度 | 说明 |
| 学号 | char | 5 | 学号+课程名为主键约束,学号为外键约束,参照student表 |
| 课程名 | Char | 20 | |
| 成绩 | tinyint | 1 |
add Constraint PK_no Primary Key(学号),
Constraint Un_name Unique(姓名),
Constraint DF_sex Default '男' For 性别,
Constraint CK_age Check(年龄>=15 and 年龄<=20)
alter table Sc
add Constraint PK_sno_cno Primary Key(学号,课程名),
Constraint FK_sno Foreign Key(学号) References Student(学号)下载本文