《数据库原理及应用》总复习题(带答案) 下载本文

《数据库原理及应用》总复习题(带答案)

一 、单项选择题(131)

1. ( )是长期存储在计算机内有序的、可共享的数据集合。 A)DATA B)INFORMATION C)DB D)DBS

2. 应用数据库的主要目的是为了() A)解决数据保密问题 B)解决数据完整性问题 C)解决数据共享问题 D)解决数据量大的问题

3. 在数据管理技术的发展过程中,数据独立性最高的是(阶段。

A)数据库系统 B)文件系统 C)人工管理 D)数据项管理

)4. 数据库系统的核心是( )。 A)数据库

B)数据库管理系统 C)操作系统 D)文件

5. 文字、图形、图像、声音、学生的档案记录、货物的运输情况等,这些都是( )。 A)DATA B)INFORMATION C)DB D)其他

6. 下列四项中,不正确的提法是() A)SQL语言是关系数据库的国际标准语言

B)SQL语言具有数据定义、查询、操纵和控制功能 C)SQL语言可以自动实现关系数据库的规范化 D)SQL语言称为结构查询语言

8. 数据库主数据文件的扩展名为( )。 A)dbf B)mdf

C)ndf D)ldf

9. 数据库设计过程中,( )将E-R图转换成关系模式并进行关系的规范化。 A)需求分析阶段 B)概念结构设计阶段 C)逻辑结构设计阶段 D)物理结构设计阶段

10. 下列实体类型的联系中,属于一对一联系的是( )。 A)教研室对教师的所属联系 B)父亲与孩子的联系 C)省与省会的所属联系

D)供应商与工程项目的供货联系

12. ( )是位于用户与操作系统之间的一层数据管理软件。数据库在建立、使用和维护时由其统一管理、统一控制。 A)DBMS B)DB C)DBS D)DBA

13. 下列四项中,不属于数据库系统特点的是( ) A)数据共享 B)数据完整性 C)数据冗余度高 D)数据独立性高

14. 描述数据库全体数据的全局逻辑结构和特性的是( ) A)模式 B)内模式 C)外模式 D)全模式

15. 在数据库管理技术发展的3个阶段中,没有专门的软件对数据进行管理的阶段是()I.人工管理阶段 II.文件系统阶段 III.数据库阶段 A)I 和 II B)只有 II C)II 和 III D)只有 I

16. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是( )。

A)DBS包括DB和DBMS B)DBMS包括DB和DBS C)DB包括DBS和DBMS D)DBS就是DB,也就是DBMS

17. 概念设计的结果是( ) A)一个与DBMS相关的要领模型 B)一个与DBMS无关的概念模型 C)数据库系统的公用视图 D)数据库系统的数据字典

18. E-R方法的三要素是() A)实体、属性、实体集 B)实体、键、联系 C)实体、属性、联系 D)实体、域、候选区

19. 数据库系统是由数据库、数据库管理系统(及其开发工具)、应用系统、( )和用户构成。 A)DBMS B)DB C)DBS D)DBA

20. 要保证数据库的数据独立性,需要修改的是( ) A)模式与外模式 B)模式与内模式

C)三级模式之间的两层映射 D)三级模式

21. 下列关于数据库数据模型的说法中,哪一个是不正确的()?

A)任何一张二维表都表示一个关系 B)层次模型的数据结构是有向树结构 C)在网状模型中一个子结点可以有多个父结点 D)在面向对象模型中每个对象都有一个惟一的标识。 22. 关系数据模型是目前最重要的一种数据模型,它的三个要素是( )

A)实体完整性、参照完整性、用户自定义完整性 B)数据结构、关系操作、完整性约束 C)数据增加、数据修改、数据查询 D)外模式、模式、内模式

23. 现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单位)、医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果),其中,医疗关系中的外码是() A)患者编号

B)患者姓名

C)患者编号和患者姓名 D)医生编号和患者编号

24. 一个关系中取出满足某个条件的所有元组形成一个新的关系的操作是( )操作。 A)投影 B)连接 C)选择 D)复制

25. 如果采用关系数据库实现应用,在数据库逻辑设计阶段需将( )转换为关系数据模型。 A)E-R模型 B)层次模型 C)关系模型 D)网状模型

