电大试卷-数据库基础与应用汇总

数据库基础与应用期末复习题(归纳整理)

一、填空题

1、Access “表”结构设计窗口分为两个部分,上半部分是 表设计器 ,下半部分是 字段属性 。

2、Access “表”结构设计窗口中上半部分的“表设计器”是由 字段名称 、 数据类型 和 说明 三列组成。

3、Access 是( A.Office )办公套件中的一个重要组成部分。

4、Access 数据库包含有 表 、 查询 、 窗体 、报表、页、宏、模块7种数据库对象。

5、Access 用户操作界面由( B.5 )部分组成。

6、Access 中包含有(C .7 )个数据库对象。

7、Access 的用户操作界面由 标题栏 、 菜单栏 、 工作区 、工具栏、状态栏等五个部分组成。

8、Access 数据库是(C .关系型数据库)

9、Access 数据库文件的扩展名是(D .mdb )

10、Access 数据库系统中,定义表中的的字段就是确定表的结构,即确定表中字段的 名称 、 类型 、属性、和说明等。

11、Access 数据库中的“一对多”指的是(B .一条记录可以与不同表中的多条记录相关 )。

12、Access 为用户提供了多种数据库安全措施,如设置用户__密码__和___权限__。

13、Access 中包含有( B.10 )种数据类型。

14、Access 中的表间关系有 1对1 、 1对多 和 多对多 三种。

15、Access 中的窗体由 页眉 、 主体 和 页脚 等三个部分组成。

16、Access 中字段的“小数位”属性是指定数字型和 货币性 数据的小数部分的位数,它只影响数据的 显示方式 ,并不影响所存储数值的 精度 。

17、DBMS 具有 安全性 、 一致性 、 并发性 和 数据库恢复 等管理控制功能。

18、Microsoft 公司的SQL Server 2000 数据库管理系统一般只能运行在(Windows 平台)。

19、SQL Server 2000 系统中的所有系统级信息存储于哪个数据库(A. master )。

20、SQL Server 2000 采用的结构化查询语言称为 Transaction-SQL 。

21、SQL Server 2000 的物理存储主要包括3类文件( A. 主数据文件、次数据文件、事务日志文件)。

22、SQL Server 2000的数据库分为 系统数据库 和 用户数据库 两种类型。

23、SQL Server 2000服务管理器的主要作用是启动、 暂停 、 停止 服务器。

24、SQL Server 2000与Windows 2000等操作系统完全集成,可以使用操作系统的用户名和域账号作为数据库的 注册账号 。

25、SQL Server客户机传递到服务器上的一组完整的数据和SQL 语句称为 批处理 。

26、SQL Server提供的单行注释语句是使用( B. “--” )开始的一行内容。

27、SQL Server 主数据文件、次数据文件和事务日志文件默认的扩展名分别为 mdf 、_ndf 和 ldf 。

28、SQL 是高度 非过程化 和面向 集合 操作的语言。

29、varchar 数据类型可以自动去掉字段或变量尾部的 空格 以节省空间。

30、安装SQL Server 2000时需要以本地 系统管理员 身份登录操作系统。

31、把保存_关系定义__的关系称为对应数据库的元关系,一个数据库的元关系由__DBMS_自动建立。

32、报表窗口由 5 个部分组成,每个部分称为一个 节 。

33、报表由 报表页眉 、 页面页眉 、 主体 、页面页脚和报表页脚5节组成。

34、标准模块包含 通用过程 和 常用过程 两个过程。

35、查询可以作为 窗体 、 报表 和 数据访问页 的数据源。

36、查询可以作为窗体、报表和数据访问页的 数据源 。

37、常见的SQL Server2000的版本一般包括 企业版 、 标准版 、 个人版 、开发版和评估版等。

38、单行或行尾注释的开始标记为_- - _,多行注释的开始标记为__/*_,结束标记为 */__。

39、当数据库损坏时,数据库管理员可通过何种方式恢复数据库( A. 事务日志文件 )。

40、当一条SELECT 语句访问一张大表里的有限几行数据时,SQL Server2000 通常会(为数据加上行级锁)。

41、定义局部变量的语句关键字是 declare ,被定义的各变量之间必须用 逗号 字符分开。

42、对关系进行规范化,通常只要求规范化到 第三 范式,该规范化过程能够很好的保持数据的 无损连接 性和 函数依赖 性。

43、分布式数据库系统除了具有一般数据库系统的优点之外,还具有 兼容性好 、 可靠性高 、 地域范围广 、 数据量大 、 客户数多 等优点。

44、分布式数据库系统既支持客户的_局部__应用,又支持客户的__全局__应用。

45、概念设计阶段的主要任务是:首先根据系统的各个局部应用画出各自对应的__ER图 _,然后再进行综合和整体设计,画出_整体ER 图_。

46、关系数据库系统具有 数据结构 单一、采用 集合运算 、数据完全 独立 、数学 理论支持等优点。

47、关系数据库中的每个关系必须最低达到__第一__范式,该范式中的每个属性都是__不可再分__的。

48、关系数据模型包括 关系数据结构 、 关系完整性规则 和 关系运算 三个方面。

49、关系完整性包括 实体 完整性、 参照 完整性和 用户定义 完整性三个方面。

50、关系中的每一行称为 元组 ,每一列称为 属性 。

51、宏的英文名称是( A.Macro )。

52、宏是由一条或多条操作命令组成的集合,其中每条命令用来实现相应的功能。 局部变量的开始标记为 @ ,全局变量的开始标记为 @@ 。

53、聚集索引与非聚集索引相比,查询速度要 快 。

54、可以通过Internet 进行数据发布的对象是( D.数据访问页 )。

55、每个SQL Server 2000数据库下都包括 master 、 model 、 tempdb 和 msdb 四个系统数据库。

56、每条__select___语句能够同时为多个变量赋值,每条__set__语句只能为一个变量赋值。

57、模块窗口由( B.3 )个部分组成。

58、模块窗口中的代码编辑窗口由 对象列表框 、 代码编辑区域_和 _过程事件列表框 等三部分组成。

59、任一种数据模型都有_ 型___和___值___的区别。

60、如果字段内容为声音文件,可将此字段定义为( C.OLE 对象 )类型。

61、若实体A 和B 是1对多的联系,实体B 和C 是1对多的联系,则实体A 和C 是1 对_多__的联系。

62、若实体A 和B 是1对多的联系,实体B 和C 是多对1的联系,则实体A 和C 是_多_对多__的联系。

63、若实体A 和B 是多对多的联系,实体B 和C 是1对1的联系,则实体A 和C 是_多_对_多_的联系。

64、若一个关系的任何非主属性都不部分依赖和传递依赖于任何候选码,则称该关系达到__第三__范式。

65、若一个关系为R (学生号,姓名,性别,年龄),则 学生号 可以作为该关系的主码,姓名、性别和年龄为该关系的 非主 属性。

66、设D 1,D 2和D 3域的基数分别为2,3和4,则D 1⨯D 2⨯D 3的元组数为__24__,每个元组有__3__个分量。

67、设一个关系为R(A,B,C,D,E,F,G ),它的最小函数依赖集为FD={A→B,C →D, B→E, E→F},则该关系的候选码为_(A ,C ,G )__,该候选码含有_3__属性。

68、设一个关系A 具有a1个属性和a2个元组,关系B 具有b1个属性和b2个元组,则关系A ×B 具有 a1+b1 个属性和 a2 x b2 个元组。

69、设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,A →C,(A,D)→E},则该关系的候选码为_(A ,D )__,该关系存在着_部分__函数依赖。

70、设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,C →D, (A,C )→E},则该关系的候选码为__(A ,C )__,该候选码含有_2__属性。

71、设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,C →D,C →E},该关系只满足_ 第一__范式,若要规范化为高一级的范式,则将得到_3_个关系。

72、设一个关系为R(A,B,C,D,E,F ),它的最小函数依赖集为FD={A→B,A →C, D→E, D→F},则该关系的候选码为__(A ,D )___,该候选码含有___2___属性。

