1、数据库原理总复习题一、填空题1. SQL Server 数据库应用的处理过程分布在 客户机(或客户端)_ 和服务器上。2. SQL Server 提供了动态的自我管理机制,能够自动增大或缩小数据库所占用的 硬盘空间 。7. SQL Server 客户机传递到服务器上的一组完整的数据和 SQL 语句称为 批处理_ 。9. 函数 LEFT(abcdef,2)的结果是 ab 。10. SQL Server 中的整数类型包括 _ bigint、int、smallint、tinyint (次序无先后)_四种。11. Microsoft SQL Server2005 是运行在_ windows _操作系统
2、平台上的、逻辑模型为_关系_型数据库管理系统。12. SQL Server 将数据组织到用户可以看见的 逻辑组件 _ ,而在磁盘上则作为操作系统文件实现。13. 如果希望修改数据库的名字,可以使用的系统存储过程是 sp_renamedb 。14. 数据库备份和恢复的 Transact-SQL 语句分别是_ Backup Database _和_ Restore Database _。15. 找回被删除表的惟一方法是事先做好数据库的 备份 工作。16. 索引 是一种常用的改善数据库性能的技术。17. 索引会影响对基本表的_插入、删除、修改_等操作的速度。18. 聚集索引与非聚集索引相比,查询速度
3、要 快 。19. SQL Server 中为局部变量赋值的语句是 SELECT 和 SET 。20. 使用 create database 命令定义一个数据库,包括定义_数据_文件和_日志_文件两个部分。21. 基本表中的记录数越_多_,每条记录占用的字节数越_多_时,使用索引就越有利。22. 在索引命令中使用关键字 CLUSTERED 或 NOCLUSTERED 分别表示将建立的是_聚集_或_非聚集_索引。23. 当指定基本表中某一列或若干列为主码时,则系统将在这些列上自动建立一个_非空、唯一、聚集(次序无先后_的索引。24. 单行或行尾注释的开始标记为_-_,多行注释的开始标记为_/*_,
4、结束标记为_*/ _。25. 每条_ SELECT_语句能够同时为多个变量赋值,每条_ SET _语句只能为一个变量赋值。26. 在 SQL Server 中,每个程序块的开始标记为关键字_ BEGIN_,结束标记为关键字_ END _。27. 在条件结构的语句中,关键字 IF 和 ELSE 之间和 ELSE 之后,可以使用_单条_语句,也可以使用具有_ BEGIN.END _格式的语句块。30. 一个事务处理控制语句以关键字_ BEGIN TRAN_开始,以关键字_ COMMIT TRAN _或 _ ROLLBACK TRAN _结束。33. 使用一种约束时,可以使用关键字_ CONSTRA
5、INT _和标识符_的选项命名该约束,也可以省略该选项由系统自动命名,因为用户很少再使用其约束名。34. 数据库的安全机制分为 4 个等级,分别为客户端_操作系统_的安全、数据库的_登录_安全、数据库使用安全和数据库对象的使用安全。35、microsoft sql server2005 提供了两种确认用户对数据库引擎服务的验证模式:分别是 Windows 身份验证 与 SQL SERVER 身份验证 。36、存储过程是 sql server 服务器上一组预先定义并编辑好的 Transact-SQL 语句,它不但可以接受参数、返回状态值和参数值,而且还可以 嵌套调用 。37、存储过程在第一次执行
6、时进行语法检查和编译,编译好的版本存储在 高速缓冲 中,用于再次调用,存储过程不但能改变 Transact-SQL 语句的运行性能,提高其执行效率,而且也能改变系统的 安全机制 。38、批是一组 SQL 语句集合,一个批以批结束语句 GO 而结束,批中语句被一次提交给 sql server,sql server 将这些语句编译成一个 执行单元 。39、sql server 中的索引类型包括三种分别是 唯一索引 、 簇索引 和 非簇索引 。40、当一个表同时具有约束和触发器时,sql server 先执行 约束检查 ,如果这些操作符合 约束条件 ,系统将完成数据操作,然后再激活 触发器 。41、
7、select 语句除了用于查询外,还有其他一些用途,比如 对记录进行排序 、 对字段进行汇总 以及 用检索到的记录创建新表 等。42、在使用 primary key 主键约束时,列的空值属性必须定义为 not null 。43、数据库是由 相关的数据 组成的一个结构化的集合,这些数据经过整理之后存储在一个 或 多个磁盘 文件中,管理数据库的软件称为 数据库管理系统 。44、实体集成是由 实体 、 属性 和 联系 三种基本要素组成。45、数据库技术的发展大致经过 人工管理 、 文件系统 、 数据库系统 三个阶段。46、数据模型主要是指描述这种联系的数据结构形式,在数据库的开发过程中主要有下面 3
8、 种数据模型,分别是 层次模型 、 网状模型 和 关系模型 。47、sql server 语言十分简洁,语法简单,sql server 按其功能可以分为四大部分,分别是 数据定义 DDL 、 数据查询 SQL 、 数据操纵 DML 、 数据控制 DCL 二、单项选择题一1、作为一名数据库开发人员,需要创建一个可以从 Internet 下载的应用程序。应用程序需要用一个数据库来存储数据。该应用程序应使用哪个 SQL Server 版本,使应用程序用户不用购买 SQL Server 2005 许可?A. SQL Server Express 版本B. SQL Server Workgroup 版本
9、C. SQL Server Developer 版本D. SQL Server Standard 版本2.数据库系统的基础是( )A.数据库结构 B.数据库管理系统C.操作系统 D.数据模型3.关系中标题栏中各列的名称称为( )A.对象 B.元组C.属性 D.类4.在数据库系统中,对数据操作的最小单位是( ) A.字节 B.数据项C.记录 D.字符5.一个事务中所有对数据库操作是一个不可分割的操作序列,这称为事务的( )A.原子性 B.一致性C.隔离性 D.持久性6. 有了模式/内模式映像,可以保证数据和应用程序之间的( ) A.逻辑独立性 B.物理独立性C.数据一致性 D.数据安全性7、若事
10、务 T 对数据 R 已经加了 X 锁,则其他事务对数据 R( )A)可以加 S 锁不能加 X 锁 B)不能加 S 锁可以加 X 锁C)可以加 S 锁也可以加 X 锁 D)不能加任何锁8、数据库系统的数据独立性是指( )A、不会因为数据的变化而影响应用程序B、不会因为系统数据库存储结构与数据逻辑结构的变化而影响应用程序C、不会因为数据存储策略的变化而影响数据存储结构D、不会因为某些数据逻辑结构的变化而影响应用程序9. 规范化的主要理由( ) 维护数据完整性 尽可能建立与应用无关的模型 降低存储需要 维护数据完全性供选择的解答:A、 B、, C、, D、全部10.( )是用户可以看见和使用的局部数
11、据的逻辑结构和特征的描述。A、模式 B、外模式 C、内模式 D、概念模式11.分布式数据库系统中数据分配的策略是集中式,分割式和( )A.分布式,混合式 B.全复制式,关联式C.全复制式,混合式 D.分片式,关联式12.封锁机制是实现数据库( )的主要方法。A.完整性 B.安全性 C.并发控制 D.保护13.在关系模式中,若每个属性都是不可再分的最小数据单位,则 R 属于( )。A.1NF B. 2NF C.3NF D.BCNF14. 若关系模式 R(U,F )属于 3NF,则( )A.一定属于 BCNF B.消除了插入的删除异常C.仍存在一定的插入和删除异常 D.属于 BCNF 且消除了插入
12、和删除异常15.一个仓库可以存放多种零件,每一种零件可以存放在不同的仓库中,仓库和零件之间为( )的联系。A. 一对一 B.一对多 C.多对多 D.多对一16.( )是数据库物理结构和存储方式的描述。A、模式 B、外模式 C、内模式 D、概念模式17.为了保证数据的完整性,事务必须具有原子性、一致性、隔离性和 ( )。A.可串行性 B.并行性 C.完整性 D.持久性18. 数据库中对访问权限的定义称为( )A.审核 B.定义 C.命令 D.授权19. 若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分丢失或全部丢失,这种情况称为( )A、事务故障 B、系统故障 C、介质故障 D、运
13、行故障20. 建立数据字典的时机是( )A、需求分析阶段 B、数据库物理设计阶段C、数据库实施 D、概念结构设计阶段单项选择题一1、A ;2、D;3、C;4、C;5、A;6、B ; 7、D ;8、C9、C;10 C ;11、C ;12、C ;13、A; 14、C ;15、A ;16、C ; 17、D ;18、D;19、C ;20、A。单项选择题二1. 如果事务 T 获得了数据项 Q 上的排它锁,则 T 对 Q( )A、只能读不能写 B、只能写不能读C、既可读又可写 D、不能读不能写2.有了模式/内模式映像,可以保证数据和应用程序之间的( ) A.逻辑独立性 B.物理独立性C.数据一致性 D.数
14、据安全性3.与关系中每个属性相关的特定基本类型称为( ) A.对象 B.元组C.域 D.类4. 在数据库系统中,对数据操作的最小单位是( ) A.字节 B.数据项C.记录 D.字符5. 设有 T1 和 T2 两个事务,其并发操作如下图所示,下面评价中正确的是( )T1 T2 读 A=100,B=5 读 A=100A=A*2 写回 求 A+B=105,验证错开发操作图A、该操作不存在问题 B、该操作丢失修改C、该操作不能重复读 D、该操作读“脏数据”6. 规范化的主要理由( ) 维护数据完整性 尽可能建立与应用无关的模型 降低存储需要 维护数据完全性供选择的解答:A、 B、, C、, D、全部7
15、. 数据库系统的基础是( )A.数据库结构 B.数据库管理系统C.操作系统 D.数据模型8. 当局部 E-R 图合并成全局 E-R 图时可能出现冲突,不属于合并冲突的是 ( )A、属性冲突 B、语法冲突C、结构冲突 D、命名冲突9. 建立数据字典的时机是( )A、需求分析阶段 B、数据库物理设计阶段C、数据库实施 D、概念结构设计阶段10. 如果事务 T 对数据 D 已加锁,则其他事务对数据 D( )A.可以加 S 锁,不能加 X 锁 B.可以加 S 锁,也可以加 X 锁C.不能加 S 锁,可以加 X 锁 D.不能加任何销11. 为了保证数据的完整性,事务必须具有原子性、一致性、隔离性和 (
16、)。A.可串行性 B.并行性 C.完整性 D.持久性12.封锁机制是实现数据库( )的主要方法。A.完整性 B.安全性 C.并发控制 D.保护13. 如果一个关系 R 中的所有非主属性都完全函数依赖于键码,则称关系 R 属于( )。A. 2NF B. 3NF C. 4NF D. BCNF14.若关系模式 R(U,F )属于 3NF,则( )A.一定属于 BCNF B.消除了插入的删除异常C.仍存在一定的插入和删除异常 D.属于 BCNF 且消除了插入和删除异常15.一个学生可以同时借阅多本图书,一本图书只能由一个学生借阅,学生和图书之间为( )的联系。A.一对一 B.一对多 C.多对多 D.多
17、对一16. ( )是数据库中全部数据的逻辑结构和特征的描述。A.模式 B. 外模式C.内模式 D. 存储模式17.保护数据库中的信息,防止未经授权或非法的使用所造成的数据泄漏、更改或破坏,称为数据库的( )A.安全性 B.完整性 C.恢复 D.并发控制18.数据库中对访问权限的定义称为( )A.审核 B.定义 C.命令 D.授权19. 若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分丢失或全部丢失,这种情况称为( )A、事务故障 B、系统故障C、介质故障 D、运行故障20.授权和完整性管理器属于 DBMS 的( )A.操作管理器 B.存储管理器C.控制管理器 D.用户管理器单项选
18、择题二1、C2、B ;3、C 4、C5、D 6、C 7、D 8、C 9、A 10、A 11、D 12、C 13、A 14、C 15、B 16、A 17、A 18、D 19、C 20、C。21、在关系模型中字段称为( b ) 。A、层次模型 B、属性 C、关系 D、元组22、microsoft sql server 是一种基于客户机 /服务器的关系数据库管理系统,它使用( a )语言在服务器和客户机之间传送请求。A、transact-sql B、base C、asp D、c+23、在数据库中,主关键字的名称可以使用( c )来唯一识别。A、E-R 图 B、主键 C、UID D、属性24、 ( b
19、 )是由实体、属性和联系三种基本要素组成。A、关系数据库 B、E-R 图 C、复制模型 D、数据完整型26、在( d )约束中可以包含搜索条件,但是不能包含子查询,该约束限制输入到一列或多列中的可能值,从而保证了数据库中的域完整性。A、PRIMARY KEY B、 DEFAULT C、UNIQUE D、CHECK 27、空值意味着用户没有输入值,它既不代表( a ) ,也不代表 0。空值与任何数据运算或比较时,其结果仍为空。A、空格 B、0 C、空 D、无28、如果 select 语句返回的结果集合中的行数太多,可以使用( b )选项来限制返回的数据行数。A、go B、top n C、retu
20、rn D、first29、如果需要在一行记录中给所有的字段添加数据,则可以省略 insert 语句中的字段列表,只需要在( b )关键字后面列出添加的数据值就可以了,插入的数值顺序需要与目标表中的字段顺序保持一致。A、INSERT B、VALUES C、SET D、FROM30、通过 create table 语句或者其他方法创建了一个表后,可以使用( a )语句在表中添加记录。A、INSERT B、DELETE C、UPDATE D、INSEATER31、如果需要删除表中包含的无用数据,可以使用 delete 语句从表中删除满足条件的若干条记录,也可以使用( d )语句从表中快速删除所有记录
21、。A、DELETE B、INSEATER C、DEL D、TRUNCATE TABLE 32、如果表创建唯一索引后 sql server 将禁止( b )语句向表中添加重复的键值行。A、INSERT B、INSERT 语句或 UPDATE C、UPDATE D、ADD 33、使用 SQL SERVER 2000 的助手向导程序生成的数据网页,是( b )的 HTML 文档。A、SQL SERVER 2000 B、静态 C、ASP D、动态四、简答题1、试述数据库设计的基本步骤。答:(1)需求分析阶段:需求收集和分析,得到数据字典和数据流图。 (2)概念结构设计阶段:对用户需求综合、归纳与抽象,
22、形成概念模型,用E-R图表示。(3)逻辑结构设计阶段:将概念结构转换为某个DBMS所支持的数据模型。(4)数据库物理设计阶段:为逻辑数据模型选取一个最适合应用环境的物理结构。(5)数据库实施阶段:建立数据库,编制与调试应用程序,组织数据入库,程序试运行。(6)数据库运行和维护阶段:对数据库系统进行评价、调整与修改。2、数据字典通常包括哪 5 个部分? 数据字典包括数据项、数据结构、数据流、数据存储和处理过程五部分。3、数据流图的 4 种基本成分是什么?分别用什么表示?4、什么是事务?它有哪些属性?答:事务是用户定义的一个操作序列,这些操作要么全做要么全不做,事务是一个不可分割的工作单位。事务具
23、有四个特性:原子性、一致性、隔离性和持续性。这个四个特性也简称为 ACID 特性5、简述预防死锁的两种方法。预防死锁通常有两种:一次封锁法和顺序封锁法。一次封锁法:一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。一次封锁法虽然可以有效地防止死锁的发生,但每次要就将以后用到的全部数据加锁,从而降低了系统的并发度。顺序封锁法:顺序封锁法是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁6数据库系统生存期是什么?把数据库应用系统从开始规划、系统分析、系统设计、实施、投入运行后的维护到最后由新的系统替换原有的数据库系统的整个期间 。7为什么说需求分析是数据库系
24、统开发中最困难的任务之一?( 1)系统本身的需求是不断变化的;( 2)由于用户缺少计算机信息系统设计方面的专业知识,要准确表达需求很困难;( 3)通过需求分析可以沟通用户与设计人员。8数据库的三级模式和两级映象体系结构中,模式内模式映象存在于概念级和内部级之间,用于定义概念模式和内模式间的对应性。其主要作用是什么?由于概念模式和内模式的两级的数据结构可能不 -致,即记录类型、字段类型的命名、组成可能不一致,用这个映象说明概念记录和内部记录间的对应性。 9简述逻辑数据的独立性。当对数据库的概念模式进行修改时,内模式尽可能保持不变或尽量少的作修改,即对概念模式的修改尽量不影响外模式和应用程序,称数
25、据库达到了逻辑数据独立性。10数据库是一个共享资源,在多用户共享系统中,并发操作的含义是什么?在多用户共享系统中,多个用户同时对同一数据进行操作称为并发操作11什么是数据库的并发控制?数据库技术的一个特点是数据共享,但多个用户同时对同一个数据的并发操作可能会破坏数据库中的数据,数据库的并发控制能防止错误发生,正确处理好多用户、多任务环境下并发操作。七、操作题有一个“学生课程”数据库,数据库中包括三个表:(1) “学生”表 Student 由学号(Sno) 、姓名(Sname) 、性别(Ssex) 、年龄(Sage) 、所在系(Sdept)五个属性组成,可记为: Student(Sno,Snam
26、e,Ssex,Sage,Sdept) Sno 为关键字。(2) “课程”表 Course 由课程号(Cno) 、课程名(Cname) 、先修课号(Cpno) 、学分(Ccredit)四个属性组成,可记为: Course(Cno,Cname,Cpno,Ccredit) Cno 为关键字。(3) “学生选课”表 SC 由学号(Sno) 、课程号(Cno) 、成绩(Grade)三个属性组成,可记为: SC(Sno,Cno,Grade) (SNO, CNO) 为关键字。完成下列操作:1、 建立一个“学生” 表 Student,它由学号 Sno、姓名 Sname、性别 Ssex、年龄 Sage、所在系S
27、dept 五个属性组成,其中学号属性不能为空,并且其值是唯一的。CREATETABLE Student (Sno CHAR(5) NOT NULL UNIQUE,Sname CHAR(20),Ssex CHAR(1),Sage INT,Sdept CHAR(15);2、 向 Student 表增加“入学时间”列,其数据类型为日期型。ALTER TABLE Student ADD Scome DATE;3、删除 Student 表DROP TABLE Student ;4、查询全体学生的学号与姓名SELECT Sno, Sname FROM Student;5、查询全体学生的详细记录SELECT
28、 * FROM Student;6、查所有选修过课的学生的学号SELECT DISTINCT Sno FROM SC;7、查所有年龄在 20 岁以下的学生姓名及其年龄SELECT Sname, Sage FROM Student WHERE Sage 0SELECT * FROM StudentWhere Sname = NameELSESELECT 警示 = 不存在姓名为 + Name + 的学生资料22、创建 Student 表按学号升序建立唯一索引Create Unique Index Stusno on Student(Sno)23、创建 Course 表按课程号升序建立唯一索引Cre
29、ate Unique Index Coucno on Course(Cno)24、创建 SC 表按学号升序和课程号降序建立唯一索引Create Unique Index Scno on SC(Sno ASC,Cno DESC)25、建立信息系学生的视图Creat View IS_StudentASSelect Sno,Sname,SageFrom StudentWhere Sdept=”IS” 26、建立所有女生记录的视图Creat View F_Student(stdnum,name,sex,age,dept)ASSelect *From StudentWhere Ssex=”女”27、创建
30、了一个名为 stu_cou 数据库,该数据库的主数据文件逻辑名称为“stu_cou_data” ,物理文件名为“stu_cou.mdf” ,路径为 D:sql,初始大小为 10MB,最大尺寸为无限大,增长速度为 10%;数据库的日志文件逻辑名称为“stu_cou_log” ,物理文件名为“stu_cou.ldf” ,路径为 D:sql,初始大小为 1MB,最大尺寸为 5MB,增长速度为 1MB。Create database stu_couon primary(name=stu_cou_data,filename=d:sqlstu_cou.mdf,size=10,maxsize=unlimit
31、ed,filegrowth=10%)log on(name=stu_cou_log,filename=d:sqlstu_cou.ldf,size=1,maxsize=5,filegrowth=1)28、使用 sp_addumpdevice 创建一个备份设备 stucbac,这是一个磁盘文件,其物理名称为“D:sqlstuc.bak”,将 stu_cou 数据库备份到该设备上。Exec sp_addumpdevice disk,stucbac, D:sqlstuc.bak Backup Database stu_cou to stucbac30、查询其他系中比 IS 系任一学生年龄小的学生名单。
32、Select Sanme,SageFromWhere SageIS31、查询 student 表中的所有信息,将查询结果保存到当前数据库中的新数据表 re_stu 中。Select * into re_stu from student32、查询出所有所有学生的学号、姓名、性别、年龄、所在系,而且请使用中文作为查询结果的各字段的名称。Select Sno as 学号,Sname as 姓名,Ssex as 性别,Sage as 年龄,Sdept as 所在系From Student或者Select 学号=Sno, 姓名=Sname,性别=Ssex,年龄=Sage, 所在系=SdeptFrom S
33、tudent八、综合题1、 旅馆的住房管理问题应包括客房管理与收费管理,现在用关系模式收费 R(住客姓名,性别,年龄,地址,客房号,床位号,收费标准,住宿日期,退房日期,预付款)进行记录,假设:(1)旅馆住客中可能存在同名现象。(2)一个客人可以多次、不同时间到该旅馆住宿。试回答下列问题:(1) 关系模式 R 最高已经达到第几范式?为什么?(2) 如果 R 不属于 3NF,请将 R 分解成 3NF 模式集。解答:(1)显然,该关系模式属于 1NF。同时存在非主属性对候选键的部分依赖,所以该关系模式不满足 2NF 的条件。由此可见,该关系模式最高只达到 1NF。(2)住客信息(住客身份证,住客姓名,性别,年龄,地址) ,其中主键是住客身份证。