26. 在关系代数运算中,三种专门运算为( )。 A)并、交、补 B) 并、选择、投影 C)选择、投影、连接

D)选择、笛卡尔积、投影

27. 关系数据库系统采用关系模型作为数据的组织方式,关系模型是谁先提出来的()? A)P.P.S.CHEN B)J.Martin C)E.F.Codd D)w.H.Inmon

28. 一个关系中,能唯一标识元组的属性集称为关系的() A)副键 B)关键字 C)从键 D)参数

29. 在下面列出的数据模型中,哪一种是数据库系统中最早出现的数据模型() A)关系 B)层次 C)网状

D)面向对象模型

30. 在概念模型中,客观存在并可以相互区别的事物称为() A)码 B)属性 C)联系 D)实体

31. 自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的( )。 A)元组 B)行 C)记录 D) 属性

32. 如果一个班只有一个班长,且一个班长不能同时担任其他班的班长,班和班长两个实体之间的联系属于( )。 A)一对一关系 B)一对二关系 C)多对多关系 D)一对多关系

33. 关系代数中的σ运算符对应SELECT语句中的()子句。 A)SELECT

B)FROM C)WHERE D)GROUP BY

34. 关系代数中的Π运算符对应SELECT语句中的()子句。 A)SELECT B)FROM C)WHERE D)GROUP BY

35. 设有关系R(A,B,C),与SQL语句:SELECT DISTINCT A FROM R WHERE B=17等价的关系代数表达式是()。 A)ΠA(R) B)σB=17(R) C)ΠA(σB=17(R)) D)σB=17(ΠA(R))

36. 假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的女学生姓名,将涉及到关系()。 A)S B)SC,C

C)S,SC D)S,C,SC

37. 关系模型中,主关键字是( )。 A)可由多个任意属性组成 B)至多有一个属性组成

C)可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成 D)以上都不是

38. 目前( )数据库系统已逐渐淘汰了网状数据库和层次数据库,成为当今最为流行的商用数据库系统。 A)关系 B)面向对象 C)分布 D)面向过程

39. 数据库设计中的逻辑结构设计的任务是把( )阶段产生的概念数据库模式变换为逻辑结构的数据库模式。 A)需求分析 B)物理设计

C)逻辑结构设计 D)概念结构设计

40. 关系数据库管理系统应能实现的专门关系运算包括() A)排序、索引、统计 B)选择、投影、连接 C)关联、更新、排序 D)显示、打印、制表

41. Microsoft SQL Server 2005是一种基于客户机/服务器的关系型数据库管理系统,它使用( )语言在服务器和客户机之间传递请求。 A)TCP/IP B)T-SQL C)C D)ASP

42. ( )管理工具是SQL SERVER2005提供的集成环境,它能完成访问、配置和管理SQL SERVER的所有任务。 A)SQL SERVER Management Studio B)SQL SERVER 配置管理器

C)企业管理器 D)查询分析器

43. SQL SERVER2005的Management stdio具有( )功能? A)管理服务器 B)暂停、启动服务 C)执行SQL命令 D)注册服务器组

44. SQL Server系统中的所有服务器级系统信息存储于哪个数据库( )。 A)master B)model C)tempdb D)msdb

45. 下面()不是微软公司为用户提供的六种版本的SQL Server 2005之一。 A)企业版 B)开发版 C)应用版 D)标准版

46. 下列不属于在SQL SERVER2005安装时创建的系统数据库是( )。 A)master B)msdb C)userdb D)tempdb

47. 删除数据库的命令是( )。 A)drop database B)delete database C)alter database D)remove database

48. 一个服务器上可以安装( )个SQL SERVER默认实例。 A)一个 B)两个 C)三个 D)多个

49. ()工具是Microsoft SQL Server 2005提供的集成环境,这种工具可以完成访问、配置、控制、管理和开发SQL Server的所有工作。

A)Microsoft SQL Server Management Studio B)SQL Server配置管理器 C)Analysis Services

D)SQL Server Business Intelligence Development Studio

50. 数据库操作时服务器突然掉电,当重新启动后,您如何恢复已经完成但还没把数据写入硬盘的事务,以及正在进行一半的事务?

A)运行ROLL FORWARD ALL TRANSACTION