73、设一个关系为R(A,B,C,D,E,F,G),它的最小函数依赖集为FD={A→B,A →C,C →D,C →E,A →F,F →G},该关系满足 第二_范式,若要规范化为高一级的范式,则将得到_3_个关系。

74、设一个集合A={3,4,5,6,7} ,集合B={1,3,5,7,9},则A 和B 的并集中包含有 7个元素,A 和B 的交集中包含有 3 个元素,A 和B 的差集中包含有 2 个元素。

75、设一个学生关系为S(学生号,姓名) ,课程关系为C(课程号,课程名) ,选课关系为X(学生号,课程号,成绩) ,求出所有选课的学生信息的运算表达式为与__C___的自然连接。

76、设一个学生关系为S(学生号,姓名) ,课程关系为C(课程号,课程名) ,选课关系为X(学生号,课程号,成绩) ,则姓名为变量K 的值的学生所选修的全部课程信息所对应的运算表达式为__C__ ∏课程号(_X__ (δ姓名=K(_S___)))。

77、设一个学生关系为S(学生号,姓名) ,课程关系为C(课程号,课程名) ,选课关系为X(学生号,课程号,成绩) ,则选修了课程名为‘程序设计’课程的全部学生信息所对应的运算表达式为S >

79、实体之间的联系类型有三种,分别是 1对1、 1对多 和 多对多 。 80、使用 条件表达式 可以确定按条件执行宏。

81、数据访问页是一种特殊的 Web 页,通过它可以查看、添加、编辑的操作存储在 Access

数据库 中的数据。

82、数据库处理技术经历了 人工管理 、 文件管理 、 数据库管理 以及分布式数据库管理四个发展阶段。

83、数据库文件中至少包含有(A .表 )对象。

84、数据库系统的三级模式结构和两级数据映像确保了数据的 物理 独立性和 逻辑 独立性。

85、数据库系统的外模式在SQL 中称为 视图 ,它由 基本表 产生出来。

86、数据库系统具有 数据结构化 、 数据共享 、 数据独立性 、数据粒度小、独立的数据操作界面、由DBMS 统一管理等优点。

87、索引可以加速Select 语句中order by 和 group by 选项的执行速度。

88、文本型字段最多可以存放( D.255 )个字符。

89、下列( D

100、下列( D.

101、下列( C.

102、下列( D.

103、下列(D . )图标是Access 中新建宏的标志。 )图标是Access 中新建报表的标志。 )图标是Access 中表对象的标志。 )图标是Access 中新建查询的标志。 )是主键的标志。

104、下列标识符可以作为局部变量使用( C. @myvar )。

105、下面有关主键的叙述正确的是( B.一个表中的主键可以是一个或多个字段 )。

106、向基本表中插入数据有两种命令格式,一种称为 单行 插入格式,另一种称为多行 插入格式。 107、需求分析阶段的主要目标是画出__数据流图_、建立__数据字典_和编写_需求说明书_。

108、需求说明书是系统总体设计方案,是 开发 单位和 用户 单位共同协商达成的文档。

109、学生关系中的班级号属性与班级关系中的班级号主码属性相对应,则__班级号_为学生关系中的_外码

110、一般可以使用 Go 命令来标识Transact-SQL 批处理的结束。

111、一般情况下,一下哪个字段可以作为主关键字( D.身份证号码 )。

112、一个Access 数据库对应于操作系统中的_1_个文件,其文件扩展名为__mdb__。

113、一个关系的候选码能够函数决定每个属性,其中除了存在完全函数决定外, 也允许存在 部分 函数决定和 传递 函数决定。

114、一个关系若存在部分函数依赖和传递函数依赖,则必然会造成 数据冗余 和 操作异常 。

115、一个关系若存在部分函数依赖和传递函数依赖,则必然会造成数据 冗余 以及 插入 、 删除 和 修改 异常。

116、一个数据库应用系统的开发过程大致相继经过_需求分析_、___概念设计_、逻辑设计、物理设计、机器实现、运行维护等六个阶段。

117、已知“职工号→性别”成立,则“(职工号,性别)→ 性别”既是 平凡 函数依赖,又是 部分 函数依赖。

118、由create schema KUCUN authorization LIU 命令建立的一个数据库名为 KUCUN ,所有者为 LIU 。

119、由概念设计进入逻辑设计时,原来的 多对多 联系通常需要被转换为对应的 基本表 。

120、域是实体中相应属性的 取值范围 ,性别属性的域包含 2 个值。

121、在 列级 完整性约束中,每个约束只能涉及到1个属性,在 表级 完整性约束中,每个约束可以涉及到多个属性。

122、在 文件 系统中,数据没有独立的操作界面,在 数据库 系统中数据具有独立的操作界面。 123、在 对象 数据模型中, 对象 不但能够继承,而且能够嵌套。

124、在_文件__系统中,不容易做到数据共享,在_数据库__系统中,容易做到数据共享。

125、在Access 2000 中报表中有 设计 和 预览 视图,而没有 数据表 视图。

126、在Access 数据库系统中,不能建立索引的数据类型是( B.备注型 )。

127、在Access 数据库中,数据保存在(D .表 )对象中。

128、在Access 中模块分为 类模块 和 标准模块 两种类型。

129、在SQL Server 2000中,CASE 函数具有 2 种格式,每种格式中可以带有 多 个WHEN 选项,可以带有 1 个ELSE 选项。

130、在SQL Server 2000中,CASE 结构是一个 函数 ,只能作为一个 表达式 使用在另一个语句中。 131、在SQL Server中,每个程序块的开始标记为关键字_being _,结束标记为关键字_end_。

132、在SQL 查询语句中,group by 选项实现 分组 功能,order by 选项实现对结果表的排序 功能。 133、在SQL 中,create table 、alter table 和drop table 命令分别为在数据库中 建立 、_修改__和 删除 基本表结构的命令。

134、在SQL 中,单值约束的关键字为 unique ,检查约束的关键字为 check 。

135、在SQL 中,对基本表进行插入、修改和删除记录命令分别为_insert _、___update__和_delete_命令。

136、在SQL 中,列级完整性约束分为 6 种情况,表级完整性约束分为 4 种情况。

137、在SQL 中,每个视图中的列可以来自不同的 表 ,它是在原有表的基础上 建立 的逻辑意义上的新关系。

138、在SQL 中,主码约束的关键字为 primary key ,外码约束的关键字为 foreign key 。

139、在SQL 中建立和删除数据库模式的命令分别为_create database __和__drop database___。 140、在SQL 中完整性约束分为 列级 完整性约束和 表级 完整性约束两个方面。

141、在参照和被参照的关系中,每个外码值或者为 空 ,或者等于另一个关系中的 主码 值。

142、在非关系模型中操作记录的方式是 过程 式的,在关系模型中操作记录的方式是集合 式的。 143、在候选码中的每个属性被称为 主 属性,不在任何候选码中的每个属性被称为 非主 属性。

144、在进行系统调试时,要有意地使用各种不同的__数据_和进行各种不同的__操作__,去测试系统中的所有方面。

145、在旅店管理中,_客房表_只派生出一个视图,该视图被称为_客房空闲表_。

146、在人工管理和文件管理阶段,程序设计 依赖于 数据表示。

147、在设计Access 数据表时,“索引”属性有(C .3 )取值。

148、在设置或撤消数据库密码的过程中,数据库必须以 独占 方式打开。

149、在实体中能作为码的属性称为 主属性 , 否则称为 非主属性 。

150、在数据库体系结构中,两级数据映像分别是指 外模式和模式 之间的数据映像与模式和内模式 之间的数据映像。

151、在数据库系统中访问数据,既可以采用 程序执行 方式,也可以 视屏交互 采用方式。

152、在条件结构的语句中,关键字IF 和ELSE 之间和ELSE 之后,可以使用__单条__语句,也可以使用具有_Being„end__格式的语句块。

153、在文件管理阶段,程序和数据在存储位置上是__分开___存放的。

