文档库

最新最全的文档下载
当前位置:文档库 > 数据库原理与应用教程-SQL_Server考试复习题

数据库原理与应用教程-SQL_Server考试复习题

数据库原理与应用教程―SQL Server

期末测试题(一)

一、填空题(每空1分,共10分)

1.数据库系统的核心是___ __。

2.在关系模型中,实体以及实体间的联系都是用______来表示的。

3.设关系模型R(A,B,C),F是R上的函数依赖集,F={A→B,C→B},则R的候选码为_________。

4.层次模型用“树结构”来表示数据之间的联系,网状模型用“_________” 来表示数据之间的联系。

5.SQL Server2005中,一个简单的数据库可以只有一个_________文件和一个日志文件。6.聚集索引和非聚集索引的存储结构都采用____________索引结构。

7.一个事务必须具有的四个属性是原子性、一致性、__________和持久性。

8.在T-SQL中,查询表中数据时,可用___________关键字滤掉重复行。

9.调用标量函数时必须提供至少由两部分组成的名称,即________. 函数名。

10.触发器是当数据库服务器中发生数据操作语言事件时会自动执行的存储过程。

二、选择题(每小题1分,共20分)

1.数据管理的发展不包括下面哪个阶段()

(A)文件系统(B)数据库系统

(C)人工管理(D)统一管理

2.一个学生可以同时借阅多本书,一本书只能由一个学生借阅,学生和图书之间是什么样的联系()

(A)一对一(B)一对多

(C)多对多(D)以上全不是

3.如果事务1将数据库中的A值从200改为300,事务2读A值为300,事务1又将刚才的操作撤销,A值恢复为200,那么事务2读取了“脏”数据。这种情况是由于数据库保护中的那方面不当而引起的()

(A)并发控制 (B)完整性约束

(C)安全性控制(D)数据库的恢复

4.在关系模型中,“元组”是指()

(A)表中的一行(B)表中的一列

(C)表中的一个数据(D)表中的一个成分

5.有学生、选修和课程三个关系,学生S(学号,姓名,性别….),课程C(课程号,

课程名),选修SC(学号,课程号,成绩)。想查询选修2号课程的学生的学号和姓名,则关系运算式应写成()

(A) ∏学号(σ课程号=2 (S∞SC)) (B) ∏学号,姓名(σ课程号=2 (S))

(C) ∏学号,姓名(σ课程号=2 (S∞SC)) (D)σ课程号=2(∏学号,姓名(S∞SC))

6.规定关系的所有主属性都不能取空值,是用来实现哪一类完整性约束()

(A)实体完整性(B)属性值的约束

(C)参照完整性(D)用户定义完整性

7.学生关系(学号,姓名,性别,年龄,系号,系名)中,“系名”对主关键字“学号”的函数依赖是()

(A)完全函数依赖(B)部分函数依赖

(C)传递函数依赖(D)平凡函数依赖

8.在一个关系中,所有字段都是不可分的,给定一个关键字,则可以在这个数据表中唯一确定一条记录,则这个关系一定满足1NF、2NF和3NF中的()

(A)1NF (B)1NF和2NF

(C)1NF、2NF和3NF (D)2NF和3NF

9.有关系R和S,关系代数运算R∩S等价于()

(A)S-(R-S) (B)R-(R-S)

(C)R-S (D)S-R

10.有学生、选修和课程三个关系,S(学号,姓名,性别,年龄),C(课程号,课程名),SC(学号,课程号,成绩)。以下选项中外码是()

(A) S.学号(B)SC.学号(C)C.课程号 (D)SC.成绩

11.要想用T-SQL语句从学生表中查询学号的前四个字符为“2004”第五个字符任意,后三个字符为“-05”的学生,条件表达式为()

(A)学号LIKE …2004%-05? (B)学号= …2004%-05?

(C)学号LIKE …2004_-05?(D)学号= …2004_-05?

12.已知三个关系:

S(学号,姓名,性别)

C(课程编号,课程名称,学时)

SC(学号,课程编号,分数)