B)不用。SQL Server 2000自动恢复,即通过日志恢复所有已经完成但还没把数据写入硬盘的事务到硬盘,并撤消正在进行一半的事务。

C)先备份事务日志,再将数据库恢复到上一完全数据库备份,再把刚备份的事务日志恢复到当前数据库的日志中。 D)没有办法。只能使用数据库以前的备份。

51. 在创建数据库时,系统自动将()系统数据库中的所有用户定义的对象都复制到 的数据库中。 A)Master B)Msdb C)Model D)Tempdb

52. SQL Server 2005的系统数据库是( )

A)Master,Tempdb,AdventureWorks,Msdb,Resource B)Master,Tempdb,Model,Librar,Resource C)Master,Northwind,Model,Msdb,Resource D)Master,Tempdb,Model,Msdb,Resource

53. 数据库系统一般由哪些部分组成()?(1) 数据库 (2)数据库管理员 (3)数据库管理系统及其工具 (4)用户 (5)操作系统 (6)应用系统 A)1、2、3 B)1、2、3、4 C)1、2、3、4、5 D)全部

54. 你使用SQL Server 2000数据库开发一个小型的酒店管理系统。你用下面的语句创建数据库: CREATE DATABASE JiuDian ON PRIMARY ( NAME = JiuDianData, FILENAME =

'c:\\cyj\\JiuDianData.mdf', SIZE = 100, MAXSIZE = 200, FILEGROWTH = 10 ) LOG ON ( NAME = JiuDianLog, FILENAME = 'c:\\cyj\\JiuDianLog', SIZE =50, MAXSIZE =100, FILEGROWTH = 10 现在酒店营业的数据为150MB。对其中50%的数据进行备份并

删除后,要把数据库立即缩小为初始的大小(即100 MB)。下面哪条语句能够实现该功能?

A)DBCC SHRINKFILE( JiuDianData, NOTRUNCATE ) B)DBCC SHRINKDATABASE( JiuDianData, 25 ) C)DBCC SHRINKDATABASE(JiuDianData, 100 )

D)ALTER DATABASE JiuDianData SET AUTO_SHRINK ON

55. 数据库管理系统的数据操纵语言(DML)所实现的操作一般包括()

A)建立、授权、修改 B)建立、授权、删除 C)建立、插入、修改、排序 D)查询、插入、修改、删除

56. 在数据库中,( )是数据物理存储的最主要、最基本的单位。 A)表 B)存储过程 C)触发器 D)视图

57. DELETE命令可以删除( )。 A)表结构 B)所有记录 C)数据库 D)约束

58. 在SQL SERVER2005的数据库文件中,()有且仅有一个,是数据库和其他数据文件的起点。 A)次数据文件 B)主数据文件 C)日志文件 D)备份文件

59. 能够在服务器之间移动数据库的操作是( )。 A)创建数据库 B)修改数据库 C)分离附加数据库 D)删除数据库

60. 以下关于主键的描述正确的是( )。 A)标识表中唯一的实体 B)创建唯一的索引,允许空值

C)只允许以表中第一字段建立 D)表中允许有多个主键

61. 关于数据库文件的存储描述不正确的是( )。 A)每个数据库有且仅有一个主数据文件

B)每个数据库允许有多个主数据文件,也允许没有次数据文件

C)每个数据库至少有一个日志文件 D)每个数据库至少有一个日志文件

62. 数据库系统中负责数据库系统的建立、维护和管理的人员是()。 A)最终用户 B)应用程序员 C)系统分析员 D)数据库管理员

63. 以下关于外键和相应的主键之间的关系,正确的是( )。 A)外键并不一定要与相应的主键同名 B)外键一定要与相应的主键同名 C)外键一定要与相应的主键同名而且唯一

D)外键一定要与相应的主键同名,但并不一定唯一

64. 数据库系统的体系结构中,( )将数据库系统分为3层进行管理。 A)用户结构 B)C/S结构 C)主从式结构 D)B/S结构

65. 下列哪个不是sql 数据库文件的后缀() A).mdf B).ldf C).tif D).ndf

66. SQL的视图是从( )中导出的。 A)基本表 B)视图

C)基本表或视图 D)数据库