154、在文件管理阶段、文件之间是相互 独立 的,在数据库管理阶段,文件之间是相互 联系 的。 155、在文件系统中,存取数据的基本单位为记录_,在数据库系统中,存取数据的基本单位为_数据项_。 156、在新版的SQL 中,查询所涉及到的表及表之间的连接是在from 选项中实现的,表之间的连接共有三种方式,分别称为_中间连接__、__左连接__和_右连接___。

157、在循环结构的语句中,当执行到关键字 Break 后将终止整个语句的执行,当执行到关键字 Continue 后将结束一次循环体的执行。

158、在一个关系R 中, 非平凡 函数依赖,又是 完全 函数依赖。 159、在一个关系R 中,若X →Y 且 X ⊆ Y ,则称X →Y 为 非平凡 依赖,否则,若X →Y 且X ⊇Y ,则称X →Y 为 平凡 依赖。

160、在一个关系R 中,若X 能够函数决定关系R 中的每个属性,并且X 的任何真子集都不能函数决定R 中的每个属性,则称 X 为关系R 的一个 候选码 。

161、在一个关系R 中,若存在“学号→系号,系号→系主任”,则隐含存在着学号__函数决定__系主任__。 162、在一个关系R 中,若存在X →(Y,Z),则也隐含存在__X→Y__和_ X →Z_,称此为函数依赖的__分解性___规则。

163、在一个关系R 中,若存在X →Y 和X →Z ,则存在 X→(Y ,Z ),称此为函数依赖的 合并性 规则。 164、在一个关系R 中,若属性集X 函数决定属性集Y ,则记作为_X→Y_,称X 为 决定因素 。

165、在一个宏中要打开一个报表,应该使用的操作是(B .OpenReport )。

166、在一个已存在数据的表中增加不带默认值的列,一定要保证所增加的列允许 null 值。

167、专门的关系运算包括__选择___、_投影_、__连接__和__除__四种。

168、字段说明用于对字段作进一步的描述,该说明显示在( A.状态栏 )上。

二、根据主教材第四章所给的商品库和教学库,按照下列所给的每条SQL 查询语句写出相应的功能。 在名称为商品库的数据库中包含有商品表1和商品表2,它们的定义分别为:

商品表1( 商品代号 char(8),分类名 char(8),单价 float ,数量 int )

商品表2( 商品代号 char(8),产地 char(8),品牌 char(6))

在名称为教学库的数据库中包含有学生、课程和选课三个表,它们的定义分别为:

学生( 学生号 char(7),姓名char (6),性别char (2),出生日期 datetime,专业char (10),

年级int )

课程( 课程号 char(4),课程名char (10),课程学分 int)

选课( 学生号 char(7),课程号char (4),成绩 int)

1. select x..商品代号,分类名,数量,品牌

from 商品表1 x ,商品表2 y

where x.商品代号 = y.商品代号

从商品库中查询出每一种商品的商品代号、分类名、数量和品牌等信息

2. select distinct 产地

from 商品表2

从商品库中查询出所有商品的不同产地

3. select distinct 品牌

from 商品表2

从商品库中查询出所有商品的不同品牌

4. select count (distinct 产地) as 产地数

from 商品表2

从商品库中查询出所有商品的不同产地的总数

5. select x..商品代号,分类名,数量,品牌

from 商品表1 x ,商品表2 y

where x.商品代号 = y.商品代号 and ( 品牌 =‘熊猫’or 品牌 =‘春兰’)

从商品库中查询出品牌为熊猫或春兰的所有商品的商品代号、分类名、产地和品牌

6. select 学生. 学生号, count (* ) as 选课门数

from 学生, 选课

where 学生. 学生号=选课. 学生号

group by 学生. 学生号

从教学库中查询出每个学生选课的门数

7. select distinct x..*

from 学生 x, 选课 y, 选课 z

where y.学生号=z.学生号 and y.课程号z.课程号 and x..学生号=y.学生号

从教学库中查询出至少选修了两门课程的全部学生

8. select *

from 学生

where 学生号 in (select 学生号

from 选课

group by 学生号 having count(*)=1 )

从教学库中查询出只选修了一门课程的全部学生

9. select x.学生号, y.学生号, y.课程号

from 选课 x, 选课 y

where x..学生号=@s1 and y.学生号=@s2

and x.课程号=y.课程号

从教学库中查询出学生号为@ s1的学生和学生号为@ s2的学生选修的共同课程的课程号

10. select x.*

from 课程 x,选课 y

where x .课程号= y .课程号 and y .学生号=@ s1

and y .课程号 not in (select 课程号 from 选课 where 选课. 学生号= @ s2)

从教学库中查询出学生号为@ s1的学生所选修、而学生号为@ s2的学生没有选修的课程

11. select *

from 课程

where not exists (select * from 选课 where 课程. 课程号=选课. 课程号 )

从教学库中查询出所有未被学生选修的课程

12. select *

from 课程

where exists (select * from 选课 where 课程. 课程号=选课. 课程号 )

从教学库中查询出所有已被学生选修的课程

13. select *

from 学生

where exists (select * from 选课

where 学生. 学生号=选课. 学生号

group by 选课. 学生号 having count(*)=3

)

从教学库中查询出同时选修了3门课程的全部学生

14. select *

from 学生

where 学生号 in (select 学生号 from 选课

group by 学生号 having count(*)

)

or not exists (select * from 选课

where 学生. 学生号=选课. 学生号

)

从教学库中查询出最多选修了2门课程(含未选任何课程)的全部学生

15. select 专业 ,count (*)as 专业人数

from 学生

group by 专业

order by 专业人数 desc

从教学库中查询出每个专业的学生人数,并按人数多少降序排列

16. select 专业 ,性别 ,count (*)as 人数

from 学生

group by 专业 ,性别

order by 专业

从教学库中查询出每个专业每种性别的学生人数,并按专业升序排列

17. select x.*,课程名,课程学分,成绩

from 学生 x,课程 y,选课 z

where x..学生号= z.学生号 and y.课程号= z.课程号

order by x .学生号,z .成绩

从教学库中查询出每个学生选课的全部情况,并依次按学生号和成绩排序

18. select *

from 学生

where not exists (select y.课程号

from 学生 x inner join 选课 y on x.学生号=y.学生号

where x.姓名=@a and not exists (select *

from 选课

where 学生. 学生号=选课. 学生号 and y.课程号=选课. 课程号)

)

从教学库中查询出选修了姓名为@ a 的学生的全部选课的所有学生

三、根据教材第四章所给的商品库和教学库,按照下列所给的每种功能写出相应的查询语句。

在名称为商品库的数据库中包含有商品表1和商品表2,它们的定义分别为:

商品表1( 商品代号 char(8),分类名 char(8),单价 float ,数量 int )

商品表2( 商品代号 char(8),产地 char(8),品牌 char(6))

在名称为教学库的数据库中包含有学生、课程和选课三个表,它们的定义分别为:

学生( 学生号 char(7),姓名char (6),性别char (2),出生日期 datetime,专业char (10),

年级int )

课程( 课程号 char(4),课程名char (10),课程学分 int)

选课( 学生号 char(7),课程号char (4),成绩 int)

1. 从商品库中查询出每种商品的商品代号、单价、数量和产地。

select 商品表1.. 商品代号,单价,数量,产地 from 商品表1 ,商品表2

where 商品表1. 商品代号 = 商品表2. 商品代号

2. 从商品库中查询出数量大于10的商品种数。

select count(*)as 商品种数 from 商品表1 where 数量>10

3. 从商品库中查询出数量在10和20之间的所有商品。

select * from 商品表1 where 数量〉=10 and 数量

4. 从商品库中查询出每类(即分类名相同)商品的最高单价。

select 分类名,max (单价) as 最高单价 from 商品表1 group by 分类名

5. 从商品库中查询出每类(即分类名相同)商品的平均数量。

select 分类名,avg (数量) as 平均数量 from 商品表1 group by 分类名

6. 从商品库中查询出每类(即分类名相同)商品的总数量。

