考试题型一、选择题(本大题共20个小题,每个小题1分,共20分)二、填空题(本大题共10个小题,每小题2分,共20分)三、请使用SQL命令完成以下操作(本大题共5小题,每小题4分,共20分)四、简答题(本大题共4小题,每小题5分,共20分)五、设计题(本大题共2小题,每小题10分,共20分)数据库原理与应用复习题一、选择题1、下面存在于服务器端的组件是:()。
A、服务管理器B、企业管理器组件C、查询分析器组件D、导入导出组件2、下面描述错误的是()。
A、每个数据文件中有且只有一个主数据文件。
B、日志文件可以存在于任意文件组中。
C、主数据文件默认为primary文件组。
D、文件组是为了更好的实现数据库文件组织。
3、SQLserver数据库文件有三类,其中主数据文件的后缀为():A、.ndfB、.ldfC、.mdfD、.idf4、下面标志符不合法的是:()。
6、下面字符串能与通配符表达式[ABC]%a进行匹配的是:()。
A、BCDEFB、A_BCDC、ABC_aD、A%a7、下列说法正确的是。
A、视图是观察数据的一种方法,只能基于基本表建立。
B、视图是虚表,观察到的数据是实际基本表中的数据。
C、索引查找法一定比表扫描法查询速度快。
D、索引的创建只和数据的存储有关系。
8、下列途径哪个不是实现值域完整性。
A、rule(规则)B、primarykeyC、notnullD、default9、SQLServer2005是一个(C)的数据库系统。
(A)网状型(B)层次型(C)关系型(D)以上都不是10、SQLServer2005采用的身份验证模式有(D)。
(A)仅Windows身份验证模式(B)仅SQLServer身份验证模式(C)仅混合模式(D)Windows身份验证模式和混合模式11、在SQLServer2000中,当数据表被修改时,系统自动执行的数据库对象是(B)。
(A)存储过程(B)触发器(C)视图(D)其他数据库对象12、SQLServer的字符型系统数据类型主要包括(B)。
A.Int、money、charB.char、varchar、textC.datetime、binary、intD.char、varchar、int13、要查询book表中所有书名中包含“计算机”的书籍情况,可用(B)语句。
(A)SELECT*FROMbookWHEREbook_nameLIKE‘计算机*’(B)SELECT*FROMbookWHEREbook_nameLIKE‘计算机%’(C)SELECT*FROMbookWHEREbook_name=‘计算机*’(D)SELECT*FROMbookWHEREbook_name=‘计算机%’14、SELECT语句中与HAVING子句通常同时使用的是(C)子句。
A.ORDERBYB.WHEREC.GROUPBYD.无需配合15、要删除mytable表中的myindex索引,可以使用(D)语句。
(A)DROPmyindex(B)DROPmytable.myindex(C)DROPINDEXmyindex(D)DROPINDEXmytable.myindex16、SQLServer提供的单行注释语句是使用()开始的一行内容。
A.“/*”B.“--”C.“{”D.“/”17、以下运算符中优先级最低的是()。
(A)+(加)(B)=(等于)(C)like(D)=(赋值)18.SQL语言按照用途可以分为三类,下面选项中哪一种不是:()(A)DML(B)DCL(C)DQL(D)DDL19.在SELECT语句的WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是()(A)*(B)%(C)-(D)20.下面不属于数据定义功能的SQL语句是:()A.CREATETABLEB.CREATECURSORC.UPDATED.ALTERTABLE21.在SQLSERVER中局部变量前面的字符为:()(A)*(B)#(C)@@(D)@22.对视图的描述错误的是:()(A)是一张虚拟的表(B)在存储视图时存储的是视图的定义(C)在存储视图时存储的是视图中的数据(D)可以像查询表一样来查询视图23.在T-SQL语言中,若要修改某张表的结构,应该使用的修改关键字是()。
A、结构化定义语言B、结构化控制语言C、结构化查询语言D、结构化操纵语言。
41、当前应用最广泛的数据模型是()。
A、E-R模型B、关系模型C、网状模型D、层次模型。
41、现有一个关系:借阅(书号、书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本。
则该关系模式的码是()。
A、书号B、读者号C、书号+读者号D、书号+读者号+借期。
执行SQL语句:SELECTCOUNT(DISTINCT学号)FROM成绩WHERE分数>60查询结果中包含的元组数目是()成绩图2A1B2C3D466.下列有关数据库的叙述中,正确的是【】。
A.避免了一切数据重复B.减少了数据冗余C.各种用户可以随意使用库中的数据D.数据一致性是指库中数据类型一致67.实体中的任一关键字是【】。
A.只能由一个可以区别实体集合中不同个体的属性组成。
B.可以由一个或多个可区别实体集合中不同个体的属性组成。
C.必须由多个可区别实体集合中不同个体的属性组成。
D.随便,可由用户任意指定。
68.在一个用于表示两个实体间联系的关系中,用于表示实体间联系的是该关系中【】。
A.任何一个属性B.任何多个属性集合C.关键字D.外部关键字69.关系模型所能表示的实体之间联系方式【】。
A.只能表示1:1联系B.只能表示1:n联系C.只能表示m:n联系D.可表示任意联系方式70.在一个关系中,用外部键来【】。
A.唯一标识一个元组。
B.确定元组的某个属性。
C.建立两个关系的联系D.上述说法都不对71.实体和属性是【】世界中的概念。
A.现实世界B.信息世界C.数据世界D.以上都对72.E-R图所表示的实体及其联系,实际上是【】。
A.信息模型B.数据模型C.关系模型D.实体模型73.实体之间的联系方式有【】种。
A.1B.3C.4D.274.在文件系统中,一张二维表称为一个【】,表头行称为记录型,表中其它各行称为【】,而每一列中的各元素称为一个【】。
A.记录,文件,数据项B.文件,记录,数据项C.记录,数据项,文件D.文件,数据项,记录74.数据库设计的逻辑模式设计阶段的任务是【】。
A.将总体E-R图转化为关系模型B.收集和分析用户需求C.建立E-R模型D.数据库模式设计75.数据库系统中的软件是指【】。
A.数据库管理系统B.应用程序C.数据库D.数据库管理员76.Select查询语句执行的结果是()。
A.数据库B.表C.元组D.属性77.在Transact-SQL语法中,用来插入数据与更新的命令是()。
A.INSERT,UPDATEB.UPDATE,INSERTC.DELETE,UPDATED、CREATE,INSERTINTO78.在Transact-SQL语法中,SELECT语句至少包括的部分()。
A.SELECT,INTOB.SELECT,FROMC.SELECT,GROUPD.仅SELECT79.下列关于视图的描述中,不正确的是()。
A.视图是子模式B.视图是虚表C.使用视图可以加快查询语句的执行速度D.使用视图可以简化查询语句的编写四、填空题关系模型。
1、在三大传统的数据模型中,具有严格的数学理论基础的是2、实现概念模型最常用的表示方法是E-R模型。
3.E-R图中包括实体、属性和联系三种基本图素。
4.数据库逻辑设计步骤分为三步,分析实体及联系、画E-R图、建立数据模型。
5.数据库概念设计通常采用E-R或实体联系的方法。
6、合同库文件储存批发商与零售商的供货合同。
一个合同可以填写不同商品的订货数量。
供货合同的关系模式为:合同(合同号,商品号,商品名,单价,数量),该关系的关键字是合同号,商品号。
7.实体间联系分为三种:一对一联系、一对多联系、多对多联系。
8.数据库结构设计的过程是“概念设计→逻辑设计→物理设计”。
9.数据管理经过了手工文档、文件系统和数据库系统_三个发展阶段。
10.如果两个实体之间具有M:N联系,则将它们转换为关系模型的结果是3个表。
11.一个关系就是一个_二维表,一行对应一个元组,一列对应一个域,也就是一个属性。
12.DBA是指数据库管理员,它的职责是维护和管理_数据库,使之始终处于最佳状态。
13.在关系数据库中,用二维表表示实体及实体之间的关系。
14.DBMS的含义是数据库管理系统,它是用户和数据库之间的接口。
15.除计算机软硬件环境外,数据库系统一般由数据库、数据库管理系统、数据库管理和应用程序组成。
16.在数据库系统中,用户对数据的操作只能通过DML语言进行。
17.数据库逻辑设计一般分为三个阶段,即收集和分析用户需求、建立E-R模型和数据库模式设计。
18.在关系的诸属性中,能够用来唯一标识元组的那个属性称为键。
19.现实世界中的事物类,在信息世界中称为实体集,而一个事物则称为实体,事物的性质称为属性。
20.“键”也称为关键字,是指在实体属性中,可用来区别实体集中不同个体的一个或几个属性的组合。
当有多个属性可作为键而选定其中一个时,则称它为该实体的主键。
若在实体的各属性中,某属性虽非该实体的主键,却是另一实体的主键,则成此属性为外部键。
21.视图是一个虚表,因为它是从基本表导出的表。
23、已知:学生、课程和成绩三个关系如下:学生(学号,姓名,性别,班级),课程(课程名称,学时,性质),成绩(课程名称,学号,分数),学生关系的主代码应该是学号,外码应该是无;课程关系的主码应该是课程名称,外码应该是无;成绩关系的主码应该是学号,外码应该是课程名称和学号。
24、SQLServer2000的文件包括:数据文件(.mdf或.ndf)和日志文件。
25、在T-SQL语言中,若要修改某张表的结构,应该使用的修改关键字是ALTER;若要创建一个数据库,应该使用的语句是CREATEDATABASE。
27.修改表的命令是(ALTERTABLE表名)。
28.计算字段的累加和的聚合函数是(sum(字段名))或(sum())。
29.查看全局变量的命令为(select@全局变量名)。
30.删除数据库的命令是dropdatabase。
31.通配符“%”的含义表示匹配0个多个字符;而通配符“_”的含义表示匹配单个字符。
四、简答题(本大题共4小题,每小题5分,共20分)1.数据库系统由哪几部分组成?数据库、硬件和数据库管理系统2.简述DBMS的功能?数据存储、数据操作和数据控制3.请简述SQL语言中VIEW(视图)的含义,VIEW与基本表有什么区别和联系?视图是从一个或多个表(或视图)导出的表。
区别:视图是一个虚表,视图所对应的数据不进行实际存储。
4.简述数据库系统的特点1、实现数据共享,减少数据冗余。
2、采用特定的数据模型。
3、具有较高的数据独立性。
4、有统一的数据控制功能。
5、说明数据库设计的主要步骤。
进行数据抽象、设计局部概念模式、将局部概念模式综合成全局概念模式、对全局结构进行评审。
6.SQL语言具有什么功能数据的定义、操纵、控制和SQL语句嵌入7.举例说明什么是实体之间一对多联系?举例说明什么是实体之间一对一联系?举例说明什么是实体之间多对多联系?8.下列程序的运行结果有何区别。
2、辅助数据文件3、事务日志文件三、请使用SQL命令完成以下操作(本大题共5小题,每小题4分,共20分)6分)8、有一个“学生-课程”数据库,数据库中包括三个表:(1)“学生”表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,可记为:Student(Sno,Sname,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数据库的命令,该数据库的主数据文件逻辑名称为Student_data,物理文件名为Student.mdf,初始大小为1MB,最大尺寸为2MB,增长速度为1mb;数据库的日志文件逻辑名称为Student_log,物理文件名为Student.ldf,初始大小为1MB,最大尺寸为3MB,增长速度为10%。
(2)写出创建“学生”表Student的命令,表Student是由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成,其中学号属性不能为空,并且其值是唯一的。
(3).在student表中查询Sdept是‘计算机’的学生的所有信息,并按Sno降序排列。
ORDERBYSnoDESC(4).在以上三个表中查询Ccredit为5并且Grade大于60的学生的学号、姓名和性别。
7.举例说明什么是实体之间一对多联系?举例说明什么是实体之间一对一联系?举例说明什么是实体之间多对多联系?8.下列程序的运行结果有何区别。
各表构成见表1-表3。
表1“电影信息”表(1)请建立电影信息表,包括约束要求。
(3)检索出主演过“科幻”类电影的演员的姓名及电影片名。
(4)检索出电影长度不小于平均长度的电影片名和发行公司。
11、请使用SQL命令完成以下数据定义或数据操纵(1).创建数据库“studentDB”,其主数据文件名称stu_data,物理文件保存在d:\data下,名称为student.mdf,初始大小5M,最大50M,以1M速度增加;该数据库的日志文件是stu_log,保存在d:\data下,名称为student.ldf,初始大小2M,以5%速度增加。
(5分)(2)建立学生信息表student,包括约束。
(5分)字段名数据类型可否为空约束条件学号Char(10)否主键姓名Varchar(20)否性别Char(2)否默认为“男”,取值只能为“男”或“女”出生日期Smalldatetime可(3)为32题建立的student表的“姓名”属性创建非惟一的非聚集索引name_index。
(4)为(3)题建立的student表输入以下数据。
(5)将(3)题建立的student表中李勇的出生日期更改为1995-6-19。
(6)由(3)题建立的student表创建所有女生信息的视图。
(7)删除(3)题建立的student表中学号为“0401332901”学生的数据。
(2).检索出价格不在20至50元之间的图书的书名和价格。
(3).检索出各类图书的最高价格。
(4).检索出图书编号以“C”开头,中间第3位为数字0-5的图书信息。
(5).检索出“北京”市或“上海”市男性作者的编号、姓名和地址。
(6).检索出“计算机”类图书的平均价格和种类,并以“平均价格”表示。
(7).请按城市降序排列输出作者信息。
(8).检索出价格在50元以上图书的书名、价格及出版社名称。
(9).查询出版“音乐”类图书的出版社名称和地址。
14、编程题(共4题)有一个“学生-课程”数据库,数据库中包括三个表:(1)“学生”表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,可记为:Student(Sno,Sname,Ssex,Sage,Sdept)Sno为关键字。
完成下列操作:(1)请把其中建立“学生”表Student的语句写下来,表Student是由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成,其中学号属性不能为空,并且其值是唯一的。
(2)在student表中查询Sdept是‘计算机’的学生的所有信息,并按Sno降序排列。
(3)在以上三个表中查询Ccredit为5并且Grade大于60的学生的学号、姓名和性别。
(4)为Course表创建一个名称为my_trig的触发器,当用户成功删除该表中的一条或多条记录时,触发器自动删除SC表中与之有关的记录。
(注:在创建触发器之前要判断是否有同名的触发器存在,若存在则删除之。
)五、设计题(本大题共2小题,每小题10分,共20分)1.需要将学校中的专业系、教员、课程以及他们之间的关系组织到数据库中,对于每个专业系(D)存储的信息有:专业系号(DNO)、专业系名(DNAME)、专业系主任(DEAN);对每个教员(PROF)需要存储的信息有:职工号(PNO)、姓名(PNAME)、专长(SPEC);对每门课程(COURSE)需要存储的信息有:课程号(CNO)、课程名(CNAME)、学分(CREDIT)。
有关的联系是:每个专业系有若干名教员、开设若干门课程,每位教员只在一个专业系工作,每门课程只由一个专业系开设;每位教员可讲授多门课程,每门课程可由多位教员讲授;课程之间有先修联系,每门课程可由多门其他课程作为它的直接先修课,每门课程也作为多门其他课程的直接先修课。
(1).画出E-R图;(2).把E-R图转换为关系模型(写出各关系模式);专业系(专业系号(DNO)、专业系名(DNAME)、专业系主任(DEAN)教员职工号(PNO)、姓名(PNAME)、专长(SPEC)每门课程课程号(CNO)、课程名(CNAME)、学分(CREDIT)。
工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名。
(1)根据上述语义画出ER图,在ER图中需注明实体的属性、联系的类型及实体的标识符。
(2)将ER模型转换成关系模型,并指出每个关系模式的主键和外键。