68. 在SQL语言中,删除表中数据的命令是( A)DELETE

)。 B)DROP C)CLEAR D)REMORVE

69. 在SQL语言中,删除表对象的命令是( )。 A)DELETE B)DROP C)CLEAR D)REMORVE

70. 若用如下的SQL语句创建一个STUDENT表: CREATE TABLE STUDENT(NO char(4) NOT NULL,NAME char(8) NOT NULL,SEX char(2),AGE int() )可以插入到STUDENT表中的是()。

A)(‘1031’,‘曾华’,男,23) B) (‘1031’,‘曾华’,NULL,NULL) C)(NULL,‘曾华’,‘男’,‘23’) D)(‘1031’,NULL,‘男’,23)

71. 在关系数据模型中,外键(FOREIGN KEY)是( ) A)在一个关系中用于惟一标识元组的一个或一组属性。 B) 在一个关系中的一个或一组属性是另一个关系的主键。

C)在一个关系中定义了约束的一个或一组属性 D)在一个关系中定义了缺省值的一个或一组属性。

72. SQL Server的字符型系统数据类型主要包括( )。 A)int、money、char B)char、varchar、text C)datetime、binary、int D)char、varchar、int

73. 【表设计器】的“允许空”单元格用于设置该列是否可输入空值,实际上就是创建该列的( )约束。 A)主键 B)外键 C)NULL D)CHECK

74. 在T-SQL中,关于NULL值叙述正确选项是 ( ) A)NULL 表示空格 B)NULL表示0

C)NULL既可以表示0,也可以表示是空格 D)NULL表示空值

75. 若用如下的SQL语句创建课程表C: Create table C (C# char(10) primary key, CN char(20) not null, CC int null) 可以插入到C表中的记录是( )。 A)(‘005’,‘VC++’,6) B)(‘005’,NULL,6) C)(NULL,‘VC++’,6) D)(005,‘VC++’,NULL)

76. 使用T-SQL语言创建表时,语句是( ) A)DELETE TABLE B)CREATE TABLE C)ADD TABLE D)DROP TABLE

77. 在T-SQL语言中,修改表结构时,应使用的命令是( A)UPDATE B)INSERT C)ALTER D)MODIFY

78. 可以唯一地标识表中的一行数据记录的列称为( )。 A)约束

) B)外键 C)参考键 D)主键

79. 下列标识符可以作为局部变量使用( )。 A)Myvar B)My var C)@Myvar D)@My var

80. 假设表中某列的数据类型设为varchar(100),而输入的字符串为“abcdefgh“,则存储的是( )。 A)abcdefgh,共8B

B)abcdefgh和92个空格,共100B C)abcdefgh和12个空格,共20B D)abcdefgh和32个空格,共40B

81. 在SQL Server 2005数据库中创建了定单表: CREATE TABLE 定单表 ( 定单号 int IDENTITY(100001,1) PRIMARY KEY, 雇员代号 int NOT NULL, 客户代号 int NOT NULL, 订购日期 datetime NOT NULL, 订购金额 money NOT NULL ) 由于业务量很大,定单表已经存放了大量的数据。你想删除3年以前的订购

信息, 下面哪个语句能够完成改任务?

A)DELETE FROM 定单表 WHERE 定单日期 < DATEADD( YY, -3, GETDATE() )

B)DELETE FROM 定单表 WHERE 定单日期 < DATEADD( YY, 3, GETDATE() )

C)DELETE FROM 定单表 WHERE 定单日期 < GETDATE() - 3 D)DELETE FROM 定单表 WHERE 定单日期 < GETDATE() + 3

82. 在登记学生成绩时要保证列Score的值在0到100之间,下面的方法中哪种最简单?

A)编写一个存储过程,管理插入和检查数值,不允许直接插入;

B)生成用户自定义类型type_Score和规则,将规则与数据类型type_Score相关联,然后设置列Score的数据类型类型为type_Score;

C)编写一个触发器来检查Score的值,如果不在0和100之间,则撤消插入;

D)在Score列增加检查限制。

83. 在学生成绩表tblCourseScore中的列Score用来存放某学生学习某课程的考试成绩(0~100分,没有小数), 用下面的哪种类型最节省空间?

A)int B)smallint C)tinyint D)decimal(3,0)