select 分类名,sum (数量) as 总数量 from 商品表1 group by 分类名

7. 从商品库中查询出比所有电视机的单价都高的每种商品。

select * from 商品表1 where 单价> all (select 单价 from 商品表1 where分类名= ”电视机” )

8. 从商品库中查询出比所有商品单价的平均值要高的全部商品。

select * from 商品表1 where 单价> all (select avg (单价) from 商品表1 )

9. 从商品库中查询出数量最多的一种商品。

select * from 商品表1 where 数量= some (select max (数量) from 商品表1 )

10. 从商品库中查询出同一类商品多于一种的所有分类名。

select distinct 分类名 from 商品表1 group by 分类名 having count(*)>1

11. 从商品库中查询出同一产地的商品只有一种的所有商品。

select 商品表1.* ,产地 from 商品表1 , 商品表2

where 商品表1. 商品代号=商品表2. 商品代号 and 产地in (select 产地

from 商品表1 X , 商品表2 Y

where X..商品代号=y. 商品代号

group by 产地 having count(*)=1 )

12. 从商品库中查询出每种商品的总价值,并按降序排列出来。

select *, 单价*数量 as 总价值 from 商品表1 order by 总价值 desc

13. 从教学库中查询出至少选修了姓名为@ m1学生所选课程中一门课的全部学生号。

select distinct 学生.* from 学生, 选课

where 学生. 学号=选课. 学号 and 课程号= any (select 课程号

from 学生, 选课

where 学生. 学生号=选课. 学生号 and 姓名=@m1 )

14. 从教学库中查询出每门课程被选修的学生人数,并按所选人数的升序排列出课程号、课程名和选课人数。

select 课程. 课程号, 课程名, count(课程. 课程号) as 人数

from 课程, 选课

where 课程. 课程号=选课. 课程号

group by 课程. 课程号, 课程名

order by 人数

15. 从商品库中查询出不同产地,并按产地所具有的品牌数多少升序排列。

select 产地 ,count (品牌) as 品牌数 from 商品表2 group by 产地 order by 品牌数

16. 从教学库中查询出至少有5名学生所选修的全部课程(提示:使用子查询)

select * from 课程

where exists (select * from 选课

where 课程. 课程号=选课. 课程号

group by 选课. 课程号 having count(*)>=5

)

三、根据下面所给的AAA 数据库,写出下列每条查询语句的执行结果,或者写出下列每条语句或程序段的功能。

假设存在名为AAA 的数据库,包括Students (学号 char(8),姓名 varchar(8),年龄 int,专业 varchar(20),入学日期 DateTime)和Score (学号 char(8),课程名 varchar(10),成绩 numeric(5,2))两张表。

1. SELECT *

FROM Students

WHERE DATEPART(year ,入学日期)=datepart(year ,GETDATE ())

从Students 表中查询出所有当年入学的学生记录

2. DECLARE @MyNO char(8)

SET @MyNO=’20030001’

IF (SELECT 专业 from students WHERE 学号=@MyNO)=‘计算机软件’

Begin

Select AVG(成绩) AS 平均成绩

From scroe

Where 学号= @MyNO

End

Else

Print ‘学号为’+@MyNO +’的学生号不存在或不属于软件专业’

Go

首先定义一个名为@MyNo的局部变量,并给它赋初值,如果@MyNo属于计算机软件专业,则显示出平均成绩,否则显示“学生为@MyNo的学生不存在或不属于软件专业”。

3. declare @a numeric(5,2)

set @a=(select avg(成绩) from score)

select *

from score

where 成绩>=@a

从Score 表中查询出大于等于平均成绩的所有记录。

4. declare @a numeric(5,2),@b numeric(5,2)

set @a=(select max(成绩) from score)

set @b=(select min(成绩) from score)

print @a- @b

求出Score 表中最高成绩与最低成绩的分数之差

5. declare @a char(6)

set @a='刘亮'

if(exists(select * from students where 姓名=@a))

print '姓名为'+@a+'的同学存在!'

else

print '姓名为'+@a+'的同学不存在!'

从Students 表中查询出姓名为@a值的学生是否存在,根据不同情况显示出相应信息。

6. declare @a char(8)

set @a='计算机'

select 计算机专业人数=count(*)

from students

Where left(专业,3)= @a

从Students 表中统计出专业名开头为@a的值的所有学生人数

7. select year(入学日期) as 入学年份,count(*) as 人数

from students

group by year(入学日期)

从Students 表中分组统计出每个年份入学的学生人数

8. select month (入学日期) as 入学月份,count(*) as 人数

from students

group by month (入学日期)

从Students 表中分组统计出每个月份入学的学生人数

9. select day(入学日期) as 入学日号,count(*) as 人数

from students

group by day(入学日期)

从Students 表中分组统计出每个日号入学的学生人数

10. create procedure xxk1

as

begin

select * from students x,score y

Where x.学号 = y.学号

End

显示出AAA 数据库中所有学生的记录信息及选课成绩

11.create procedure xxk2 (08年1月考)

as

begin

select x.学号,x. 姓名,x. 专业,count(*) as 门数

from students x,score y

where x.学号=y.学号

group by x.学号,x. 姓名,x. 专业

end

显示出AAA 数据库中每个学生的学号、姓名、专业及选课门数。

12. create procedure xxk3

as

begin

select 学号,avg (成绩) as 平均成绩

from score

group by 学号

end

显示出AAA 数据库中每个学生的平均成绩

13.create procedure xxk4

( @a char(8),@b varchar(10),@c numeric(5,2) )

as

begin

update score

set 成绩=@c

where 学号=@a and 课程名=@b

end

修改Score 表中学号为@a的值,课程名为@b的值的学生的成绩为@c的值。

14. create procedure xxk5

( @a char(8),@b varchar(10),@c numeric(5,2) )

as

begin

update score

insert into score

values(@a,@b,@c)

end

向Score 表中插入学号为@a、课程名为@b、成绩为@c的学生成绩记录。

15.create procedure xxk6

( @a char(8), @b varchar(10) )

as

begin

delete from score

where 学号= @a and 课程名= @b

end

从Score 表中删除学号为@a、课程名为@b的学生成绩记录。

数据库基础与应用期末复习题(归纳整理)

一、填空题

1、Access “表”结构设计窗口分为两个部分,上半部分是 表设计器 ,下半部分是 字段属性 。

2、Access “表”结构设计窗口中上半部分的“表设计器”是由 字段名称 、 数据类型 和 说明 三列组成。

3、Access 是( A.Office )办公套件中的一个重要组成部分。

4、Access 数据库包含有 表 、 查询 、 窗体 、报表、页、宏、模块7种数据库对象。

5、Access 用户操作界面由( B.5 )部分组成。

6、Access 中包含有(C .7 )个数据库对象。

7、Access 的用户操作界面由 标题栏 、 菜单栏 、 工作区 、工具栏、状态栏等五个部分组成。

8、Access 数据库是(C .关系型数据库)

9、Access 数据库文件的扩展名是(D .mdb )

10、Access 数据库系统中,定义表中的的字段就是确定表的结构,即确定表中字段的 名称 、 类型 、属性、和说明等。

11、Access 数据库中的“一对多”指的是(B .一条记录可以与不同表中的多条记录相关 )。

12、Access 为用户提供了多种数据库安全措施,如设置用户__密码__和___权限__。

13、Access 中包含有( B.10 )种数据类型。

14、Access 中的表间关系有 1对1 、 1对多 和 多对多 三种。

15、Access 中的窗体由 页眉 、 主体 和 页脚 等三个部分组成。

16、Access 中字段的“小数位”属性是指定数字型和 货币性 数据的小数部分的位数,它只影响数据的 显示方式 ,并不影响所存储数值的 精度 。

17、DBMS 具有 安全性 、 一致性 、 并发性 和 数据库恢复 等管理控制功能。

18、Microsoft 公司的SQL Server 2000 数据库管理系统一般只能运行在(Windows 平台)。

