《数据库构建与管理》综合练习
一、 选择题
1.在数据库系统中,负责监控数据库系统的运行情况,及时处理运行过程中出现的问题,这是
( )人员的职责。
A. 数据库管理员 B. 数据用户 C. 数据库设计员 D. 应用程序设计员 2.现实世界中客观存在并能相互区别的事物称为( )。 A. 实体 B. 实体集 C. 属性 D. 记录 3.下列实体型的联系中,属于一对一联系的是( )。 A. 班级与学生的所属联系 B. 父亲与孩子的亲生联系 C. 班级与班长的管理联系 D. 供应商与工程项目的供货联系 4.在数据库设计中,E-R模型是进行( )的一个主要工具。 A. 需求分析 B. 概念设计 C. 逻辑设计 D. 物理设计 5.E-R方法的三要素是( )。 A. 实体、属性、实体集 B. 实体、键、联系 C. 实体、属性、联系 D. 实体、域、候选键 6.下面有关E-R模型向关系模型转换的叙述中,不正确的是( )。 A. 一个实体类型转换为一个关系模式
B. 一个1:1联系可转换为一个独立关系模式,也可与联系的任一端实体对应的关系模式合并 C. 一个1:n联系可转换为一个独立关系模式,也可与联系的任一端实体对应的关系模式合并 D. 一个m:n联系转换为一个关系模式
7.关系数据库规范化是为解决关系数据库中( )问题而引入的。 A. 数据冗余和插入、删除异常 B. 提高查询速度 C. 减少数据操作的复杂性 D. 保证数据的安全性和完整性 8.1NF分解成2NF是通过( )实现的。 A. 消除非主属性对码的传递函数依赖 B. 消除非主属性对码的局部函数依赖 C. 消除主属性对码的局部函数依赖 D. 消除多值依赖 9.任何一个满足2NF但不满足3NF的关系模式都存在( )。 A. 主属性对候选码的部分依赖 B. 非主属性对候选码的部分依赖 C. 主属性对候选码的传递依赖 D. 非主属性对候选码的传递依赖 10.下面关于SQL Server的描述错误的是( )。
A.一个数据库至少由两个文件组成:主数据文件和日志文件。 B.每个数据库可以有多个主数据文件。
C.主数据文件默认为primary文件组。D.日志文件不包括在文件组内。 11.SQL语言是( )的语言。 A. 过程化 B. 非过程化 C. 格式化 D. 导航式 12.在下列SQL语句中,修改表结构的语句是( )。 A. ALTER B. ADD C. UPDATE D. INSERT 13.若要在基本表S中增加一列CN,可用( )。 A. ADD TABLE S (CN CHAR(8)) B. ADD TABLE S ALTER (CN CHAR(8)) C. ALTER TABLE S ADD (CN CHAR(8)) D. ALTER TABLE S (ADD CN CHAR(8)) 14.若要查找名称中第三个字符为“市”的单位信息,则SQL查询条件子句应写成:
WHERE 名称( )。 A. = ‘_ _市%’ B. LIKE ‘_ _市%’ C. LIKE ‘%%市_’ D. LIKE ‘%市%’
15.若要查询供应商电话没有输入数据的供应商信息,则SQL查询条件子句应写成:
1
WHERE 供应商电话( )。 A. = ‘’ B. = ‘NULL’ C. = NULL D. IS NULL 16.若要查询包含超过3种产品的产品分类编号,则正确的SQL语句是( )。
A.SELECT 产品分类编号 FROM 产品表 GROUP BY 产品分类编号 WHERE COUNT(*)>3 B.SELECT产品分类编号FROM 产品表 GROUP BY产品分类编号HAVING COUNT(*)>3 C.SELECT产品分类编号FROM 产品表 ORDER BY产品分类编号 WHERE COUNT(*)>3 D.SELECT产品分类编号FROM 产品表ORDER BY产品分类编号HAVING COUNT(*)>3 17.已知两个关系如表1和表2所示,其中厂商关系的主码为“厂商号”,产品关系的主码是“产
品号”,有外键“厂商号”。
表1 厂商 表2 产品
厂商号 厂名 C01 C02 C03 中兴 广发 恒源 产品号 颜色 厂商号 P01 P02 红 黄 C01 C03 若再往产品关系中插入如下元组: I.(‘P03’, ‘红’, ‘C02’);II.(‘P01’, ‘蓝’, ‘C01’);III.(‘P04’, ‘白’, ‘C04’);IV.(‘P05’, ‘黑’, null) 能够插入的元组是( )。 A. I,II,IV B. I,III C. I,II D. 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.下列SQL Server数据库对象中,哪一个不具有数据正确性检查的功能? A. 规则 B. 约束 C. 默认值 D. 数据类型
26.SQL Server中,若要在产生新记录时自动在某列使用特定数据,应使用( )。 A. 规则 B. 默认值 C. 函数 D. 约束 27.下列哪个数据库组件可在添加、删除、更新记录时自动执行? A. 存储过程 B. 触发器 C. 函数 D. 视图 28.在T-SQL中声明变量时,变量应加上哪一个符号? A. @ B. @@ C. % D. #
2
29.下列选项哪一个不是存储过程的优点? A. 加快执行效率 B. 减少CPU负载 C. 降低网络通信量 D. 模块化设计 30.SQL Server中,系统存储过程的名称前缀是( )。 A. sys B. vw C. sp D. Dbo
31.SQL Server中,下列哪个功能可以根据数据库中的数据生成Excel文件? A. 复制数据库 B. 生成脚本 C. 分离数据库 D. 导出数据
32.为便于管理用户及权限,可以将一组具有相同权限的用户组织在一起,这一组具有相同权限
的用户就称为( )。 A. 账户 B. 角色 C. 登录 D. 用户 33.事务日志文件是用于记录( )。 A. 程序运行的过程 B. 对数据库所有的更新操作 C. 程序执行的结果 D. 用户对数据库的访问信息 34.若想对表中字段的重复值只显示一次,则在SQL语句中使用( )。 A . DISTINCT B. COUNT C . UNIQUE D. 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. SQL Server 中的数据完整性包括 、 和 3种。
15. 现要对SQL Server数据库db1进行查询,当前打开的数据库是master,则在SELECT语句
前应加上一条语句 以切换数据库。
16. 一个SQL Server数据库至少由两个文件组成:存储数据的 文件和记录数据更改的
文件。
17. 若要在T-SQL执行时显示信息,可使用 语句或 语句。
18. 设要在雇员表中创建约束,使得雇员的“性别”字段只能为“男”或“女”,则约束表达式
为 。
3
19. SQL Server中可用系统存储过程 实现对存储过程代码的浏览,
实现对数据库对象(如表)的改名。
20. SQL Server中,分离数据库与删除数据库的区别在于 (分离/删除)之后可以通
过 操作恢复。
21. SQL Server数据库还原通常基于 备份,以及以之为起点的 备份或差异备份。 22. SQL Server有两种安全验证模式,分别是 身份验证模式和 身份验证模式,前者的安全性更高。
23. 若要对SELECT语句读取的一组数据进行逐条处理,可使用 实现。
三、判断题
1. 一个实体的码可能不只一个。 2. 实体的码一定只包含一个属性。
3. 关系模型中,实体用关系来表示,实体间的联系用关系图来表示。 4. 表中主码的值一定是唯一的,也不能为空。 5. 不包含在主码中的属性称为非主属性。
6. 第一范式的要求是关系的属性不可再分,满足第一范式即实现了规范化。
7. 多对多关系在关系数据库中无法直接表示,需要在两个表间创建第三个数据表作为中介。 8. 要在SQL查询语句中使用聚合函数,一定要使用Group By子句进行分组。 9. 分组查询语句中,Select子句中出现的列,只能是Group By子句中的列或包含在聚合函数中。 10.T-SQL语句中的字符型常量应在前后加上单引号,日期应加上#号。
11.使用INSERT语句在数据表中添加记录时,不需要指定自动编号字段的值。 12.索引只能基于一个字段创建。 13.SQL Server中,约束、规则和默认值都是单独存在的数据库对象,创建后可应用于多个字段。 14.系统存储过程由数据库系统本身建立,用户数据库中不能使用。
15.SQL Server中,存储过程的参数后若无关键字OUTPUT,就一定是输入参数。
16.用户用登录名与密码登录到SQL Server服务器后,可以访问服务器上所有数据库。
17.要操作SQL Server数据库对象,必须先创建登录名、再创建数据库用户名、然后设置该用户
的相应操作权限。
18.SQL Server中,差异备份只备份数据库的部分内容,备份起点是上次差异备份的结束位置。
四、设计数据库
请根据以下需求设计数据库,包括概念模型(E-R图)和逻辑模型(关系模型),要求在主码下加下划线。
1. 图书管理系统数据库,涉及如下数据:
对每个借阅者都保持读者记录,包括:读者号、姓名、地址、性别; 每本书有书号、书名、作者、出版社;
还有借书记录:某读者在某天借出了某本书,又在哪天归还。 2. 商店销售系统数据库,涉及如下数据:
每个商店有商店号、商店名、地址; 每种商品有商品号、商品名、单价;
还有销售记录:某商店在某天销售了多少数量的某种商品。 3. 教学管理系统数据库,涉及如下数据:
每个学生都有学号、姓名、性别、出生日期; 每门课程有课程号、课程名、学分;
4
还有学习记录:某学生学习了某课程,考试后得了多少分。
五、创建数据表
设在SQL Server中根据第四大题第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. A 2. A 3. C 4. B 5. C 6. C 7. A 8. B 9. D 10. B 11.B 12.A 13.C 14.B 15.D 16.B 17.D 18.D 19.D 20.D 21.B 22.C 23.C 24.A 25.C 26.B 27.B 28.A 29.B 30.C 31.D 32.B 33.B 34.A 二、填空题
1. 数据库管理系统(DBMS) 数据库(DB) 应用程序 2. 码 域
3. 一对一(1:1) 一对多(1:n)
5