84. 如果表中某列用于存储图像数据,则该列应该设置为()数据类型。 A)text B)ntext C)image D)int

85. 数据库管理系统的英文缩写是( )。 A)DBMS B)DBS C)DBA D)DB

86. 对一个已经创建的表,( )操作是不能够完成的。 A)更改表名 B)增加或删除列

C)增加或删除各种约束

D)将某一列的数据类型由text修改为image

87. 下列( )最适合充当表的主键列。 A)空值列 B)计算列 C)标识列 D)外键列

88. SQL Server 2000中表查询的命令是( A)USE B)SELECT C)UPDATE D)DROP

89. 建立索引的目的是( )。 A)降低SQL Server数据检索的速度 B)与SQL Server数据检索的速度无关 C)加快数据库的打开速度

D)提高SQL Server数据检索的速度

)。90. SQL Server 2000中表更新数据的命令是( )。 A)USE B)SELECT C)UPDATE D)DROP

91. 以下哪种连接方式不属于外连接方式( )。 A)左外连 B)右外连 C)前外连 D)全外连

92. 查询语句“SELECT name,sex,birthday FROM human”返回( )列。 A)1 B)2 C)3 D)4

93. 语句“SELET COUNT(*) FROM human”返回( )行。 A)1 B)2

C)3 D)4

94. 假设数据表 “test1” 中有 10 条数据行,可获得最前面两条数据行的命令为( ) A)SELECT 2 * FROM test1 B)SELECT TOP 2 * FROM test1 C)SELECT PERCENT 2 * FROM test1 D)SELECT PERCENT 20 * FROM test1

95. 关于查询语句中 ORDER BY 子句使用正确的是() A)如果未指定排序列,则默认按递增排序 B)数据表的列都可用于排序

C)如果在 SELECT 子句中使用了 DISTINCT 关键字,则排序列必须出现在查询结果中

D)联合查询不允许使用 ORDER BY 子句

96. 在SELECT 语句中,使用*号表示( ) A)选择任何列 B)选择全部列 C)选择全部元组 D) 选择主码

97. SQL语言中,条件“年龄 BETWEEN 20 AND 30”表示年龄在20至30之间,且()。 A)包括20岁和30岁 B) 不包括20岁和30岁 C)包括20岁但不包括30岁 D) 包括30岁但不包括20岁

98. SQL语言具有( )的功能

A)关系规范化、数据操纵、数据控制台 B)数据定义、数据操纵、数据控制 C)数据定义、关系规范化、数据控制 D)数据定义、关系规范化、数据操纵

99. SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE和DELETE等。其中,最重要的,也是使用最频繁的语句是( )。 A)SELECT B)INSERT C)UPDATE D)DELETE

100. 在SQL语言中,子查询是()。 A)返回单表中数据子集的查询语句 B)选取多表中字段子集的查询语句 C)选取单表中字段子集的查询语句 D)嵌入到另一个查询语句之中的查询语句

101. SQL的视图是从( )中导出来的 A)基本表 B)视图

C)基本表和视图 D)数据库

102. 在SQL中,建立视图用的命令是 ( )。 A)CREATE SCHEMA B)CREATE TABLE C)CREATE VIEW D)CREATE INDEX

103. 关于视图下列哪一个说法是错误的( ) A)视图是一种虚拟表 B)视图中也存有数据

C)视图也可由视图派生出来

D)视图是保存在数据库中的SELECT查询

104. 在SQL语言中,删除一个视图的命令是( )。 A)DELETE B)DROP C)CLEAR D)REMORVE

105. 下列聚合函数使用正确的是( ) A)SUM(*) B)MAX(*) C)COUNT(*) D)AVG(*)

106. 对于多行注释,必须使用( )进行注释。 A)-- B)/* */ C)// // D)// //

107. 用于求系统日期的函数是( )。 A)YEAR() B)GETDATE() C)COUNT() D)SUM()

108. 在SQL Server 2005,下列变量名正确的是( )。 A)@sum B)j C)sum D)4kk

110. 用于求系统日期的函数是( )。 A)YEAR() B)GETDATE() C)COUNT() D)SUM()

111. 下面哪些字符可以用于T-SQL的单行注释( )。 A)-- B)/* */

C)** D)&&