19、SQL Server 2000 系统中的所有系统级信息存储于哪个数据库(A. master )。

20、SQL Server 2000 采用的结构化查询语言称为 Transaction-SQL 。

21、SQL Server 2000 的物理存储主要包括3类文件( A. 主数据文件、次数据文件、事务日志文件)。

22、SQL Server 2000的数据库分为 系统数据库 和 用户数据库 两种类型。

23、SQL Server 2000服务管理器的主要作用是启动、 暂停 、 停止 服务器。

24、SQL Server 2000与Windows 2000等操作系统完全集成,可以使用操作系统的用户名和域账号作为数据库的 注册账号 。

25、SQL Server客户机传递到服务器上的一组完整的数据和SQL 语句称为 批处理 。

26、SQL Server提供的单行注释语句是使用( B. “--” )开始的一行内容。

27、SQL Server 主数据文件、次数据文件和事务日志文件默认的扩展名分别为 mdf 、_ndf 和 ldf 。

28、SQL 是高度 非过程化 和面向 集合 操作的语言。

29、varchar 数据类型可以自动去掉字段或变量尾部的 空格 以节省空间。

30、安装SQL Server 2000时需要以本地 系统管理员 身份登录操作系统。

31、把保存_关系定义__的关系称为对应数据库的元关系,一个数据库的元关系由__DBMS_自动建立。

32、报表窗口由 5 个部分组成,每个部分称为一个 节 。

33、报表由 报表页眉 、 页面页眉 、 主体 、页面页脚和报表页脚5节组成。

34、标准模块包含 通用过程 和 常用过程 两个过程。

35、查询可以作为 窗体 、 报表 和 数据访问页 的数据源。

36、查询可以作为窗体、报表和数据访问页的 数据源 。

37、常见的SQL Server2000的版本一般包括 企业版 、 标准版 、 个人版 、开发版和评估版等。

38、单行或行尾注释的开始标记为_- - _,多行注释的开始标记为__/*_,结束标记为 */__。

39、当数据库损坏时,数据库管理员可通过何种方式恢复数据库( A. 事务日志文件 )。

40、当一条SELECT 语句访问一张大表里的有限几行数据时,SQL Server2000 通常会(为数据加上行级锁)。

41、定义局部变量的语句关键字是 declare ,被定义的各变量之间必须用 逗号 字符分开。

42、对关系进行规范化,通常只要求规范化到 第三 范式,该规范化过程能够很好的保持数据的 无损连接 性和 函数依赖 性。

43、分布式数据库系统除了具有一般数据库系统的优点之外,还具有 兼容性好 、 可靠性高 、 地域范围广 、 数据量大 、 客户数多 等优点。

44、分布式数据库系统既支持客户的_局部__应用,又支持客户的__全局__应用。

45、概念设计阶段的主要任务是:首先根据系统的各个局部应用画出各自对应的__ER图 _,然后再进行综合和整体设计,画出_整体ER 图_。

46、关系数据库系统具有 数据结构 单一、采用 集合运算 、数据完全 独立 、数学 理论支持等优点。

47、关系数据库中的每个关系必须最低达到__第一__范式,该范式中的每个属性都是__不可再分__的。

48、关系数据模型包括 关系数据结构 、 关系完整性规则 和 关系运算 三个方面。

49、关系完整性包括 实体 完整性、 参照 完整性和 用户定义 完整性三个方面。

50、关系中的每一行称为 元组 ,每一列称为 属性 。

51、宏的英文名称是( A.Macro )。

52、宏是由一条或多条操作命令组成的集合,其中每条命令用来实现相应的功能。 局部变量的开始标记为 @ ,全局变量的开始标记为 @@ 。

53、聚集索引与非聚集索引相比,查询速度要 快 。

54、可以通过Internet 进行数据发布的对象是( D.数据访问页 )。

55、每个SQL Server 2000数据库下都包括 master 、 model 、 tempdb 和 msdb 四个系统数据库。

56、每条__select___语句能够同时为多个变量赋值,每条__set__语句只能为一个变量赋值。

57、模块窗口由( B.3 )个部分组成。

58、模块窗口中的代码编辑窗口由 对象列表框 、 代码编辑区域_和 _过程事件列表框 等三部分组成。

59、任一种数据模型都有_ 型___和___值___的区别。

60、如果字段内容为声音文件,可将此字段定义为( C.OLE 对象 )类型。

61、若实体A 和B 是1对多的联系,实体B 和C 是1对多的联系,则实体A 和C 是1 对_多__的联系。

62、若实体A 和B 是1对多的联系,实体B 和C 是多对1的联系,则实体A 和C 是_多_对多__的联系。

63、若实体A 和B 是多对多的联系,实体B 和C 是1对1的联系,则实体A 和C 是_多_对_多_的联系。

64、若一个关系的任何非主属性都不部分依赖和传递依赖于任何候选码,则称该关系达到__第三__范式。

65、若一个关系为R (学生号,姓名,性别,年龄),则 学生号 可以作为该关系的主码,姓名、性别和年龄为该关系的 非主 属性。

66、设D 1,D 2和D 3域的基数分别为2,3和4,则D 1⨯D 2⨯D 3的元组数为__24__,每个元组有__3__个分量。

67、设一个关系为R(A,B,C,D,E,F,G ),它的最小函数依赖集为FD={A→B,C →D, B→E, E→F},则该关系的候选码为_(A ,C ,G )__,该候选码含有_3__属性。

68、设一个关系A 具有a1个属性和a2个元组,关系B 具有b1个属性和b2个元组,则关系A ×B 具有 a1+b1 个属性和 a2 x b2 个元组。

69、设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,A →C,(A,D)→E},则该关系的候选码为_(A ,D )__,该关系存在着_部分__函数依赖。

70、设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,C →D, (A,C )→E},则该关系的候选码为__(A ,C )__,该候选码含有_2__属性。

71、设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,C →D,C →E},该关系只满足_ 第一__范式,若要规范化为高一级的范式,则将得到_3_个关系。

72、设一个关系为R(A,B,C,D,E,F ),它的最小函数依赖集为FD={A→B,A →C, D→E, D→F},则该关系的候选码为__(A ,D )___,该候选码含有___2___属性。

73、设一个关系为R(A,B,C,D,E,F,G),它的最小函数依赖集为FD={A→B,A →C,C →D,C →E,A →F,F →G},该关系满足 第二_范式,若要规范化为高一级的范式,则将得到_3_个关系。

74、设一个集合A={3,4,5,6,7} ,集合B={1,3,5,7,9},则A 和B 的并集中包含有 7个元素,A 和B 的交集中包含有 3 个元素,A 和B 的差集中包含有 2 个元素。

75、设一个学生关系为S(学生号,姓名) ,课程关系为C(课程号,课程名) ,选课关系为X(学生号,课程号,成绩) ,求出所有选课的学生信息的运算表达式为与__C___的自然连接。

76、设一个学生关系为S(学生号,姓名) ,课程关系为C(课程号,课程名) ,选课关系为X(学生号,课程号,成绩) ,则姓名为变量K 的值的学生所选修的全部课程信息所对应的运算表达式为__C__ ∏课程号(_X__ (δ姓名=K(_S___)))。

77、设一个学生关系为S(学生号,姓名) ,课程关系为C(课程号,课程名) ,选课关系为X(学生号,课程号,成绩) ,则选修了课程名为‘程序设计’课程的全部学生信息所对应的运算表达式为S >

79、实体之间的联系类型有三种,分别是 1对1、 1对多 和 多对多 。 80、使用 条件表达式 可以确定按条件执行宏。

81、数据访问页是一种特殊的 Web 页,通过它可以查看、添加、编辑的操作存储在 Access

数据库 中的数据。

82、数据库处理技术经历了 人工管理 、 文件管理 、 数据库管理 以及分布式数据库管理四个发展阶段。

83、数据库文件中至少包含有(A .表 )对象。

84、数据库系统的三级模式结构和两级数据映像确保了数据的 物理 独立性和 逻辑 独立性。