若要查询所有选了课的学生的学号和姓名,下列语句正确的是()(A)select 学号,姓名from s WHERE 学号in (select * from sc)

(B)select 学号,姓名from s

WHERE in (select * from sc where s.学号=sc. 学号)

(C)select学号,姓名from s

WHERE 学号exists (select * from sc where s.学号=sc. 学号)

(D)select学号,姓名from s

WHERE exists (select * from sc where s. 学号=sc. 学号)

13.SQL语句中删除表的命令是()

(A)DELETE TABLE (B)DELETE DBF

(C)DROP TABLE (D)DROP DBF

14.如果课程表Course是使用以下SQL语句创建的:CREATE TABLE Course(Cno CHAR(2) not null, Cname CHAR(20), Cfen INT);下面的SQL语句中可以正确执行的是()

(A)INSERT INTO Course(Cno,Cname,Cfen) V ALUES (C2,″数据库″,3)

(B)INSERT INTO Course(Cno,Cname,Cfen ) V ALUES(″C2″,″数据库″, ″2″)

(C)INSERT INTO Course(Cname,Cfen )V ALUES(″数据库″,3)

(D)INSERT INTO Course(Cno,Cname )V ALUES(…C2?,?数据库?)

15.已知三个关系:

S(SNO,NAME,SEX,CLASS);C(CNO,CNAME,TIME);

SC(SNO,CNO,DEGREE)

若要查询统计每门课各班的平均成绩和每门课的平均成绩以及总的平均成绩,下列语句正确的是()

(A)select class, cname, avg(degree) as平均分from s, sc, c where s.sno=sc.sno and c. cno=http://www.wendangku.net/doc/7aad1ef8f705cc1755270986.htmlo group by s.class, c. cname with rollup

(B)select class, cname, avg(degree) as平均分from s, sc, c where s.sno =sc.sno and c. cno =sc. cno group by s. class, c. cname with cube

(C)select class, cname, avg(degree) as平均分from s, sc, c where s.sno =sc. sno and c. cno =sc. cno group by c. cname, s.class with cube

(D)select class, cname, avg(degree) as 平均分from s, sc, c where s. sno =sc. sno and c. cno =sc. cno group by c. cname, s.class with rollup

16.当where子句、聚合函数、group by子句和having子句同时出现在一个查询中时,最后执行的是()

(A)聚合函数(B)where子句

(C)group by子句(D)having子句

17.授予user1用户修改st表中的“姓名”字段的权限,应使用的SQL语句是()

(A)GRANT UPDA TE(姓名) ON st TABLE TO user1

(B)GRANT UPDA TE(姓名) ON TABLE st TO user1

(C)GRANT MODIFY(姓名) ON st TABLE TO user1

(D)GRANT MODIFY(姓名) ON TABLE st TO user1

18.SQL Server 2005中,主数据库文件的扩展名为()

(A).mdf (B).dbf (C).ldf (D).ndf

19.显式事务和隐式事务都需要用什么语句来提交和回滚()

(A)END TRANSACTION和ROLLBACK TRANSACTION

(B)COMMIT TRANSACTION和ROLLBACK TRANSACTION

(C)SA VE TRANSACTION和ROLLUP TRANSACTION

(D)COMMIT TRANSACTION和ROLLUP TRANSACTION

20.下列哪种情况不适合创建索引()

(A)表中的主键列(B)只有两个或若干个值的列

(C)需要强制实施唯一性的列(D)连接中频繁使用的列

三、名词解释(每小题3分,共15分)

1.数据库

2.候选关键字

3.视图

4.游标

5.事务

四、简答题(每小题5分,共25分)

1.创建索引的必要性和作用是什么?

2.简述主键约束和唯一性约束的异、同点。

3.简述T-SQL语言的特点。

4.简述存储过程的优点。

5.简述死锁及其解决办法。

五、综合题(每小题10分,共30分)

1.把下面用关系表示的实体、实体与实体之间的联系,用E-R图表示出来,要求在图中表示联系的类型(1:1、1:n、m:n),并写出相应的关系模式和各关系的主关键字。