112. SQL Server 2005中,全局变量以()符号开头。 A)@ B)@@ C)** D)&&

113. 激活DML触发器的数据修改语句,有效选项是( ) A)INSERT B)UPDATE C)DELETE D)SELECT

114. 当希望执行对book表的操作时,如果该操作不执行,而是执行对price表的更新操作,则应该创建什么类型的DML触发器( )。 A)FOR B)BEFORE C)AFTER D)INSTEAD OF

115. 关于触发器,叙述正确的是:( )。 A)触发器是自动执行的,可以在一定条件下触发 B)触发器不可以与同步数据库的相关表进行级联更改 C)SQL Server 2005不支持DDL触发器 D)触发器不属于存储过程

116. 用户建立的存储过程在查询分析器中可通过( )命令来调用执行。 A)CREATE B)DROP C)SELECT D)EXECUTE

117. 在SQL SERVER服务器上,存储过程是一组预先定义并( )的Transact-SQL语句。 A)保存 B)编译 C)解释 D)编写

118. 在SQL语言中,建立存储过程的命令是( ) A)CREATE PROCEDURE

B)CREATE RULE C)CREATE DURE D)CREATE FILE

120. 向用户授予操作权限的SQL语句是( )。 A)CTEATE B)REVOKE C)SELECT D)GRANT

121. 有关存储过程说法不正确的是( )。 A)存储过程是用T-SQL语言编写的 B)存储过程在客户端执行 C)存储过程可以反复多次执行 D)存储过程可以提高数据库的安全性

122. 关于系统存储过程,下列说法正确的是( A)只能由系统使用 B)用户可以调用 C)需要用户编写程序 D)用户无权使用

)。 123. 关于登录和用户,下列各项表述不正确的是( )。 A)登录是在服务器级创建的,用户是在数据库级创建的 B)创建用户时必须存在一个用户的登录 C)用户和登录必须同名 D)一个登录可以对应多个用户

124. 对访问SQL Server实例的登录,有两种验证模式:Windows 身份验证和( )身份验证。 A)Windows NT模式 B)混合身份验证模式 C)以上都不对 D)以上都对

125. 下列( )说法不是存储过程和触发器的共同之处。 A)都需要事先编写程序 B)都用T-SQL语言编写程序 C)都是在服务器端执行 D)都是用户调用执行的

126. SQL Server 2005的安全性管理可分为4个等级,不包括( )

A)操作系统级

B)用户级 C)SQL Server级 D)数据库级

127. 下列关于数据库备份的叙述错误的是( )。 A)如果数据库很稳定就不需要经常做备份,反之要经常做备份以防数据库损坏

B)数据库备份是一项很复杂的任务,应该由专业的管理人员来完成

C)数据库备份也受到数据库恢复模式的制约

D)数据库备份策略的选择应该综合考虑各方面因素,并不是备份做得越多,越全就越好

128. ( )备份最耗费时间。 A)数据库完整备份 B)数据库差异备份 C)事务日志备份 D)文件和文件组备份

129. 做数据库差异备份之前,需要做( )备份。 A)数据库完整备份 B)数据库差异备份

C)事务日志备份 D)文件和文件组备份

130. 下面()是系统安装时自动创建的SQL SERVER登录名。 A)sa B)guest C)dbo D)user

131. 做文件及文件组备份后,最好做( )备份。 A)数据库完整备份 B)数据库差异备份 C)事务日志备份 D)文件和文件组备份 四 、问答题(19)

1. E-R图中包括哪些基本图素?具体如何表示? E-R图中包括的基本图素有实体,属性,联系。实体用矩形表示,属性用椭圆表示,联系用菱形表示 2. 简述数据库设计的主要步骤?

1)需求分析2)概念结构设计3)逻辑结构设计4)数据库物理设计5)数据库实施6)数据库运行和维护

4. 数据库系统的组成是什么?DBMS指的是什么?

数据库系统由硬件,数据库,数据库管理系统,相关软件及开发工具,用户组成。DBMS指的是数据库管理系统

6. 在Employees表中的列Remarks用来记录员工的备注信息,该列大部分不到800字节,但有时会达到20000字节。如何处理以提高读取性能?