85、数据库系统的外模式在SQL 中称为 视图 ,它由 基本表 产生出来。

86、数据库系统具有 数据结构化 、 数据共享 、 数据独立性 、数据粒度小、独立的数据操作界面、由DBMS 统一管理等优点。

87、索引可以加速Select 语句中order by 和 group by 选项的执行速度。

88、文本型字段最多可以存放( D.255 )个字符。

89、下列( D

100、下列( D.

101、下列( C.

102、下列( D.

103、下列(D . )图标是Access 中新建宏的标志。 )图标是Access 中新建报表的标志。 )图标是Access 中表对象的标志。 )图标是Access 中新建查询的标志。 )是主键的标志。

104、下列标识符可以作为局部变量使用( C. @myvar )。

105、下面有关主键的叙述正确的是( B.一个表中的主键可以是一个或多个字段 )。

106、向基本表中插入数据有两种命令格式,一种称为 单行 插入格式,另一种称为多行 插入格式。 107、需求分析阶段的主要目标是画出__数据流图_、建立__数据字典_和编写_需求说明书_。

108、需求说明书是系统总体设计方案,是 开发 单位和 用户 单位共同协商达成的文档。

109、学生关系中的班级号属性与班级关系中的班级号主码属性相对应,则__班级号_为学生关系中的_外码

110、一般可以使用 Go 命令来标识Transact-SQL 批处理的结束。

111、一般情况下,一下哪个字段可以作为主关键字( D.身份证号码 )。

112、一个Access 数据库对应于操作系统中的_1_个文件,其文件扩展名为__mdb__。

113、一个关系的候选码能够函数决定每个属性,其中除了存在完全函数决定外, 也允许存在 部分 函数决定和 传递 函数决定。

114、一个关系若存在部分函数依赖和传递函数依赖,则必然会造成 数据冗余 和 操作异常 。

115、一个关系若存在部分函数依赖和传递函数依赖,则必然会造成数据 冗余 以及 插入 、 删除 和 修改 异常。

116、一个数据库应用系统的开发过程大致相继经过_需求分析_、___概念设计_、逻辑设计、物理设计、机器实现、运行维护等六个阶段。

117、已知“职工号→性别”成立,则“(职工号,性别)→ 性别”既是 平凡 函数依赖,又是 部分 函数依赖。

118、由create schema KUCUN authorization LIU 命令建立的一个数据库名为 KUCUN ,所有者为 LIU 。

119、由概念设计进入逻辑设计时,原来的 多对多 联系通常需要被转换为对应的 基本表 。

120、域是实体中相应属性的 取值范围 ,性别属性的域包含 2 个值。

121、在 列级 完整性约束中,每个约束只能涉及到1个属性,在 表级 完整性约束中,每个约束可以涉及到多个属性。

122、在 文件 系统中,数据没有独立的操作界面,在 数据库 系统中数据具有独立的操作界面。 123、在 对象 数据模型中, 对象 不但能够继承,而且能够嵌套。

124、在_文件__系统中,不容易做到数据共享,在_数据库__系统中,容易做到数据共享。

125、在Access 2000 中报表中有 设计 和 预览 视图,而没有 数据表 视图。

126、在Access 数据库系统中,不能建立索引的数据类型是( B.备注型 )。

127、在Access 数据库中,数据保存在(D .表 )对象中。

128、在Access 中模块分为 类模块 和 标准模块 两种类型。

129、在SQL Server 2000中,CASE 函数具有 2 种格式,每种格式中可以带有 多 个WHEN 选项,可以带有 1 个ELSE 选项。

130、在SQL Server 2000中,CASE 结构是一个 函数 ,只能作为一个 表达式 使用在另一个语句中。 131、在SQL Server中,每个程序块的开始标记为关键字_being _,结束标记为关键字_end_。

132、在SQL 查询语句中,group by 选项实现 分组 功能,order by 选项实现对结果表的排序 功能。 133、在SQL 中,create table 、alter table 和drop table 命令分别为在数据库中 建立 、_修改__和 删除 基本表结构的命令。

134、在SQL 中,单值约束的关键字为 unique ,检查约束的关键字为 check 。

135、在SQL 中,对基本表进行插入、修改和删除记录命令分别为_insert _、___update__和_delete_命令。

136、在SQL 中,列级完整性约束分为 6 种情况,表级完整性约束分为 4 种情况。

137、在SQL 中,每个视图中的列可以来自不同的 表 ,它是在原有表的基础上 建立 的逻辑意义上的新关系。

138、在SQL 中,主码约束的关键字为 primary key ,外码约束的关键字为 foreign key 。

139、在SQL 中建立和删除数据库模式的命令分别为_create database __和__drop database___。 140、在SQL 中完整性约束分为 列级 完整性约束和 表级 完整性约束两个方面。

141、在参照和被参照的关系中,每个外码值或者为 空 ,或者等于另一个关系中的 主码 值。

142、在非关系模型中操作记录的方式是 过程 式的,在关系模型中操作记录的方式是集合 式的。 143、在候选码中的每个属性被称为 主 属性,不在任何候选码中的每个属性被称为 非主 属性。

144、在进行系统调试时,要有意地使用各种不同的__数据_和进行各种不同的__操作__,去测试系统中的所有方面。

145、在旅店管理中,_客房表_只派生出一个视图,该视图被称为_客房空闲表_。

146、在人工管理和文件管理阶段,程序设计 依赖于 数据表示。

147、在设计Access 数据表时,“索引”属性有(C .3 )取值。

148、在设置或撤消数据库密码的过程中,数据库必须以 独占 方式打开。

149、在实体中能作为码的属性称为 主属性 , 否则称为 非主属性 。

150、在数据库体系结构中,两级数据映像分别是指 外模式和模式 之间的数据映像与模式和内模式 之间的数据映像。

151、在数据库系统中访问数据,既可以采用 程序执行 方式,也可以 视屏交互 采用方式。

152、在条件结构的语句中,关键字IF 和ELSE 之间和ELSE 之后,可以使用__单条__语句,也可以使用具有_Being„end__格式的语句块。

153、在文件管理阶段,程序和数据在存储位置上是__分开___存放的。

154、在文件管理阶段、文件之间是相互 独立 的,在数据库管理阶段,文件之间是相互 联系 的。 155、在文件系统中,存取数据的基本单位为记录_,在数据库系统中,存取数据的基本单位为_数据项_。 156、在新版的SQL 中,查询所涉及到的表及表之间的连接是在from 选项中实现的,表之间的连接共有三种方式,分别称为_中间连接__、__左连接__和_右连接___。

157、在循环结构的语句中,当执行到关键字 Break 后将终止整个语句的执行,当执行到关键字 Continue 后将结束一次循环体的执行。

158、在一个关系R 中, 非平凡 函数依赖,又是 完全 函数依赖。 159、在一个关系R 中,若X →Y 且 X ⊆ Y ,则称X →Y 为 非平凡 依赖,否则,若X →Y 且X ⊇Y ,则称X →Y 为 平凡 依赖。

160、在一个关系R 中,若X 能够函数决定关系R 中的每个属性,并且X 的任何真子集都不能函数决定R 中的每个属性,则称 X 为关系R 的一个 候选码 。

161、在一个关系R 中,若存在“学号→系号,系号→系主任”,则隐含存在着学号__函数决定__系主任__。 162、在一个关系R 中,若存在X →(Y,Z),则也隐含存在__X→Y__和_ X →Z_,称此为函数依赖的__分解性___规则。

163、在一个关系R 中,若存在X →Y 和X →Z ,则存在 X→(Y ,Z ),称此为函数依赖的 合并性 规则。 164、在一个关系R 中,若属性集X 函数决定属性集Y ,则记作为_X→Y_,称X 为 决定因素 。

165、在一个宏中要打开一个报表,应该使用的操作是(B .OpenReport )。

166、在一个已存在数据的表中增加不带默认值的列,一定要保证所增加的列允许 null 值。

167、专门的关系运算包括__选择___、_投影_、__连接__和__除__四种。