实体1:学生(学号,姓名,性别,年龄);

实体2:课程(课程号,课程名,学分);

实体1与实体2的联系:学习(学号,课程号,成绩)。

注:一个学生可以选多门课程,一门课程也可以被多个学生选,学生选课后有成绩。

2.设有关系模式R(运动员编号,姓名,性别,班级,班主任,项目号,项目名,成绩)如果规定:每名运动员只能代表一个班级参加比赛,每个班级只能有一个班主任;每名运动员可参加多个项目,每个比赛项目也可由多名运动员参加;每个项目只能有一个项目名;每名运动员参加一个项目只能有一个成绩。根据上述语义,回答下列问题:

(1)写出关系模式R的候选码;

(2) R最高属于第几范式?说明理由;

(3) 若R不是3NF,将其分解为3NF。

3.设有一个学生-课程数据库,包括学生关系Student、课程关系Course、选修关系SC,

如下图所示:

数据库原理与应用教程-SQL_Server考试复习题

数据库原理与应用教程-SQL_Server考试复习题

数据库原理与应用教程-SQL_Server考试复习题

根据以上所定义的三张基表写出相应的SQL语句:

(1)查询年龄在20以下的女生的姓名、系别、年龄。

(2)查询每个学生的姓名及其选修课程的课程名。

(3)创建一个视图,包括每个系的学生所选的每门课程的平均成绩,而且只选取平均成绩为80分以上的。

(4)查询学号为95013的学生的各科成绩,如果没有这个学生的成绩,就显示“此学生无成绩”。

期末测试题(二)

一、填空题(每空1分,共10分)

1.在信息世界中能唯一标识实体的属性集,称为________。

2.如果关系模式R 是1NF ,且每个非主属性________函数依赖于主键,那么称R 是第二范式的模式。

3.数据规范化的优点之一是能消除_____ ___和操作异常现象。

4.若关系A 有m 个属性,关系B 有n 个属性,则A×B 有________个属性。

5.关系代数运算中,专门的关系操作有:选择、投影、除和________。

6.关系中属性的取值范围称为属性的___________。

7.在SQL Server2005中,通配符只有在_________子句中才有意义,否则会被当作普通字符使用。

8.触发器也是一种存储过程,它主要通过事件进行触发而被执行,而存储过程可以通过 而被直接调用。

9.一般可以使用________命令来标识T-SQL 批处理的结束。

10.在索引命令中使用关键字CLUSTERED 表示将建立的是____________索引。

二、选择题(每小题1分,共20分)

1.数据库的概念模型( )

(A)依赖于计算机硬件和DBMS

(B)独立于计算机硬件,依赖于DBMS

(C)依赖于计算机硬件,独立于DBMS

(D)独立于计算机硬件和DBMS

2.假设某个E-R 图中有5个实体型、2个1∶M 联系和2个M ∶N 联系,则该E-R 图转换的关系模式个数至少是( )

(A)5 (B)7 (C)8 (D)9

3.用二维表来表示实体及实体之间联系的数据模型称为( )

(A)实体-联系模型 (B)层次模型

(C)网状模型 (D)关系模型

4.在学生关系:学生(学号,姓名,年龄,性别)中,想查询年龄小于20的学生的学号和姓名,则关系运算式应写成( )

(A) )(20学生年龄<σ (B))

