《数据库构建与管理》复习指导Word下载.docx
《《数据库构建与管理》复习指导Word下载.docx》由会员分享,可在线阅读,更多相关《《数据库构建与管理》复习指导Word下载.docx(17页珍藏版)》请在冰点文库上搜索。
C.主数据文件默认为primary文件组。
D.日志文件不包括在文件组内。
11.SQL语言是()的语言。
A.过程化B.非过程化C.格式化D.导航式
12.在下列SQL语句中,修改表结构的语句是()。
A.ALTERB.ADDC.UPDATED.INSERT
13.若要在基本表S中增加一列CN,可用()。
A.ADDTABLES(CNCHAR(8))B.ADDTABLESALTER(CNCHAR(8))
C.ALTERTABLESADD(CNCHAR(8))D.ALTERTABLES(ADDCNCHAR(8))
14.若要查找名称中第三个字符为“市”的单位信息,则SQL查询条件子句应写成:
WHERE名称()。
A.=‘__市%’B.LIKE‘__市%’C.LIKE‘%%市_’D.LIKE‘%市%’
15.若要查询供应商电话没有输入数据的供应商信息,则SQL查询条件子句应写成:
WHERE供应商电话()。
A.=‘’B.=‘NULL’C.=NULLD.ISNULL
16.若要查询包含超过3种产品的产品分类编号,则正确的SQL语句是()。
A.SELECT产品分类编号FROM产品表GROUPBY产品分类编号WHERECOUNT(*)>
3
B.SELECT产品分类编号FROM产品表GROUPBY产品分类编号HAVINGCOUNT(*)>
C.SELECT产品分类编号FROM产品表ORDERBY产品分类编号WHERECOUNT(*)>
D.SELECT产品分类编号FROM产品表ORDERBY产品分类编号HAVINGCOUNT(*)>
17.已知两个关系如表1和表2所示,其中厂商关系的主码为“厂商号”,产品关系的主码是“产品号”,有外键“厂商号”。
表1厂商表2产品
厂商号
厂名
C01
中兴
C02
广发
C03
恒源
产品号
颜色
P01
红
P02
黄
若再往产品关系中插入如下元组:
I.(‘P03’,‘红’,‘C02’);
II.(‘P01’,‘蓝’,‘C01’);
III.(‘P04’,‘白’,‘C04’);
IV.(‘P05’,‘黑’,null)
能够插入的元组是()。
A.I,II,IVB.I,IIIC.I,IID.I,IV
18.UPDATE语句最多可以更新数据表中()。
A.一条记录的一个字段值B.多条记录的一个字段值
C.一条记录的多个字段值D.多条记录的多个字段值
19.DELETE语句中若无WHERE子句,则删除数据表中()。
A.第一条记录B.最后一条记录C.当前记录D.所有记录
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.下列SQLServer数据库对象中,哪一个不具有数据正确性检查的功能?
A.规则B.约束C.默认值D.数据类型
26.SQLServer中,若要在产生新记录时自动在某列使用特定数据,应使用()。
A.规则B.默认值C.函数D.约束
27.下列哪个数据库组件可在添加、删除、更新记录时自动执行?
A.存储过程B.触发器C.函数D.视图
28.在T-SQL中声明变量时,变量应加上哪一个符号?
A.@B.@@C.%D.#
29.下列选项哪一个不是存储过程的优点?
A.加快执行效率B.减少CPU负载C.降低网络通信量D.模块化设计
30.SQLServer中,系统存储过程的名称前缀是()。
A.sysB.vwC.spD.Dbo
31.SQLServer中,下列哪个功能可以根据数据库中的数据生成Excel文件?
A.复制数据库B.生成脚本C.分离数据库D.导出数据
32.为便于管理用户及权限,可以将一组具有相同权限的用户组织在一起,这一组具有相同权限的用户就称为()。
A.账户B.角色C.登录D.用户
33.事务日志文件是用于记录()。
A.程序运行的过程B.对数据库所有的更新操作
C.程序执行的结果D.用户对数据库的访问信息
34.若想对表中字段的重复值只显示一次,则在SQL语句中使用()。
A.DISTINCTB.COUNTC.UNIQUED.UNION
二、填空题
1.数据库应用系统简称数据库系统,由计算机硬件、、、
和数据库用户五部分组成。
2.能唯一标识实体的属性集,称为,每一属性的取值范围称为。
3.实体型之间的联系有、和多对多(m:
n)三种。
4.逻辑模型由、和三要素组成。
5.根据不同的逻辑模型,数据库管理系统可以分为、、和面向对象型等。
6.数据库设计过程中的逻辑结构设计,就是把概念结构设计阶段建立的转换成相应的。
7.设有关系模式:
入库单明细表(入库单编号,产品编号,产品名称,产品数量),该关系模式属于范式。
8.若要删除一个表,应使用的SQL语句是“TABLE表名”,若要删除表中数据,应使用语句“FROM表名”。
9.假设有两个表:
图书(书号,书名,……)、借阅记录(书号,读者号,借出日期,……),则这两个表间应该创建关系,主键表是,外键表是。
10.要找出供应商表中所有电话字段为空白或为空字符串的记录,SQL语句如下:
SELECT*FROM供应商表WHERE电话OR电话
11.Having和Where子句的区别之一在于:
对原始记录进行过滤,而
是对查询结果进行过滤,后者可以用聚合函数。
12.视图是从一个或几个基本表(或视图)中导出的表,数据库中实际存放的是视图的,而不是。
13.若要使用触发器将对视图的修改更新至多个数据表,触发器的类型应是。
14.SQLServer中的数据完整性包括、和3种。
15.现要对SQLServer数据库db1进行查询,当前打开的数据库是master,则在SELECT语句前应加上一条语句以切换数据库。
16.一个SQLServer数据库至少由两个文件组成:
存储数据的文件和记录数据更改的文件。
17.若要在T-SQL执行时显示信息,可使用语句或语句。
18.设要在雇员表中创建约束,使得雇员的“性别”字段只能为“男”或“女”,则约束表达式为。
19.SQLServer中可用系统存储过程实现对存储过程代码的浏览,
实现对数据库对象(如表)的改名。
20.SQLServer中,分离数据库与删除数据库的区别在于(分离/删除)之后可以通过操作恢复。
21.SQLServer数据库还原通常基于备份,以及以之为起点的备份或差异备份。
22.SQLServer有两种安全验证模式,分别是身份验证模式和身份验证模式,前者的安全性更高。
23.若要对SELECT语句读取的一组数据进行逐条处理,可使用实现。
三、判断题
1.一个实体的码可能不只一个。
2.实体的码一定只包含一个属性。
3.关系模型中,实体用关系来表示,实体间的联系用关系图来表示。
4.表中主码的值一定是唯一的,也不能为空。
5.不包含在主码中的属性称为非主属性。
6.第一范式的要求是关系的属性不可再分,满足第一范式即实现了规范化。
7.多对多关系在关系数据库中无法直接表示,需要在两个表间创建第三个数据表作为中介。
8.要在SQL查询语句中使用聚合函数,一定要使用GroupBy子句进行分组。
9.分组查询语句中,Select子句中出现的列,只能是GroupBy子句中的列或包含在聚合函数中。
10.T-SQL语句中的字符型常量应在前后加上单引号,日期应加上#号。
11.使用INSERT语句在数据表中添加记录时,不需要指定自动编号字段的值。
12.索引只能基于一个字段创建。
13.SQLServer中,约束、规则和默认值都是单独存在的数据库对象,创建后可应用于多个字段。
14.系统存储过程由数据库系统本身建立,用户数据库中不能使用。
15.SQLServer中,存储过程的参数后若无关键字OUTPUT,就一定是输入参数。
16.用户用登录名与密码登录到SQLServer服务器后,可以访问服务器上所有数据库。
17.要操作SQLServer数据库对象,必须先创建登录名、再创建数据库用户名、然后设置该用户的相应操作权限。
18.SQLServer中,差异备份只备份数据库的部分内容,备份起点是上次差异备份的结束位置。
四、设计数据库
请根据以下需求设计数据库,包括概念模型(E-R图)和逻辑模型(关系模型),要求在主码下加下划线。
1.图书管理系统数据库,涉及如下数据:
对每个借阅者都保持读者记录,包括:
读者号、姓名、地址、性别;
每本书有书号、书名、作者、出版社;
还有借书记录:
某读者在某天借出了某本书,又在哪天归还。
2.商店销售系统数据库,涉及如下数据:
每个商店有商店号、商店名、地址;
每种商品有商品号、商品名、单价;
还有销售记录:
某商店在某天销售了多少数量的某种商品。
3.教学管理系统数据库,涉及如下数据:
每个学生都有学号、姓名、性别、出生日期;
每门课程有课程号、课程名、学分;
还有学习记录:
某学生学习了某课程,考试后得了多少分。
五、创建数据表
设在SQLServer中根据第四大题第1题得到的各关系模式创建数据表,请写出SQL语句,要求定义主键和外键,并定义借阅者姓名和书名不能为空。
六、综合应用题
设数据库中包括以下表:
用户表(用户编号,用户名,密码,角色)
出库单表(出库单编号,仓库编号,出库日期,出库单状态,客户名)
出库单明细表(出库单编号,产品编号,产品数量,摘要)
产品表(产品编号,产品名称,计量单位,产品数量,产品分类编号,所在仓库)
产品分类表(产品分类编号,产品分类名称,说明)
客户表(客户名称,地址,电话)
1.设计SQL语句完成下列操作:
(1)查询用户编号为“2”的用户名,并修改查询结果中的列标题为“用户名称”。
(2)查询出“出库日期”在“2009-1-1”到“2009-7-30”所有出库单的出库单编号、出库日期和出库单状态。
(3)查询所有产品的产品编号、产品名称、产品分类编号、产品数量,要求按“产品分类编号”递增排序、“产品数量”递减排序。
(4)查询出“产品数量”排前3名产品的产品编号、产品名称、产品数量。
(5)查询出所有用户的信息,并统计用户的人数。
(6)查询出每类产品的平均数量大于300的产品分类编号和产品的平均数量。
(7)用子查询实现查询“原材料”的产品名称、计量单位、产品数量。
(8)用多表查询实现查询出库单状态为“已出库”的出库产品编号、产品数量和客户名。
(9)给“出库单明细表”添加一条记录(出库单编号:
20101201,产品编号:
0101,产品数量:
10)。
(10)根据上题添加的记录修改“产品表”的产品数量。
2.
(1)设用户在系统登录界面输入用户名和密码,请使用T-SQL创建存储过程“login”,根据输入实现用户登录判断(已知正确用户名与密码均为admin),并返回判断结果。
(2)设输入用户名和密码为“system”、“admin”,执行该存储过程,并显示结果。
参考答案
一、选择题
1.A2.A3.C4.B5.C6.C7.A8.B9.D10.B
11.B12.A13.C14.B15.D16.B17.D18.D19.D20.D
21.B22.C23.C24.A25.C26.B27.B28.A29.B30.C
31.D32.B33.B34.A
二、填空题
1.数据库管理系统(DBMS)数据库(DB)应用程序
2.码域
3.一对一(1:
1)一对多(1:
n)
4.数据结构数据操作数据完整性约束
5.层次型网状型关系型
6.E-R图逻辑模型
7.第一/I
8.DROPDELETE
9.一对多图书借阅记录
10.ISNULL=‘’
11.WhereHaving
12.定义(查询语句)真实数据
13.InsteadOf
14.实体完整性参照完整性域完整性
15.USEdb1
16.数据日志
17.PrintSelect
18.性别IN(‘男’,’女’)
19.sp_helptextsp_rename
20.分离附加
21.数据库完整备份事务日志备份
22.WindowsSQLServer混合
23.游标
1.√2.×
3.×
4.√5.×
6.×
7.√8.×
9.√10.×
11.√12.×
13.×
14.×
15.√16.×
17.√18.×
1.E-R图为:
关系模型为:
读者(读者号,姓名,地址,性别)
图书(书号,书名,作者,出版社)
借阅(读者号,书号,借出日期,归还日期)
2.E-R图为:
商店(商店号,商店名,地址)
商品(商品号,商品名,单价)
销售(商店号,商品号,日期,数量)
3.E-R图为:
学生(学号,姓名,性别,出生日期)
课程(课程号,课程名,学分)
学习(学号,课程号,成绩)
1.CREATETABLE读者
(读者号varchar(15)primarykey,
姓名varchar(50)notnull,
性别char
(2),
地址varchar(50))
CREATETABLE图书
(书号char(13)primarykey,
书名varchar(40)notnull,
作者varchar(20),
出版社varchar(20))
CREATETABLE借阅
(读者号varchar(15),
书号char(13),
借出日期datetime,
归还日期datetime,
primarykey(读者号,书号),
foreignkey(读者编号)references读者信息(读者编号),
foreignkey(书号)references图书(书号))
2.CREATETABLE学生
(学号char(10)PRIMARYKEY,
姓名char(8)notnull,
出生日期date);
CREATETABLE课程
(课程号char(5)PRIMARYKEY,
课程名char(20)UNIQUE,
学分number
(2);
CREATETABLE学习
(学号char(10)REFERENCES学生(学号),
课程号char(5)REFERENCES课程(课程号),
成绩number(4,1),
PRIMARYKEY(学号,课程号));
1.
(1)select用户名as用户名称from用户表where用户编号='
2'
(2)select出库单编号,出库日期,出库单状态from出库单表
where出库日期between'
2009-1-1'
and'
2009-7-30'
或:
select出库单编号,出库日期,出库单状态from出库单表
where出库日期>
='
and出库日期<
(3)select产品编号,产品名称,产品分类编号,产品数量from产品表
orderby产品分类编号,产品数量desc
(4)selecttop(3)产品编号,产品名称,产品数量from产品表orderby产品数量desc
(5)select*from用户表computecount(用户编号)
(6)select产品分类编号,avg(产品数量)平均数量from产品表
groupby产品分类编号havingavg(产品数量)>
300
(7)select产品名称,计量单位,产品数量from产品表
where产品分类编号=(select产品分类编号from产品分类表where产品分类名称='
原材料'
)
(8)select产品编号,产品数量,客户名
from出库单表,出库单明细表
where出库单表.出库单编号=出库单明细表.出库单编号and出库状态='
已出库'
(9)insertinto出库单明细表(出库单编号,产品编号,产品数量)
values('
20101201'
'
0101'
10)
(10)update产品表set产品表.产品数量=产品表.产品数量-出库单明细表.产品数量
from出库单明细表
where出库单编号='
and出库单明细表.产品编号='
and产品表.产品编号=出库单明细表.产品编号
2.
(1)CREATEPROCEDURElogin
@usrvarchar(50),@pwdvarchar(500),@reschar(10)output
AS
if@usr='
admin'
if@pwd='
set@res='
登录成功'
elseset@res='
密码错'
elseset@res='
用户名错'
(2)declare@reschar(10)
execlogin'
system'
'
@resoutput
select@res
感谢下载!
欢迎您的下载,资料仅供参考