168、字段说明用于对字段作进一步的描述,该说明显示在( A.状态栏 )上。

二、根据主教材第四章所给的商品库和教学库,按照下列所给的每条SQL 查询语句写出相应的功能。 在名称为商品库的数据库中包含有商品表1和商品表2,它们的定义分别为:

商品表1( 商品代号 char(8),分类名 char(8),单价 float ,数量 int )

商品表2( 商品代号 char(8),产地 char(8),品牌 char(6))

在名称为教学库的数据库中包含有学生、课程和选课三个表,它们的定义分别为:

学生( 学生号 char(7),姓名char (6),性别char (2),出生日期 datetime,专业char (10),

年级int )

课程( 课程号 char(4),课程名char (10),课程学分 int)

选课( 学生号 char(7),课程号char (4),成绩 int)

1. select x..商品代号,分类名,数量,品牌

from 商品表1 x ,商品表2 y

where x.商品代号 = y.商品代号

从商品库中查询出每一种商品的商品代号、分类名、数量和品牌等信息

2. select distinct 产地

from 商品表2

从商品库中查询出所有商品的不同产地

3. select distinct 品牌

from 商品表2

从商品库中查询出所有商品的不同品牌

4. select count (distinct 产地) as 产地数

from 商品表2

从商品库中查询出所有商品的不同产地的总数

5. select x..商品代号,分类名,数量,品牌

from 商品表1 x ,商品表2 y

where x.商品代号 = y.商品代号 and ( 品牌 =‘熊猫’or 品牌 =‘春兰’)

从商品库中查询出品牌为熊猫或春兰的所有商品的商品代号、分类名、产地和品牌

6. select 学生. 学生号, count (* ) as 选课门数

from 学生, 选课

where 学生. 学生号=选课. 学生号

group by 学生. 学生号

从教学库中查询出每个学生选课的门数

7. select distinct x..*

from 学生 x, 选课 y, 选课 z

where y.学生号=z.学生号 and y.课程号z.课程号 and x..学生号=y.学生号

从教学库中查询出至少选修了两门课程的全部学生

8. select *

from 学生

where 学生号 in (select 学生号

from 选课

group by 学生号 having count(*)=1 )

从教学库中查询出只选修了一门课程的全部学生

9. select x.学生号, y.学生号, y.课程号

from 选课 x, 选课 y

where x..学生号=@s1 and y.学生号=@s2

and x.课程号=y.课程号

从教学库中查询出学生号为@ s1的学生和学生号为@ s2的学生选修的共同课程的课程号

10. select x.*

from 课程 x,选课 y

where x .课程号= y .课程号 and y .学生号=@ s1

and y .课程号 not in (select 课程号 from 选课 where 选课. 学生号= @ s2)

从教学库中查询出学生号为@ s1的学生所选修、而学生号为@ s2的学生没有选修的课程

11. select *

from 课程

where not exists (select * from 选课 where 课程. 课程号=选课. 课程号 )

从教学库中查询出所有未被学生选修的课程

12. select *

from 课程

where exists (select * from 选课 where 课程. 课程号=选课. 课程号 )

从教学库中查询出所有已被学生选修的课程

13. select *

from 学生

where exists (select * from 选课

where 学生. 学生号=选课. 学生号

group by 选课. 学生号 having count(*)=3

)

从教学库中查询出同时选修了3门课程的全部学生

14. select *

from 学生

where 学生号 in (select 学生号 from 选课

group by 学生号 having count(*)

)

or not exists (select * from 选课

where 学生. 学生号=选课. 学生号

)

从教学库中查询出最多选修了2门课程(含未选任何课程)的全部学生

15. select 专业 ,count (*)as 专业人数

from 学生

group by 专业

order by 专业人数 desc

从教学库中查询出每个专业的学生人数,并按人数多少降序排列

16. select 专业 ,性别 ,count (*)as 人数

from 学生

group by 专业 ,性别

order by 专业

从教学库中查询出每个专业每种性别的学生人数,并按专业升序排列

17. select x.*,课程名,课程学分,成绩

from 学生 x,课程 y,选课 z

where x..学生号= z.学生号 and y.课程号= z.课程号

order by x .学生号,z .成绩

从教学库中查询出每个学生选课的全部情况,并依次按学生号和成绩排序

18. select *

from 学生

where not exists (select y.课程号

from 学生 x inner join 选课 y on x.学生号=y.学生号

where x.姓名=@a and not exists (select *

from 选课

where 学生. 学生号=选课. 学生号 and y.课程号=选课. 课程号)

)

从教学库中查询出选修了姓名为@ a 的学生的全部选课的所有学生

三、根据教材第四章所给的商品库和教学库,按照下列所给的每种功能写出相应的查询语句。

在名称为商品库的数据库中包含有商品表1和商品表2,它们的定义分别为:

商品表1( 商品代号 char(8),分类名 char(8),单价 float ,数量 int )

商品表2( 商品代号 char(8),产地 char(8),品牌 char(6))

在名称为教学库的数据库中包含有学生、课程和选课三个表,它们的定义分别为:

学生( 学生号 char(7),姓名char (6),性别char (2),出生日期 datetime,专业char (10),

年级int )

课程( 课程号 char(4),课程名char (10),课程学分 int)

选课( 学生号 char(7),课程号char (4),成绩 int)

1. 从商品库中查询出每种商品的商品代号、单价、数量和产地。

select 商品表1.. 商品代号,单价,数量,产地 from 商品表1 ,商品表2

where 商品表1. 商品代号 = 商品表2. 商品代号

2. 从商品库中查询出数量大于10的商品种数。

select count(*)as 商品种数 from 商品表1 where 数量>10

3. 从商品库中查询出数量在10和20之间的所有商品。

select * from 商品表1 where 数量〉=10 and 数量

4. 从商品库中查询出每类(即分类名相同)商品的最高单价。

select 分类名,max (单价) as 最高单价 from 商品表1 group by 分类名

5. 从商品库中查询出每类(即分类名相同)商品的平均数量。

select 分类名,avg (数量) as 平均数量 from 商品表1 group by 分类名

6. 从商品库中查询出每类(即分类名相同)商品的总数量。

select 分类名,sum (数量) as 总数量 from 商品表1 group by 分类名

7. 从商品库中查询出比所有电视机的单价都高的每种商品。

select * from 商品表1 where 单价> all (select 单价 from 商品表1 where分类名= ”电视机” )

8. 从商品库中查询出比所有商品单价的平均值要高的全部商品。

select * from 商品表1 where 单价> all (select avg (单价) from 商品表1 )

9. 从商品库中查询出数量最多的一种商品。

select * from 商品表1 where 数量= some (select max (数量) from 商品表1 )

10. 从商品库中查询出同一类商品多于一种的所有分类名。

select distinct 分类名 from 商品表1 group by 分类名 having count(*)>1

11. 从商品库中查询出同一产地的商品只有一种的所有商品。

select 商品表1.* ,产地 from 商品表1 , 商品表2

where 商品表1. 商品代号=商品表2. 商品代号 and 产地in (select 产地

from 商品表1 X , 商品表2 Y

where X..商品代号=y. 商品代号

group by 产地 having count(*)=1 )

12. 从商品库中查询出每种商品的总价值,并按降序排列出来。

select *, 单价*数量 as 总价值 from 商品表1 order by 总价值 desc

13. 从教学库中查询出至少选修了姓名为@ m1学生所选课程中一门课的全部学生号。

select distinct 学生.* from 学生, 选课

where 学生. 学号=选课. 学号 and 课程号= any (select 课程号

from 学生, 选课

where 学生. 学生号=选课. 学生号 and 姓名=@m1 )

14. 从教学库中查询出每门课程被选修的学生人数,并按所选人数的升序排列出课程号、课程名和选课人数。

select 课程. 课程号, 课程名, count(课程. 课程号) as 人数

from 课程, 选课

where 课程. 课程号=选课. 课程号

group by 课程. 课程号, 课程名

order by 人数