用行中的text方式,因为20000字节超过一个记录的长度(约8000字节),所以该列只能用text类型。为了提高读取性能,当记录中该列不到800字节时,把它直接把它放到该行。 7. 你正在设计一个要存储数百万种不同产品的信息数据库,而且想以最少的空间存储产品信息。每一个产品在products表中都有一行描述。有时候,产品描述需要200个字符,但绝大多数产品描述只需要50个字符。那么,你应该使用哪一种数据类型?

使用Varchar(200)数据类型。因为它既保持了行的紧凑,同时也能够容纳偶然情况下所需要的200字节的产品描述。

9. 定单录入系统有两个主要的表:Orders和Customers。如果希望惟一地标识每个定单和客户,应该考虑哪种数据完整性组件?如何管理这两个表之间的关系?

确定在Customers表中定义PRIMARY KEY 约束

在Orders表中使用FOREIGN KEY约束来引用Customers表

10. 数据完整性的分类有哪些?通过哪些约束可以实现,各举一个例子。

数据完整性分为实体完整性,域完整性和参照完整性。 主键,唯一约束,索引引用实体完整性,check约束,默认值,空/非空可以实现域完整性,外键实现参照完整性。

12. 学生成绩表包含列“学号”、列“课程代号”、列“成绩”、列“考试时间”等。列“成绩”的值为NULL表示该学生缺考这门课。请用SELECT语句查询学号为“98120001”的学生所有缺考的课程数。

select (*)from 学生成绩表 where 学号=’98120001’and 成绩 is null

13. 雇员信息表包含列“雇员代号”、列“雇员姓名”、列“出生日期”、列“基本工资”、列“津贴”,总工资=基本工资+津贴,请用SELECT语句查询1972年以后出生的雇员的姓名、出生日期和总工资,按总工资递减的顺序显示。

select 雇员姓名, 基本工资+津贴 as 总工资,出生日期

from 雇员信息表 where 出生日期>=’1972-1-1’ORDER BY 总工资 desc

14. 某班级的学生成绩表包含列“学号”、列“课程代号”、列“成绩”、列“学期号”,请统计学期号为“第三学期”的每个学生所有科目的平均成绩。

select 学号,avg(成绩)from 学生成绩表 where 学期号=‘第三学期’ order by 学号 15. 表和视图有何区别?

17. 简述存储过程和触发器的主要区别?

18. AFTER触发器和INSTEAD OF触发器有什么区别?

五 、分析与设计题(4)

(一). 请根据下表内容完成题目要求:(表的名字为:商品表) 编号 001 商品名 电视机 单价 1200 数量 5 状态 0 002 003 004 005 006 …

洗衣机 空调 自行车 电视机 洗衣机 … 1650 5600 180 2580 3600 … 13 8 43 18 23 … 0 1 1 1 0 … 1、 查询表中所有的数据行。 2、 查询表中前两行数据。

3、 显示表中商品名和单价,并去掉重复行的数据。 4、 查看表中数量低于10的商品信息。 5、 查看表中价格最高的的商品名。

6、 查看表中单价在1000和3000之间的商品信息。 7、 显示表中商品名和单价两列数据,且按单价降序排列。 8、 显示表中商品名以电开头的数据行。

9、 向表中添加一行数据,其值为(‘007’,‘电冰箱’,4560,56)

10、 更改表中的数据,将自行车的单价改为280。 11、 删除表中商品名为电冰箱的数据行。

12、 依据此表创建视图aa,使该视图包含编号,商品名,及单价*0.8三列。 13、 删除该表.

答案:

1、select * from 商品表 2、select top 2 * from 商品表

3、select distinct 商品名,单价 from商品表 4、select * from商品表 where 数量<10

5、select top 1 商品名 from商品表 oder by 单价 desc 6、select * from商品表 where 单价 between 1000 and 3000 7、select 商品名,单价from商品表 oder by 单价 desc 8、select * from 商品表 where 商品名 like ‘电%’ 9、insert into商品表 values(‘007’,‘电冰箱’,4560,56)

10、update 商品表 set单价=280 where商品名=’自行车’ 11、delete from商品表 where商品名=’ 电冰箱’ 12、create view aa

as select 编号,商品名,单价*0.8 from 商品表 13、drop table 商品表 (二)、