学生(年龄学号,姓名)(20<∏σ (C) )(学生学号,姓名年龄)(20∏<σ (D)))((20学号,姓名学生年龄<σ

5.在一个关系中,每个属性都是不可分解的,这个关系一定达到( )

(A) 2NF (B)3NF (C)BCNF (D)1NF

6.学生表中st(学号,姓名,性别,年龄),删除其中的“年龄”字段的SQL语句是()

(A)ALTER TABLE st DROP 年龄

(B)DROP 年龄FROM st

(C)ALTER TABLE st DELETE年龄

(D)DELETE年龄FROM st

7.如果学生表st是使用以下SQL语句创建的:CREATE TABLE st (sno CHAR(4) not null,sn CHAR(8),sex CHAR(2),age INT);下面的SQL语句中可以正确执行的是()

(A)INSERT INTO st(sno,sex,age) V ALUES (…s9?,?男?,17)

(B)INSERT INTO st(sn,sex,age) V ALUES(″李安齐″,″男″,20)

(C)INSERT INTO st(sex,age)V ALUES(″男″,20)

(D)INSERT INTO st(sno,sn)V ALUES(″s9″,″安齐″,16)

8.撤销user1用户修改st表中的“姓名”字段的权限,应使用的SQL语句是()

(A)REVOKE UPDA TE(姓名) ON st TABLE FROM user1

(B)REVOKE UPDA TE(姓名) ON TABLE st FROM user1

(C)REVOKE MODIFY(姓名) ON st TABLE FROM user1

(D)REVOKE MODIFY(姓名) ON TABLE st FROM user1

9.SQL Server 2005的四个系统数据库中记录系统的所有信息的是()

(A)Master (B)Model (C)Msdb (D)Tempdb

10.有这样一个数据表,学生(学号,姓名,年龄,省份),要想查询学生们所在省份的种类个数,以下SELECT语句正确的是()

(A)SELECT COUNT(省份) FROM学生

(B)SELECT COUNT(DISTINCT 省份) FROM学生

(C)SELECT COUNT(学号) FROM学生

(D)SELECT COUNT(学号) FROM学生GROUP BY省份

11. 有这样一个数据表,职工(职工号,姓名,职务,工资),要想查询工资最高的职工号和姓名,以下SELECT语句正确的是()

(A)SELECT职工号, 姓名FROM职工WHERE工资= MAX(工资)

(B)SELECT职工号, 姓名FROM职工WHERE工资=(SELECT MAX(工资)

FROM职工)

(C)SELECT职工号, 姓名, 工资FROM职工WHERE工资=MAX(工资)

(D)SELECT职工号, 姓名,MAX(工资) FROM职工WHERE工资=MAX(工资) 12.要想用T-SQL语句从学生表中查询姓名中有“红”字的学生,条件表达式应写成()

(A)姓名LIKE …%红%? (B)姓名LIKE …%红?

(C)姓名LIKE …%红-?(D)姓名LIKE …-红%?

13.如果事务T获得了数据项Q上的共享锁,则T对Q()

(A)只能读不能写(B)只能写不能读(C)既可读又可写(D)不能读不能写

14.SQL语言具有数据操作功能,SQL语言的一次查询的结果是一个()

(A)数据项(B)记录(C)元组(D)表

15.SQL语言的标准库函数COUNT、SUM、A VG、MAX和MIN等,不允许

...出现在下列哪个子句中()

(A)SELECT (B)HA VING (C)GROUP…HA VING(D)WHERE 16.现要在SC(S#,C#,G)表中查找缺少成绩(G)的学生学号(S#)和课程号(C#),下面SQL语句中WHERE子句的条件表达式应是:

SELECT S#,C# FROM SC

WHERE()

(A)G=0 (B)G<=0 (C)G=NULL (D)G IS NULL

17.关于视图以下说法正确的是()

(A)不可以在其他视图上再建立视图

(B)视图也是表,只不过存储基本表中的一部分数据

(C)视图增强了数据的安全性

(D)如果视图中的某列是从算术表达式派生而来,可以指定视图中每列的名称,也可

以不指定

18.不能激活触发器执行的事件是()

(A)SELECT (B)UPDATE (C)INSFRT (D)DELETE

19.对数据模式来说,采用三级模式的主要原因是()

(A)把大模式分解成小模式,便于DBMS进行分级管理

(B)解决程序与数据之间的数据独立性

(C)便于应用程序从不同角度进行数据调用

(D)便于提供数据的二级映象

20.SQL语言中建立唯一性索引的命令是()

(A)CREATE INDEX 索引名ON 基本表名(属性名)

(B)CREATE INDEX UNIQUE索引名ON 基本表名(属性名)

(C)CREATE UNIQUE INDEX索引名ON 基本表名(属性名)

(D)CREATE DISTINCT INDEX索引名ON 基本表名(属性名)

三、名词解释(每小题3分,共15分)

1.数据模型

2.函数依赖

3.内模式

4.触发器

5.锁

四、简答题(每小题5分,共25分)

1.简述SQL Server的安全性机制。

2.简述数据库的逻辑独立性和物理独立性。

3.简述关系的完整性。

4.简述视图的优点。

5.简述存储过程的优点。

五、综合题(每小题10分,共30分)

1.设计一个图书管数据库,此数据库中对每个借阅者保存读者记录,包括:读者号、姓名、性别、年龄、单位。对每本书存有:书号、书名、作者、出版社。对每本被借出的书存有读者号、借出日期和应还日期。要求:给出E-R图,再将其转换为关系模型并给出各关系的主关键字。

2.设有关系模式:R(职工号,日期,日营业额,部门名,部门经理)

如果规定:每个职工每天只有一个营业额,每个职工只在一个部门工作,每个部门只有一个经理。

(1)根据上述规定,写出模式R主关键字。

(2)分析R最高属于第几范式,并说明理由。

(3)将R规范到3NF。

3.假设有如下三个关系模式:

商品表:P(PNO,PNAME,CITY,COLOR)

各属性含义依次为商品号、商品名、产地和商品颜色;主键为商品号。

商场表:M(MNO,MNAME,CITY)

各属性含义依次为商场号、商场名和商场所在城市;主键为商场号。

销售表:S(MNO,PNO,QTY)

各属性含义依次为商场号、商品号和销售数量。主键为(商场号,商品号)用SQL语句写出下列查询:

(1)检索销售了产地为浙江省的商品的商场名和商场所在城市。

(2)检索上海市所有商场中各种商品的平均销售量。

(3)检索销售了蓝色商品的商场号、商品号和数量。(要求用嵌套子查询完成)(4)检索每个商场销售的红色商品的总数量。

期末测试题(一)参考答案

一、填空题(每空1分,共10分)

1.数据库管理系统(DBMS)2.关系(二维表)3.(A,C)4.图状结构5.数据6.B树7.隔离性8.DISTINCT 9.拥有者10.DML 二、选择题(每小题1分,共20分)

1~5 DCAAC 6~10 ACABB 11~15 CDCDA 16~20 DBABB

三. 名词解释(每小题3分,共15分)

1.数据库:数据库就是存放数据的仓库,是将数据按一定的数据模型组织、描述和存储,能够自动进行查询和修改的数据集合。

2.候选关键字:如果在一个关系中,存在多个属性(或属性组合)都能用来唯一标识该关系中的元组,这些属性(或属性组合)都称为该关系的候选关键字或候选码。3.视图:视图(View)是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制,视图是从一个或几个表导出来的表,不是真实存在的基本表而是一张虚表,视图所对应的数据并不实际的以视图结构存储在数据库中,而是存储在视图所引用的表中。

4.游标:游标是处理数据的一种方法,它允许应用程序对查询语句SELECT返回的结果集中每一行进行相同或不同的操作,而不是一次对整个结果集进行同一种操作。5.事务:事务由一系列的数据操作组成,是数据库应用程序的基本逻辑单元,用来保证数据的一致性。

四、简答题(每小题5分,共25分)

1.创建索引的必要性和作用是什么?

答:数据库的索引就类似于书籍的目录,如果想快速查找而不是逐页查找指定的内容,可以通过目录中章节的页号找到其对应的内容。类似的,索引通过记录表中的关键值指向表中的记录,这样数据库引擎就不用扫描整个表而定位到相关的记录。相反,如果没有索引,则会导致SQL Server搜索表中的所有记录,以获取匹配结果。

2.简述主键约束和唯一性约束的异、同点。

答:主键约束在表中定义一个主键值,这是唯一确定表中每一行数据的标识符。该约束强制实体完整性。一个表中最多只能有一个主键,且主键列不允许取空值。

UNIQUE(唯一性)约束指定表中某一个列或多个列不能有相同的两行或两行以上的数据存在。这种约束通过实现唯一性索引来强制实体完整性。当表中已经有了一个主键约束时,如果需要在其他列上实现实体完整性,又因为表中不能有两个或两个以上的主键约束,所以只能通过创建UNIQUE约束来实现。一般的,把UNIQUE约束称为候选的主键约束。

3.简述T-SQL语言的特点。

答:(1)综合统一:T-SQL语言集数据定义语言、数据操纵语言、数据控制语言和附加语言元素为一体。

(2)两种使用方式,统一的语法结构:即联机交互式和嵌入高级语言的使用方式。(3)高度非过程化。

(4)类似于人的思维习惯,容易理解和掌握。

4.简述存储过程的优点。

答:存储过程最主要的特色是当写完一个存储过程后即被翻译成可执行码存储在系统表内,当作是数据库的对象之一,一般用户只要执行存储过程,并且提供存储过程所需要的参数就可以得到所要的结果而不必再去编辑T-SQL命令。

5.简述死锁及其解决办法。

答:产生死锁的情况一般包括以下两种:

第一种情况,当两个事务分别锁定了两个单独的对象,这时每一个事务都要求在另外一个事务锁定的对象上获得一个锁,因此每一个事务都必须等待另外一个事务释放占有的锁,这时,就发生了死锁。这种死锁是最典型的死锁形式。

第二种情况,当在一个数据库中时,有若干个长时间运行的事务执行并行的操作,当查询分析器处理一种非常复杂的查询例如连接查询时,那么由于不能控制处理的顺序,有可能发生死锁现象。

在数据库中解决死锁常用的方法有:

(1)要求每个事务一次就将要使用的数据全部加锁,否则就不能继续执行。

(2)允许死锁发生,系统来用某些方式诊断当前系统中是否有死锁发生。

五、综合题(每小题10分,共30分)

1.E-R

数据库原理与应用教程-SQL_Server考试复习题

关系模式:

学生(学号,姓名,性别,年龄)

课程(课程号,课程名,学分)

学习(学号,课程号,成绩)

2.(1)关系模式R的主关键字是(运动员编号,项目号)。

(2)R最高属于第一范式。因为存在着姓名,性别,班级和项目名对主关键字(运动员编号,项目号)的部分函数依赖,没有达到2NF。

(3)首先分解为2NF:R1(运动员编号,姓名,性别,班级,班主任),R2(项目号,项目名),R3(运动员编号,项目号,成绩)。因为R1存在班主任对运动员编号的传递函数依赖,所以没有达到3NF,再分解为3NF:R1分解为R1(运动员编号,姓名,性别,班级)和R4(班级,班主任)

3.(1)select 姓名,所在系,年龄from Student

where 年龄<20 and 性别=‘女’

(2)select Student.姓名,C.课程名from Student,SC,Course

Where Student.学号=SC.学号and SC.课程号=Course.课程号

(3)create view view1 as

select 所在系,课程号,avg(成绩)as 平均成绩from student,course

where Student.学号=SC.学号

group by 所在系,课程号

having(avg(成绩)>=80)

(4)if(select count(*)from sc where sno=‘95013’)>0

Select*from sc where sno=‘95013’

else

print‘此学生无成绩’

期末测试题(二)参考答案

一、填空题(每空1分,共10分)

1.码2.都完全3.数据冗余4.m+n 5.连接6.域7.Like 8.存储过程名9.GO 10.聚集二、选择题(每小题1分,共20分)

1~5 DBDBD 6~10 AABAB 11~15 BAADD 16~20 DCABC 三. 名词解释(每小题3分,共15分)

1.数据模型:数据模型是对客观事物及联系的数据描述,是概念模型的数据化,即数据模型提供表示和组织数据的方法。

2.函数依赖:所谓函数依赖是指在关系R中,X、Y为R的两个属性或属性组,如果对于R的所有关系r都存在:对于X的每一个具体值,Y都只有一个具体值与之对应,则称属性Y函数依赖于属性X。记作X→Y。当Y不函数依赖于X时,记作:。

数据库原理与应用教程-SQL_Server考试复习题

当X→Y且Y→X时,则记作:X?Y。

3.内模式:内模式也称存储模式或物理模式,是对数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,一个数据库只有一个内模式。

4.触发器:触发器也是一种存储过程,它是一种在基本表被修改时自动执行的内嵌过程,主要通过事件进行触发而被执行。

5.锁:锁是防止其他事务访问指定的资源、实现并发控制的一种手段,是多个用户能够同时操纵同一个数据库中的数据而不发生数据不一致现象的重要保障。

四、简答题(每小题5分,共25分)

1.简述SQL Server的安全性机制。

答:SQL Server 2005的安全性管理机制可分为三个等级:操作系统级、SQL Server级和数据库级。在用户使用客户计算机通过网络实现SQL Server服务器的访问时,用户首先要获得计算机操作系统的使用权。SQL Server的服务器级安全性建立在控制服务器登录帐号和口令的基础上。SQL Server采用了标准SQL Server登录和集成Windows NT 登录两种方式。在用户通过SQL Server服务器的安全性检验以后,将直接面对不同的数据库入口这是用户将接受的第三次安全性检验。

2.简述数据库的逻辑独立性和物理独立性。

答:当模式改变时(如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式映像作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,因而应用程序不必修改,保证了数据与程序的逻辑独立性,简称逻辑数据独立性。

当数据库的存储结构改变了(如选用了另一种存储结构),由数据库管理员对模式/内模式映像作相应改变,可以保证模式保持不变,因而应用程序也不必改变。保证了数据与程序的物理独立性,简称物理数据独立性。

3.简述关系的完整性。

答:关系模型允许定义三类完整性约束:实体完整性、参照完整性和用户自定义的完整性约束。

实体完整性规则:要求关系中元组在组成主码的属性上不能有空值。

参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S可能是相同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。用户定义的完整性规则由用户根据实际情况对数据库中数据的内容进行的规定,也称为域完整性规则。

4.简述视图的优点。

答:使用视图有很多优点,主要表现在:

(1)为用户集中数据,简化用户的数据查询和处理。

(2)保证数据的逻辑独立性。

(3)重新定制数据,使得数据便于共享;合并分割数据,有利于数据输出到应用程序中。

(4)数据保密。

5.简述存储过程的优点。

答:存储过程最主要的特色是当写完一个存储过程后即被翻译成可执行码存储在系统表内,当作是数据库的对象之一,一般用户只要执行存储过程,并且提供存储过程所需的参数就可以得到所要的结果而不必再去编辑T-SQL命令。

五、综合题(每小题10分,共30分)

数据库原理与应用教程-SQL_Server考试复习题

1.

关系模型:读者(读者号,姓名,性别,年龄,单位)

图书(书号,书名,作者,出版社)

借阅(书号,读者号,借出日期,应还日期)

2.(1)关键模式R的主关键字是(职工号,日期)。

(2)R最高属于第一范式。因为存在着部门名对主关键字(职工号,日期)的部分函数依赖,没有达到2NF。

(3)首先分解为2NF:R1(职工号,部门名,部门经理),R2(职工号,日期,日营业额)。因为R1存在部门经理对职工号的传递函数依赖,所以没有达到3NF,再分解为3NF:R1分解为R1(职工号,部门名)和R3(部门名,部门经理)

3.(1)SELECT MNAME,M.CITY FROM M,S,P

Where P.CITY=?浙江?and M.MNO=S.MNO and P.PNO=S.PNO (2)SELECT P.PNO,A VG(QTY) FROM S,P

WHERE CITY=?上海?and P.PNO=S.PNO

GROUP BY P.PNO

(3)SELECT MNO,PNO,QTY FROM S

WHERE PNO IN (SELECT PNO FROM P WHERE COLOR=?蓝?) (4)SELECT MNO,SUM(QTY) FROM S,P

WHERE COLOR=?红?and P.PNO=S.PNO

GROUP BY MNO