15. 从商品库中查询出不同产地,并按产地所具有的品牌数多少升序排列。

select 产地 ,count (品牌) as 品牌数 from 商品表2 group by 产地 order by 品牌数

16. 从教学库中查询出至少有5名学生所选修的全部课程(提示:使用子查询)

select * from 课程

where exists (select * from 选课

where 课程. 课程号=选课. 课程号

group by 选课. 课程号 having count(*)>=5

)

三、根据下面所给的AAA 数据库,写出下列每条查询语句的执行结果,或者写出下列每条语句或程序段的功能。

假设存在名为AAA 的数据库,包括Students (学号 char(8),姓名 varchar(8),年龄 int,专业 varchar(20),入学日期 DateTime)和Score (学号 char(8),课程名 varchar(10),成绩 numeric(5,2))两张表。

1. SELECT *

FROM Students

WHERE DATEPART(year ,入学日期)=datepart(year ,GETDATE ())

从Students 表中查询出所有当年入学的学生记录

2. DECLARE @MyNO char(8)

SET @MyNO=’20030001’

IF (SELECT 专业 from students WHERE 学号=@MyNO)=‘计算机软件’

Begin

Select AVG(成绩) AS 平均成绩

From scroe

Where 学号= @MyNO

End

Else

Print ‘学号为’+@MyNO +’的学生号不存在或不属于软件专业’

Go

首先定义一个名为@MyNo的局部变量,并给它赋初值,如果@MyNo属于计算机软件专业,则显示出平均成绩,否则显示“学生为@MyNo的学生不存在或不属于软件专业”。

3. declare @a numeric(5,2)

set @a=(select avg(成绩) from score)

select *

from score

where 成绩>=@a

从Score 表中查询出大于等于平均成绩的所有记录。

4. declare @a numeric(5,2),@b numeric(5,2)

set @a=(select max(成绩) from score)

set @b=(select min(成绩) from score)

print @a- @b

求出Score 表中最高成绩与最低成绩的分数之差

5. declare @a char(6)

set @a='刘亮'

if(exists(select * from students where 姓名=@a))

print '姓名为'+@a+'的同学存在!'

else

print '姓名为'+@a+'的同学不存在!'

从Students 表中查询出姓名为@a值的学生是否存在,根据不同情况显示出相应信息。

6. declare @a char(8)

set @a='计算机'

select 计算机专业人数=count(*)

from students

Where left(专业,3)= @a

从Students 表中统计出专业名开头为@a的值的所有学生人数

7. select year(入学日期) as 入学年份,count(*) as 人数

from students

group by year(入学日期)

从Students 表中分组统计出每个年份入学的学生人数

8. select month (入学日期) as 入学月份,count(*) as 人数

from students

group by month (入学日期)

从Students 表中分组统计出每个月份入学的学生人数

9. select day(入学日期) as 入学日号,count(*) as 人数

from students

group by day(入学日期)

从Students 表中分组统计出每个日号入学的学生人数

10. create procedure xxk1

as

begin

select * from students x,score y

Where x.学号 = y.学号

End

显示出AAA 数据库中所有学生的记录信息及选课成绩

11.create procedure xxk2 (08年1月考)

as

begin

select x.学号,x. 姓名,x. 专业,count(*) as 门数

from students x,score y

where x.学号=y.学号

group by x.学号,x. 姓名,x. 专业

end

显示出AAA 数据库中每个学生的学号、姓名、专业及选课门数。

12. create procedure xxk3

as

begin

select 学号,avg (成绩) as 平均成绩

from score

group by 学号

end

显示出AAA 数据库中每个学生的平均成绩

13.create procedure xxk4

( @a char(8),@b varchar(10),@c numeric(5,2) )

as

begin

update score

set 成绩=@c

where 学号=@a and 课程名=@b

end

修改Score 表中学号为@a的值,课程名为@b的值的学生的成绩为@c的值。

14. create procedure xxk5

( @a char(8),@b varchar(10),@c numeric(5,2) )

as

begin

update score

insert into score

values(@a,@b,@c)

end

向Score 表中插入学号为@a、课程名为@b、成绩为@c的学生成绩记录。

15.create procedure xxk6

( @a char(8), @b varchar(10) )

as

begin

delete from score

where 学号= @a and 课程名= @b

end

从Score 表中删除学号为@a、课程名为@b的学生成绩记录。


相关内容

  • 中央电大教务考试题四
  • 中央电大教务考试题四 第1题:将下列不同类别.不同性质的课程与考试单位配对:(配伍题) [1]统设必修课程 [A]中央考或省考 [2]统设选修课程 [B]中央考 [3]非统设选修课程 [C]省考 正确答案为:"1B2A3C" 第2题:将下列不同类型课程与可免修免考的开放教育统设必 ...

  • 冀电大校字[2008]16号
  • 冀电大校字[2008]16号 关于2007-2008学年度第二学期开放教育 期末考试安排的通知 各市电大.分校, 省校有关部门及有关办学单位: 2007-2008学年度第二学期"中央电大人才培养模式改革和开放教育试点"(含"一村一名大学生计划")期末考试定于2 ...

  • 网络教育统考常见问题
  • 网络教育统考常见问题 一. 关于统考的意义和重要性 1. 什么是"统考"? 答:"统考"是指教育部对现代远程教育试点高校(以下简称"试点高校")网络教育部分公共基础课实施的全国统一考试,即对我国网络高等学历教育部分公共基础课的全国统一测试( ...

  • 2014年9月份电大远程网络教育计算机应用基础统考题库试卷8
  • 一.单选题 1.第二代计算机的电子器件主要为_____. A:晶体管 B:电子管 C:集成电路 D:生物器件 答案: A 2.按使用范围,可把计算机分为两种,即通用机和______. A:阅读机 B:小型机 C:笔记本 D:专用机 答案: D 3.计算机最重要的特点是______. A:有记忆能力 ...

  • 2015年电大可编程控制器应用期末复习模拟试卷及参考答案
  • 电大可编程控制器应用期末复习模拟试卷及参考答案 一.填空题(每空2分,共30分) 1. PLC的输入/输出继电器采用 八 进制进行编号,其它所有软元件均采用 十 进制进行编号.(八 2. PLC的状态元件中 (S2-S9) 用于初始状态.(S2-S9) 3. 描述PLC的主要技术指标有 . . . ...

  • 最全汇总-电大电子商务考试判断题(已排版)
  • B √ 3. 报文鉴别是指在通信双方建立通信联系后,每个通信者对收到的信息进行验证,以 保证收到的信息的真实性的过程,也是验证报文的完整性. √ 0. 病毒是一种对计算机系统有破坏作用的信息. C × 4.CA(认证中心)的作用是进行数据加密和交易各方的身份认证. √ 3.CA中心的作用贯穿到了从交 ...

  • 2012安徽省对口高考考纲修订情况汇总
  • 2012安徽省对口高考考纲修订情况汇总 作者:tcjdc 来源:本站原创 录入:tcjdc 更新时间:2012-1-6 11:22:41 点击数:527 2012安徽省对口高考考纲修订情况汇总 按照委厅领导和职成处部署,我院组织了专家对2012年安徽省对口高考考纲进行了修订,修订工作于2011年12 ...

  • 电大会计专科毕业论文1搞
  • 中央广播电视大开放教育 天津广播电视大学专科毕业综合实践 会计专业课程知识综述及个人应用研究报告 作者: 学校: 专业:会计学 年级 学号: 指导老师: 年 月 会计专业课程知识综述及个人应用研究报告 目 录 一. 会计专业课程知识综述----------------------------1 (一 ...

  • 电大会计社会实践报告范文
  • 电大会计社会实践报告范文 [篇一] 实践就是把我们在学校所学的理论知识,运用到客观实际中去,使自己所学的理论知识有用武之地.实践也是检验真理的唯一途径.在实践中我们还可以检验自己学习的成效.检测自己的所缺,以便我们日后学习与工作有个侧重点.另外,校园与社会环境的不同,接触的人与事也不大相同,所以我们 ...