1、建立数据库student。

1

2.按照图表中给出的表定义,请在student数据库中创建学生表。

3.查询学生表中女同学的基本信息。

4.查询成绩表中选修了课程号为‘002’的所有学生的学号及成绩,并按成绩降序排列。

5.查询成绩表中课程号为‘003’课程的成绩最高分。

6.查询所有学生的学号、姓名、所选课程的课程名称及相应成绩 7.修改课程表中 ‘数据结构’课程的学分,将其学分改为6 。 8.根据学生表创建视图View1,视图包含计算机系所有学生的基本信息。

9.创建存储过程Proc1,使其完成如下功能:根据任意输入的学生学号,查询成绩表中该学生的学号、课程号及成绩。(使用输入参数)

10.执行第9小题中创建的存储过程Proc1,执行时输入的学生学号为‘20090101’ 11、删除成绩表。 答案:

1.create database student 2. create table 学生表 ( 学号char(8) primary key, 姓名char(6) not null, 性别char(2) default ’男’,

年龄int check(年龄 between 15 and 25), 系别 char(30) null )

3.select * from学生表 where 性别='女' 4.select 学号,成绩 from 成绩表 where 课程号=’002’order by 成绩 desc

5.select max(成绩) as ‘最高分’ from 成绩表 where 课程号=’003’

6.select 学生表.学号,姓名,课程名,成绩 from 学生表,成绩表, 课程表

where学生表.学号=成绩表.学号 and 成绩表.课程号=课程表.课程号

7. update 课程表 set 学分=6 where 课程名=’数据结构’ 8. create view view1 as

select * from 学生表 where 系别=’计算机系’ 9. create procedure proc1 @xh char(8) as

select * from 成绩表 where 学号=@xh 10. execute proc1 ‘20090101’ 11. drop table 成绩表 (三)

1、创建一个存放在D:\\SQL路径下Test数据库,该数据库的主数据文件逻辑名称为Test_data,物理文件名为Test_data.mdf,初始大小为4MB,最大尺寸为10MB,增长速度为10%;数据库的日志文件逻辑名称为Test_log,物理文件名为Test_log.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。 (4分) 2、依据表结构创建score表。 3、查看表中所的的数据行。

4、查看表中姓名、SQL 两列数据,并按成绩降序排列。。 5、查看表中姓王学生的基本信息。

6、查看所有学生的学号、姓名及总分(三门课相加)。 7、向score表中插入一行数据,值分别为: (1005 , ‘赵强’, 64, 82 , 69)

8、修改表中姓名为王英的数据,使VB的值改为:85 9、创建视图xs1,使其包含学号、姓名、SQL三列。

10、创建存储过程pjf,用它来按姓名查询score表中任一学生的平均成绩。

11、执行第10小题中创建的存储过程pjf。

12、建立触发器tr1p,防止用户对score表有删除、修改及插入操作。(4分)

13、显示score中各门课的平均值。 14、删除score表中姓王的所有数据行。 15、删除test数据库 。

答案:1、

create database test on --建立主数据文件 (

name = test_data, --逻辑文件名

filename='d:\\sql\\test_data.mdf', --size=4mb, --初始大小 maxsize= 10mb, --最大容量 filegrowth = 10% --增长速度 )

log on --建立日志文件 (

name=test_log,

filename='d:\\sql\\test_log.ldf', size=1mb, maxsize = 5mb, filegrowth = 1mb )

2、create table score ( 学号char(8) primary key,

物理文件路径和名字 姓名char(6) not null,

sql float check(sql between 0 and 100), asp float check(asp between 0 and 100), vb float check(asp between 0 and 100)) 3、select * from score

4、select姓名,sql from score order by sql 5、select * from score where 姓名 like ‘王%’ 6、select 学号,姓名,sql+asp+vb as 总分 from score 7、insert into score values(1005,‘赵强’,64,82,69) 8、update score set vb=85 where 姓名=‘王英’

9、create view xs1 as select 学号,姓名,sql from score 10、create procedure pjf @xm char(8)

as select avg(asp+vb+sql) ‘平均分’ from score where姓名=@xm

11、execute pjf

12、create trigger tr1 on score for delete,update,insert as

Print’不允许执行上述操作’ Rollback transaction Return go