数据库系统工程师认证之二_SQL应用与数据库操作_试题实例
数据库系统工程师SMP MPP实际操作考试
![数据库系统工程师SMP MPP实际操作考试](https://img.taocdn.com/s3/m/57c29a9b88eb172ded630b1c59eef8c75ebf9514.png)
数据库系统工程师SMP MPP实际操作考试(答案见尾页)一、选择题1. 数据库系统的基本构成有哪些?A. 存储设备B. 服务器和存储设备C. 数据库管理系统(DBMS)D. 应用程序和用户E. 网络和安全设备2. 在数据库系统中,哪个概念描述了数据的逻辑结构?A. 表空间B. 段C. 区间D. 数据字典3. 数据库事务处理的基本单位是什么?A. 事务B. 数据块C. 系统缓冲区D. 重做日志4. 在数据库优化中,哪种类型的索引可以提高查询性能?A. 单索引B. 复合索引C. 候选索引D. 外键索引5. 在分布式数据库系统中,哪个术语描述了将数据分割成多个片段进行存储的过程?A. 分片B. 分区C. 分区表D. 分割6. 数据库系统中的隔离级别有几个?A. 1B. 2C. 3D. 47. 在数据库管理系统中,哪个命令可以用来查看当前数据库的状态?A. SHOW DATABASESB. DESCRIPTORC. SHOW STATUSD. LOOKUP8. 在数据库系统中,哪种类型的约束用于确保数据的完整性和准确性?A. 非空约束B. 唯一约束C. 外键约束D. 自动增长约束9. 在数据库迁移过程中,哪种类型的迁移通常涉及将数据从一个环境迁移到另一个环境?A. 逻辑迁移B. 物理迁移C. 逻辑和物理迁移D. 数据库复制10. 数据库系统的三级模式结构包括外模式、模式和内模式。
其中,哪一个是在数据库系统内部实现的?A. 外模式B. 模式C. 内模式D. 用户模式11. 数据库管理系统的主要功能包括数据定义、数据操纵、数据控制和维护。
其中,数据定义功能通常由谁完成?A. 用户B. 数据管理员(DBA)C. 应用程序员D. 数据库系统审计员12. 在数据库系统中,哪一个概念描述了数据的物理存储结构?A. 模式B. 外模式C. 内模式D. 物理模式13. 数据库系统的日志文件主要用于记录事务处理过程中的哪些信息?A. 事务提交时间B. 事务处理过程中的中间状态信息C. 事务处理成功或失败的状态信息D. 事务处理的详细指令14. 在数据库系统的并发控制中,哪种事务隔离级别可以防止脏读?A. 读未提交B. 读已提交C. 不可重复读D. 串行化15. 数据库系统中的备份策略通常包括全备份、增量备份和差异备份。
mysql二级操作题讲解
![mysql二级操作题讲解](https://img.taocdn.com/s3/m/4a66aabcaff8941ea76e58fafab069dc502247f4.png)
MySQL二级操作题讲解一、概述M y SQ L是一款开源的、关系型数据库管理系统,广泛应用于各种W eb应用程序中。
本文将通过一系列操作题,带领读者深入了解My S QL的一些高级用法和技巧。
二、题目一:表内数据修改问题描述s t u d e n t s有一张名为的表,包含以下字段:学生编号(i d)、学生姓名(n am e)、年龄(ag e)、性别(g e nd er)。
现在需求如下:1.将学生编号为101的学生姓名修改为“张三”。
2.将年龄大于等于20岁的学生的性别修改为“女”。
3.将学生编号为102的年龄和性别修改为21和“男”。
4.删除学生编号为103的学生记录。
请写出对应的SQ L语句。
解答1.`U PD AT Es tu de nts S ET na me='张三'WH E RE id=101;`2.`U PD AT Es tu de nts S ET ge nd er='女'WH E RE ag e>=20;`3.`U PD AT Es tu de nts S ET ag e=21,g en der='男'W HE RE id=102;`4.`D EL ET EF RO Ms tud e nt sW HE RE id=103;`三、题目二:表间数据复制问题描述s o u r c e_t a b l e有两张表:和**t ar get_ta bl e**,它们的结构相同。
现在需求如下:s o u r c e_t a b l e1.将中i d为1和2的记录复制到**ta rg et_t a bl e**中。
t a r g e t_t a b l e2.对于已存在于中的记录,如果**s ou rc e_ta b le**中对应的记录发生了更新,则更新中的记录。
请写出对应的SQ L语句。
解答1.`I NS ER TI NT Ot arg e t_ta bl eS EL EC T*F R OM so ur ce_t ab leW H ER Ei dI N(1,2);`2.`I NS ER TI NT Ot arg e t_ta bl eS EL EC T*F R OM so ur ce_t ab leO N DU PL IC A TE KE YU PD AT Ec ol1=VA LU ES(c ol1),co l2=VA LU ES(c ol2),...;`>注意:上面的`co l1`、`co l2`等需要替换为实际的列名。
数据库SQL实验题目
![数据库SQL实验题目](https://img.taocdn.com/s3/m/24a02e2e7dd184254b35eefdc8d376eeaeaa1786.png)
数据库SQL实验题目实验一数据库和表的建立实验目的1.掌握数据库和表的基础知识2.掌握使用创建数据库和表的方法3.掌握数据库和表的修改、查看、删除等基本操作方法实验内容和要求一、数据库的创建在开始菜单中,启动SQl Server 程序中的“SQL Server Management Studio”,在对象资源管理器窗口中,右键单击“数据库”,选择“新建数据库”,创建成绩管理数据库Grademanager,要求如下表所示:Grademanager数据库参数表参数参数值参数参数值存储的数据文件路径D:\db\ 存储的日志文件路径D:\db\数据文件初始大小5MB 日志文件初始大小2MB数据文件最大值20MB 日志文件最大值15MB数据文件增长量原来10% 日志文件增长量2MB二、表的创建、查看、修改和删除1.表的创建在Grademanager数据库中,右键单击“表”,选择“新建表”命令,创建如下表所示的表:(1)Student表的表结构字段名称数据类型长度精度小数位数是否允许Null值说明Sno Char 10 0 0 否学号,主码Sname Varchar 8 0 0 是姓名Ssex Char 2 0 0 是性别,取值:男或女Sbirthday Date 8 0 0 是出生日期Sdept Char 16 0 0 是系名Speciality Varchar 20 0 0 是专业名特别注意:为属性Ssex设置约束,需选中属性Ssex行,然后单击菜单中的“表设计器”,选择“CHECK 约束”命令,然后按照图1进行设置。
图1 设置性别的约束(2)Course表(课程名称表)的表结构字段名称数据类型长度精度小数位数是否允许Null值说明Cno Char 5 0 0 否课程号,主码Cname Varchar 20 0 0 否课程名(3)SC表(成绩表)的表结构字段名称数据类型长度精度小数位数是否允许Null值说明Sno Char 10 0 0 否学号,外码Cno Char 5 0 0 否课程号,外码Degree Decimal 5 5 1 是成绩,0~100之间特别注意:①为属性Degree 约束,可参照属性Ssex进行设置,“CHECK约束对话框”中的表达式为Degree>=1 And Degree<=100②为SC表设置外键Sno和Cno的方法:右键单击表SC,选择“设计”命令,然后选择菜单“表设计器”中的“关系”命令,打开“外键关系”窗口,选择“添加”按钮,然后单击“表和列规范”后的按钮,按照图2进行设置,即可将SC表中的Cno属性设置为外键。
数据库技术与应用SQL习题答案
![数据库技术与应用SQL习题答案](https://img.taocdn.com/s3/m/f3b5e6d13186bceb19e8bb7d.png)
实验2 SQL Server 数据库的管理4.启动查询分析器,在查询分析器中使用Transact-SQL语句CREATE DATABASE创建studb数据库。
然后通过系统存储过程sp_helpdb查看系统中的数据库信息CREATE DATABASE studbsp_helpdb5.在查询分析器中使用Transact-SQL语句ALTER DATABASE修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小文1MB。
ALTER DATABASE studbMODIFY FILE(NAME=studb,SIZE=5MB,MAXSIZE=20MB,FILEGROWTH=1MB)7.使用企业管理器将studb数据库的名称更改为student_db。
ALTER DATABASE studbMODIFY NAME=student_db8.使用Transact-SQL语句DROP DATABASE删除student_db数据库。
DROP DATABASE student_db实验3 SQL Server 数据表的管理5.使用Transact-SQL语句CREATE TABLE在studentsdb数据库中创建grade 表。
CREATE TABLE grade(学号 char(4),课程编号 char(4),分数 decimal(5))8.使用Transact_SQL语句INSERT INTO...VALUES向studentsdb数据库的grade表插入以下数据:学号课程编号分数0004 0001 80USE studentsdbGOINSERT INTO gradeVALUES('0004','0001','80')9.使用Transact_SQL语句ALTER TABLE修改curriculum表的“课程编号”列,使之为非空。
数据库系统工程师认证考试
![数据库系统工程师认证考试](https://img.taocdn.com/s3/m/0a9ac057854769eae009581b6bd97f192279bff4.png)
数据库系统工程师认证考试(答案见尾页)一、选择题1. 数据库系统工程师的主要职责包括哪些?A. 设计和构建数据库管理系统B. 编写和维护数据库应用程序C. 管理数据库系统的安全和备份D. 执行数据分析和数据建模2. 在数据库设计中,通常遵循哪个步骤来确保数据库的质量?A. 需求分析B. 概念设计C. 逻辑设计D. 物理设计E. 实施和测试3. 数据库管理员(DBA)的角色主要包括哪些任务?A. 管理数据库的物理存储B. 监控和优化数据库性能C. 为应用程序编写和调试SQL代码D. 管理用户访问权限和授权E. 处理数据库故障和恢复4. 什么是数据库事务的ACID属性?A. 原子性(Atomicity)B. 一致性(Consistency)C. 隔离性(Isolation)D. 持久性(Durability)5. 什么是索引,并且在数据库查询中的作用是什么?A. 索引是数据库表中一列或者多列值的集合,用于快速查找记录B. 索引可以加速数据的检索速度,但降低了数据更新的效率C. 索引创建需要消耗大量的存储空间D. 索引是数据库管理系统的一部分,不是应用程序员的责任6. 什么是数据库的正常启动和关闭过程?A. 主机重启B. 关闭所有正在运行的数据库应用程序C. 执行数据库的启动脚本D. 打开数据库管理界面并执行相关命令7. 在数据库系统中,什么是外模式和内模式之间的映射?A. 外模式是用户看到的数据库数据的外观B. 内模式是数据在数据库系统内部的表示C. 外模式和内模式之间的映射定义了外部级别和内部级别之间的接口D. 外模式和内模式之间的映射是由数据库管理员建立的8. 什么是数据库的隔离级别?A. 一系列用于控制不同用户或事务访问数据库的方式B. 数据库系统中的一种错误状态C. 数据库正常运行的一种状态D. 一系列用于控制并发访问的规则9. 在数据库系统中,什么是触发器和存储过程的区别?A. 触发器是在特定事件发生时自动执行的程序,而存储过程是一组预定义的SQL语句B. 触发器和存储过程都是数据库中的程序C. 触发器和存储过程都是由用户编写的D. 触发器和存储过程的作用范围不同10. 什么是数据库的三级模式结构?A. 外模式、内模式和概念模式B. 表模式、段模式和行模式C. 高级模式、中级模式和低级模式D. 逻辑模式、物理模式和用户模式11. 数据库系统工程师在数据库设计阶段需要关注哪些因素?A. 数据库性能B. 数据库可扩展性C. 数据库安全性D. 用户需求12. 在数据库系统中,哪种数据结构最适合表示复杂的关系?A. 关系模型B. 面向对象模型C. 逻辑模型D. 数据模型13. 数据库事务的四个特性(ACID)分别是什么?A. 原子性(Atomicity)B. 一致性(Consistency)C. 隔离性(Isolation)D. 持久性(Durability)14. 什么是数据库索引?它的主要作用是什么?A. 提高查询速度B. 减少数据冗余C. 保证数据完整性D. 维护数据秩序15. 在数据库管理系统中,哪个概念描述了数据的逻辑结构和特征?A. 数据模型B. 数据表C. 数据视图D. 数据库模式16. 数据库管理系统中的备份策略通常包括哪些类型?A. 完全备份B. 增量备份C. 差异备份D. 日志备份17. 数据库系统故障可能导致的后果包括哪些?A. 数据丢失B. 数据不一致C. 系统崩溃D. 性能下降18. 在数据库系统中,如何确保数据的安全性和完整性?A. 使用强密码策略B. 定期进行数据备份和恢复测试C. 实施访问控制列表(ACLs)D. 对敏感数据进行加密19. 数据库系统工程师在面试过程中可能会展现出以下心态: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. 以下哪个数据库管理工具通常用于监控和优化数据库性能?A. SQL Server Management StudioB. MySQL WorkbenchC. Oracle Enterprise ManagerD. DBMS Analytics Studio26. 在数据库系统中,什么是事务?A. 一系列按顺序执行的数据库操作B. 一组不可分割的工作单元C. 一个存储在数据库中的唯一数据块D. 一个虚拟的数据表27. 以下哪个数据库模型支持分片?A. 关系型数据库B. 非关系型数据库C. 键值存储数据库D. 图形数据库28. 在数据库系统中,什么是锁?A. 一种用于控制多个用户同时访问数据库的机制B. 一种用于验证用户身份的机制C. 一种用于加密数据的机制D. 一种用于存储数据的机制29. 关系数据库中的“关系”是指什么?A. 数据之间的关系B. 二维表格的形式C. 与数学中的集合概念相似D. 以上都不是30. 以下哪个不是数据库系统的组成部分?A. 应用程序B. 数据库管理员C. 数据库管理系统D. 数据库客户端31. 在数据库系统中,索引的目的是什么?A. 提高查询速度B. 减少数据冗余C. 增加数据安全性D. 保证数据完整性32. 数据库备份策略通常包括哪些步骤?A. 创建备份副本B. 测试备份数据的可用性C. 定期执行备份D. 所有以上步骤33. 在数据库管理系统中,哪一个概念描述了数据的结构化集合?A. 数据库模型B. 数据库模式C. 数据库实例D. 数据库管理界面34. 数据库系统故障可能由哪些原因引起?A. 硬件故障B. 软件错误C. 数据损坏D. 人为错误35. 在数据库系统中,什么是事务的原子性?A. 事务的所有操作要么全部执行,要么全部不执行B. 事务的执行具有隔离性C. 事务一旦提交,就不能被回滚D. 事务中的操作顺序是固定的36. 在数据库系统中,哪个概念描述了数据的逻辑结构?A. 存储结构B. 逻辑结构C. 物理结构D. 结构模式37. 数据库管理系统(DBMS)的主要组成部分是什么?A. 数据定义语言(DDL)B. 数据操纵语言(DML)C. 数据控制语言(DCL)D. 数据库管理系统核心(DBMS core)38. 以下哪个选项是数据库备份类型?A. 完全备份B. 增量备份C. 差异备份D. 日志备份39. 在数据库系统中,事务处理的主要特点是什么?A. 原子性B. 一致性C. 隔离性D. 持久性40. 数据库索引的目的是什么?A. 提高查询性能B. 减少数据冗余C. 支持数据完整性D. 方便数据更新41. 在数据库设计中,规范化的主要目的是什么?A. 减少数据冗余B. 防止数据不一致C. 提高数据完整性D. 增强数据独立性42. 数据库管理员(DBA)在数据库系统中的角色是什么?A. 数据库设计者B. 数据库管理者C. 数据库维护者D. 数据库开发者43. 数据库系统中的数据模型主要有哪两种?A. 关系模型B. 面向对象模型C. 逻辑模型D. 网状模型44. 在数据库系统中,什么是外模式?A. 模式B. 内模式C. 视图D. 存储模式二、问答题1. 什么是数据库系统?请简述数据库系统的组成部分。
数据库原理及应用SQL习题集含答案教案
![数据库原理及应用SQL习题集含答案教案](https://img.taocdn.com/s3/m/ca250865b5daa58da0116c175f0e7cd184251801.png)
contents
目录
• 数据库基础知识 • SQL语言基础 • 数据库查询优化与索引设计 • 存储过程、触发器和函数应用 • 数据库安全性与完整性保障措施 • 数据库恢复、并发控制及事务管理 • SQL习题集精选与答案解析
01
数据库基础知识
数据库概念及特点
位图索引
适用于低基数列(即列中不同 值的数量较少)的场景,如性 别、婚姻状况等。
全文索引
适用于文本数据的全文搜索场 景,如博客、新闻等。
索引创建、维护和删除操作
创建索引
使用CREATE INDEX语句创建索引,可以指定索 引类型、列名等参数。
删除索引
使用DROP INDEX语句删除不再需要的索引, 以释放存储空间和减少维护开销。
事务处理方式
包括事务的开始与结束、事务的 提交与回滚、事务的并发控制等。 同时,还需要考虑事务的隔离级 别和传播行为等因素。
07
SQL习题集精选与答案解析
选择题部分精选
• 题目1:SQL语言中,用于实现数据检索的 语句是____。
选择题部分精选
A. SELECT B. INSERT C. UPDATE
通过冗余数据来重建数据库, 包括日志文件和数据备份等。
数据库恢复技术
包括基于日志的恢复、基于备 份的恢复和基于镜像的恢复等。
并发操作带来问题及其解决方法
并发操作带来的问题
01
包括丢失更新、脏读和不可重复读等。
并发控制方法
02
包括封锁、时间戳和乐观并发控制等。
封锁协议
03
包括一级封锁协议、二级封锁协议和三级封锁协议,用于保证
A
B
数据库系统工程师知识点讲解之SQL(良心出品必属精品)
![数据库系统工程师知识点讲解之SQL(良心出品必属精品)](https://img.taocdn.com/s3/m/57f3a8939b89680203d825da.png)
数据库系统工程师知识点讲解之SQL数据库系统工程师为软考中一门中级资格考试,以下是小编整理的一些数据库系统工程师考试知识点讲解,供大家参考学习。
关系数据库的标准语言———SQL1.SQL概述SQL的英语名称是结构查询语言(Structured Query Language)实际上它的功能包括查询(Query)、操纵(Manipulation)、定义(Definition)和控制(Control)四个方面,是一个综合的、通用的、功能极强的关系数据库语言。
SQL支持数据库的三级模式结构。
2.SQL的数据定义功能SQL的数据定义功能包括三部分:定义基本表,定义视图和定义索引。
它们是:CREATE TABLE CREATE VIEW CREATE INDEX DROP TABLE DROP VIEW DROP INDEX SQL的数据定义功能可用于定义和修改模式(如基本表),定义外模式(如视图)和内模式(如索引)。
3.基本表的定义与删除定义基本表的语句格式为:CREATE TABLE表名 (列名1 类型[NOT NULL][,列名2类型[NOT NULL]]…)[其他参数];其中,任选项“其它参数”是与物理存储有关的参数。
根据具体系统的不同而不同。
删除基本表的语句为:DROP TABLE表名;删除索引的语句为:DROP INDEX 索引名;删除索引的同时把有关索引的描述也从数据字典中删去。
但表的内涵仍存在且其数据外延内容不变。
把一个基本表的定义连同表上所有的记录、索引以及由此基本表导出的所有视图全部都删除,并释放相应的存储空间。
4.索引的建立与删除对一个基本表,可以根据应用环境的需要建立若干索引,以提供多种存取方式。
通常,索引的建立和删除由DBA或表的主人(即建立表的人)负责。
用户不必也不能在存取数据时选择索引。
存取路径的选择由系统自动进行。
索引的描述存放在数据字典中。
建立索引的语句格式为:CREATE[UNIQUE] INDEX索引名ON基本表名(列名[次序][,列名[次序]]…)[其他参数];这里的任选项———其他参数是与物理存储有关的参数。
SQL部分模拟试题及答案(第2套)资料讲解
![SQL部分模拟试题及答案(第2套)资料讲解](https://img.taocdn.com/s3/m/2aae1fdb8ad63186bceb19e8b8f67c1cfad6eed8.png)
SQL部分模拟试题及答案(第2套)资料讲解S Q L部分模拟试题及答案(第2套)SQL部分模拟试题(二)一、单项选择题(本大题共12小题,每小题2分,共24分)1、数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是________。
()A.DBMS包括DB和DBS B.DBS包括DB和DBMSC.DB包括DBS和DBMSD D.BS就是DB,也就是DBMS2、SQL Server的__________允许用户输入SQL语句并且迅速查看这些语句的结果。
() A.查询分析器B.服务管理器C.事件探测器D.企业管理器3、以下哪个操作可以创建数据库。
()A.进入查询分析器,选择菜单命令“工具”→“向导”,打开“选择向导”对话框,在对话框中,展开“注册服务器向导”中的“数据库”文件夹,选中“创建数据库向导”项B.进入服务管理器,选择菜单命令“工具”→“向导”,打开“选择向导”对话框,在对话框中,展开“注册服务器向导”中的“数据库”文件夹,选中“创建数据库向导”项C.进入事件探测器,选择菜单命令“工具”→“向导”,打开“选择向导”对话框,在对话框中,展开“注册服务器向导”中的“数据库”文件夹,选中“创建数据库向导”项D.进入企业管理器,选择菜单命令“工具”→“向导”,打开“选择向导”对话框,在对话框中,展开“注册服务器向导”中的“数据库”文件夹,选中“创建数据库向导”项4、下面所列条目中,哪一条不是标准的SQL语句?()A.ALTERTABLE B.ALTERVIEW C.CREATETABLE D.CREATEVIEW5、若要在基本表S中增加一列CN(课程名),可用__________。
()A.ADD TABLES(CN CHAR(8)) B.ADD TABLES ALTER (CN CHAR (8))C.ALTER TABLES ADD(CN CHAR(8))D.ALTER TABLES(ADD CN CHAR(8))6、取出关系中的某些列,并消去重复的元组的关系运算称为_________。
中级数据库系统工程师试题、答案及详细解析
![中级数据库系统工程师试题、答案及详细解析](https://img.taocdn.com/s3/m/461de9161711cc7931b7167e.png)
试题某工厂的信息管理数据库的部分关系模式如下所示:职工(职工号,姓名,年龄,月工资,部门号,电话,办公室)部门(部门号,部门名,负责人代码,任职时间)问题1]解答(a)PRIMARY KEY(b)FOREIGN KEY (负责人代码) REFERENCES职工(c)FOREIGN KEY (部门号) REFERENCES部门(d)月工资>=500 AND<月工资=5000,或月工资BETWEEN 500 AND 5000(e)count(*),Sum (月工资),Avg (月工资)(f)GrOup by部门号[问题2]解答(1)该行不能插入“职工”关系,它违反了实体完整性中主码必须惟一区分关系中的每一个属性。
(2)该行可以插入“职工”关系,尽管部门号、电话和办公室为空,但是它表示该雇员没有分配到某个部门。
(3)该行不能插入“职32'’关系,它违反了参照完整性。
因为6在关系“部门”中不存在。
[问题3]解答(1)和(2)都不能更新,因为使用分组合聚集函数定义的视图是不可更新的。
(3)不一定,视子查询的返回值而定,(4)和(5)允许查询。
[问题4]解答(1)对于外层的职工关系E中的每一个元组,都要对内层的整个职工关系M进行检索,因此查询效率不高。
(2)Select 职工号from 职工,(Select Max (月工资) as 最高工资,部门号Group by 部门号)as depMax where 月工资=最高工资and 职工.部门号=depMax.部门号[问题5]解答Select 姓名,年龄,月工资from 职工where 年龄>45;Union Select 姓名,年龄,月工资from 职工where 年龄月工资<1000;试题某仓储超市采用POS(Point of Sale)收银机负责前台的销售收款,为及时掌握销售信息,并依此指导进货,拟建立商品进、销、存数据库管理系统。
该系统的需求分析已经基本完成,下面将进入概念模型的设计。
SQL Server数据库技术及应用(第2版) 习题答案
![SQL Server数据库技术及应用(第2版) 习题答案](https://img.taocdn.com/s3/m/adaff25880eb6294dc886c4c.png)
习题答案子项目1安装和体验数据库一、选择题1.C2.C3.D4. A5.D二、填空题1.工作组版、开发人员版、开发版2. 关系型3.控制台命令、“计算机管理”对话框窗口、SQL Server配置管理器。
4.MSSQL Server5.网络协议三、简答题1.(1)数据库管理系统(DBMS):是一种操纵和管理数据库的软件,是用于建立、使用和维护数据库。
它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
(2)数据库(DB):是由文件管理系统发展起来的,是依照某种数据模型组织起来的数据集合。
这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。
(3)数据库系统(DBS):是存储介质、处理对象和管理系统的集合体,通常由软件、数据库和数据管理员组成。
(4)数据库管理员(DBA):负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。
2.常见数据库管理系统除了Microsoft SQL Server外,还有甲骨文公司的Oracle系统,IBM公司的DB2系统和Informix系统,赛贝斯公司的Sybase ASE系统,微软公司Access系统,以及MySQL公司的MySQL开源数据库系统。
3.需要在本地计算机上注册远程计算机的SQL Server数据库服务器。
成功注册服务器的前提条件:首先确保服务器端的SQL Server数据库服务已经启动,其次在SQL Server 配置管理器中已经启用TCP/IP通讯协议。
子项目2创建教学管理系统数据库与数据表一、选择题1.D2.C3.A4.A5.A6.B7.C8.A9.D 10.D 11.A 12.D二、填空题1.int2.引用(参照)完整性3.输入列的值4.主键5.检查约束、PRIMARYKEYS三、实训操作1、CREATE DATABASE library1ON PRIMARY(NAME = library,FILENAME = 'c:\library\library.mdf',SIZE = 5MB,MAXSIZE = 1000MB)LOG ON(NAME = library_log,FILENAME = 'c:\library\library_log.ldf',MAXSIZE = 5MB,FILEGROWTH = 10%)GO2、USE Library1GOCREATE TABLE Readers(RID INT NOT NULL, --读者编号RName NVARCHAR(50) N OT NULL, --读者姓名RSex CHAR(2) NOT NULL, --读者性别RTypeId INT NOT NULL, --读者类型编号RAddress NVARCHAR(50) NULL, --家庭住址Email NVARCHAR(50) NULL --电子邮件)GOCREATE TABLE ReaderType(RTypeId INT IDENTITY(1,1) NOT NULL, --读者类型编号RType NVARCHAR(30) NOT NULL, --读者类型名称Num TINYINT NOT NULL --可借数量)GOCREATE TABLE Books(BID INT IDENTITY(1,1) NOT NULL, --图书编号Title NVARCHAR(200) NOT NULL, --图书名称Author NVARCHAR(50) NOT NULL, --图书作者PubId INT NOT NULL, --出版社编号PubDate SMALLDATETIME NOT NULL, --出版时间ISBN NVARCHAR(200) NOT NULL, --ISBNPrice MONEY NOT NULL, --单价CategoryId INT NOT NULL --图书种类编号)GOCREATE TABLE BookCategory(CateoryId INT IDENTITY(1,1) NOT NULL, --图书类型编号Name NVARCHAR(20) NOT NULL --图书类型名称)GOCREATE TABLE Publishers(PID INT IDENTITY(1,1) NOT NULL, --出版社编号PName NVARCHAR(50) NULL --出版社名称)GOCREATE TABLE Borrow(RID INT NOT NULL, --读者编号BID INT NOT NULL, --图书编号LendDate DATETIME NOT NULL, --借阅日期ReturnDate DATETIME NULL, --实际归还日期)GOCREATE TABLE Penalty(RID INT NOT NULL, --读者编号BID INT NOT NULL, --图书编号PDate DATETIME NOT NULL, --罚款日期PType INT NOT NULL, --罚款类型Amount MONEY NULL --罚款金额)GO3、--创建各类约束--Reader表的约束--RSex char(2) 只取男、女,默认值为男读者性别ALTER TABLE ReadersADD CONSTRAINT CK_RSex CHECK(RSex='男' OR RSex='女')ALTER TABLE ReadersADD CONSTRAINT DF_RSex DEFAULT '男' FOR RSexALTER TABLE ReadersADD CONSTRAINT DF_Raddress DEFAULT '地址不详' FOR Raddress ALTER TABLE ReadersADD CONSTRAINT CK_Email CHECK(Email LIKE '%@%')ALTER TABLE ReadersADD CONSTRAINT PK_RID PRIMARY KEY (RID)--ReaderType的约束ALTER TABLE ReaderTypeADD CONSTRAINT PK_RTypeId PRIMARY KEY (RTypeId)GOALTER TABLE ReaderTypeADD CONSTRAINT CK_Num CHECK (Num>=0)GO--Books的约束ALTER TABLE BooksADD CONSTRAINT PK_BID PRIMARY KEY (BID)GOALTER TABLE BooksADD CONSTRAINT CK_PubDate CHECK (PubDate<GETDATE())GOALTER TABLE BooksADD CONSTRAINT UQ_ISBN UNIQUE(ISBN)GOALTER TABLE BooksADD CONSTRAINT CK_Price CHECK (Price>0)GO--BookCategory的约束ALTER TABLE BookCategoryADD CONSTRAINT PK_CateoryId PRIMARY KEY (CateoryId)ALTER TABLE PublishersADD CONSTRAINT PK_PID PRIMARY KEY (PID)GO--图书借阅信息表Borrow表中的约束ALTER TABLE BorrowADD CONSTRAINT PK_borrow PRIMARY KEY(RID,BID,LendDate) ALTER TABLE BorrowADD CONSTRAINT DF_LendDate DEFAULT GETDATE() FOR LendDate --图书罚款信息表Penalty 中的约束ALTER TABLE PenaltyADD CONSTRAINT PK_penalty PRIMARY KEY(RID,BID,PDate) ALTER TABLE PenaltyADD CONSTRAINT DF_PDate DEFAULT GETDATE() FOR PDateALTER TABLE PenaltyADD CONSTRAINT CK_Amount CHECK (Amount>0)--创建外键约束ALTER TABLE ReadersADD CONSTRAINT FK_Readers_ReaderType FOREIGN KEY(RTypeId) REFERENCES ReaderType(RTypeId)ALTER TABLE BooksADD CONSTRAINT FK_Books_Publishers FOREIGN KEY(PubId) REFERENCES Publishers(PID)(外键约束以此为例,其他略)4、插入记录此处使用操作方式略。
高级数据库系统工程师认证试卷
![高级数据库系统工程师认证试卷](https://img.taocdn.com/s3/m/811710b5b9f67c1cfad6195f312b3169a551ea08.png)
高级数据库系统工程师认证试卷(答案见尾页)一、选择题1. 数据库系统的基本功能是什么?A. 数据存储和检索B. 数据处理和分析C. 系统安全和用户管理D. 所有以上选项2. 在数据库设计中,哪种范式用于消除非主属性对主键的传递依赖?A. 第一范式(1NF)B. 第二范式(2NF)C. 第三范式(3NF)D. BCNF3. 什么是数据库事务的ACID特性?A. 原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)B. 可靠性(Reliability)、可用性(Availability)、安全性(Security)C. 功能性(Functionality)、可靠性(Reliability)、可用性(Availability)、互操作性(Interoperability)D. 易用性(Usability)、可维护性(Maintainability)、可扩展性(Scalability)、可测试性(Testability)4. 在分布式数据库系统中,什么是CAP定理?A. 一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)B. 读一致性(Read consistency)、写一致性(Write consistency)、持久性(Durability)C. 数据完整性(Data integrity)、数据可用性(Data availability)、数据分区容错性(Data partition tolerance)D. 数据共享(Data sharing)、数据完整性(Data integrity)、数据安全性(Data security)5. 什么是SQL注入攻击?如何防止它?A. SQL注入攻击是一种利用数据库漏洞进行的攻击,通过插入恶意SQL代码来执行未经授权的操作。
数据库原理及应用SQL习题集含答案教案
![数据库原理及应用SQL习题集含答案教案](https://img.taocdn.com/s3/m/1625a017647d27284b7351eb.png)
《数据库原理及应用SQL》课程习题集一、单选题1. ER模型属于()A.概念模型B.层次模型C.网状模型D.关系模型2.数据库系统的三级模式结构中,定义索引的组织方式属于()A.概念模式B.外模式C.逻辑模式D.内模式3. SQL语言中,实现数据存取控制功能的语句是()A.CREATE和DROPB.INSERT和DELETEC.GRANT和REVOKEMIT和ROLLBACK4.物理结构的改变不影响整体逻辑结构的性质,称为数据库的()A.物理数据独立性B.逻辑数据独立性C.物理结构独立性D.逻辑结构独立性5.全局ER模型的设计,需要消除属性冲突、命名冲突和()A.结构冲突B.联系冲突C.类型冲突D.实体冲突6.一个供应商可供应多种零件,而一种零件可由多个供应商供应,则实体供应商与零件之间的联系是()A.一对一B.一对多C.多对一D.多对多7.表达式“AGE BETWEEN 18 AND 24”等价于()A.AGE>18 AND G<24B.AGE>=18 AND G<24C.AGE>18 AND G<=24D.AGE>=18 AND AGE<=248.在数据库设计中,独立于计算机的硬件和DBMS软件的设计阶段是()A.概念设计B.物理设计C.逻辑设计D.系统实施9.按照PX协议规定,一个事务要更新数据对象Q,必须先执行的操作是()A.READ(Q)B.WRITE(Q)C.LOCK S(Q)D.LOCK X(Q)10.下列聚集函数中不忽略空值(null)的是()A.SUM(列名)B.MAX(列名)C.COUNT(*)D.A VG(列名)11.数据库系统中,对用户使用的数据视图的描述称为()A.概念模式B.内模式C.存储模式D.外模式12.数据库的三级模式之间存在着两级映象,使数据库系统具有较高的数据()A.相容性B.独立性C.共享性D.一致性13.实体完整性规则是指关系中()A.不允许有空行B.主键不允许有空值C.不允许有空列D.外键不允许有空值14.实现关系代数投影运算的SQL子句是()A.SELECT B.ORDER BYC.FROM D.WHERE15. SQL语言中,用GRANT/REVOKE语句实现数据库的()A.并发控制B.完整性控制C.一致性控制D.安全性控制16.在事务依赖图中,若各个事务之间的依赖关系构成循环,则就会出现()A.死锁B.共享锁C.活锁D.排它锁17.以下关于事务调度和封锁的描述中,正确的是()A.遵守两段封锁协议的并发事务一定是可串行化的B.可串行化的并发事务一定遵守两段封锁协议C.遵守两段封锁协议的并发事务不一定是可串行化的D.遵守两段封锁协议的并发事务一定不会产生死锁18.数据库与文件系统的根本区别在于()A 提高了系统效率B 方便了用户使用C 数据的结构化D 节省了存储空间19.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是( )。
计算机二级SQL部分专题
![计算机二级SQL部分专题](https://img.taocdn.com/s3/m/d57f00e7dc3383c4bb4cf7ec4afe04a1b071b036.png)
安全性:可以限制用户对数据库的直接访问,通过执行存储过程来控制对数据的操作。
存储过程
存储过程
01
存储过程示例
02
CREATE PROCEDURE GetEmployeeCount AS SELECT COUNT(*) FROM Employees;
03
EXEC GetEmployeeCount;
```sql
DROP TABLE 学生;
```
01
02
03
04
05
删除数据表
总结词:了解修改数据表的SQL语句,掌握修改数据表的基本操作。
详细描述:在SQL中,可以使用ALTER TABLE语句来修改数据表。常用的修改操作包括添加列、删除列、修改列的数据类型和约束条件等。例如,向名为"学生"的数据表中添加一个名为"邮箱"的列,可以使用以下语句
触发器
触发器定义:触发器是与Байду номын сангаас事件(如INSERT、UPDATE、DELETE)相关联的特殊类型的存储过程,当指定事件发生时自动执行。
数据完整性
触发器可以帮助维护数据完整性,通过在数据修改前后执行相应的操作。
要点一
要点二
自动处理
触发器可以自动处理一些复杂的业务逻辑,减少应用程序中的代码量。
触发器
总结词
详细描述
插入数据
描述如何使用SQL语句更新数据库表中的数据。
总结词
使用UPDATE语句可以修改数据库表中已存在的数据。语法格式为:UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition。例如,将"users"表中用户名为"John"的密码更新为"Smith",可以使用以下语句:UPDATE users SET password = 'Smith' WHERE username = 'John';。
数据库应用例题及答案及图解
![数据库应用例题及答案及图解](https://img.taocdn.com/s3/m/65a2143f7275a417866fb84ae45c3b3567ecddf6.png)
数据库应⽤例题及答案及图解例⼦:1.SELECT命令(查询命令)格式:SELECT <字段列表>|* FROM <表名>[……] 功能:对数据库中的数据进⾏查询。
例如:SELECT * FROM STU1语句:SELECT 学号,姓名,数学FROM STU1语句:SELECT 学号,数学+5 FROM STU1WHERE关键字在WHERE⼦句中,⽤条件表达式来确定要显⽰的记录。
W HERE <条件表达式>例如:SELECT 学号,姓名FROM STU1 WHERE 数学=90SELECT 学号,姓名FROM STU1 WHERE 数学=90 OR 平均分>=85BETWEEN关键字在WHERE⼦句中可以使⽤BETWEEN来指定可接受值的范围。
例如:要显⽰学⽣档案表STU2中数学成绩在91到92的学⽣情况。
SELECT * FROM STU2 WHERE 数学BETWEEN (91) AND(92)LIKE关键字格式:……WHERE <字段名> LIKE <字符串常量>说明:字符串常量中的字符可以包含如下两个特殊符号:% 表⽰任意长度的字符串;_ 表⽰任意⼀个字符例: 查询所有姓“张”的学⽣的学号和姓名。
SELECT 学号, 姓名FROM STU1WHERE (姓名LIKE '张%')例: 查询第⼆个汉字是“红”的学⽣的学号和姓名SELECT 学号, 姓名FROM STU1WHERE (姓名LIKE '_⼩%')IN关键字在WHERE⼦句中使⽤IN可以查看指定值是否在表中。
例如:显⽰学号为962102 和962104 的记录。
SELECT * FROM STU2 WHERE 学号IN (“962102”,“962104”)ORDER BY关键字ORDER BY <排序字段名>[ASC|DESC]⼦句⽤来对数据结果排序,ASC按升序排列,DESC按降序排列,默认是ASC。
SQL SERVER认证考试的操作题题库-2
![SQL SERVER认证考试的操作题题库-2](https://img.taocdn.com/s3/m/a5fdb4d676eeaeaad1f33000.png)
你是一台SQL Server 2000 数据库服务器的管理员,服务器包含一个名为Acct 的数据库。
此数据库包含1.5GB的数据,服务器一个9GB的硬盘,配置如下:你需要导入另外2GB的数据到此数据库中,且不影响数据库的性能,你该怎么处理?答案:在E盘增加一个数据文件,并将此文件加入到PRIMARY文件组中你是一台SQL server 2000 计算机的管理员。
peter是你公司销售部门的一个雇员。
peter有一个SQL server登录名为peter,他可以访问名为MarketingData 的数据库。
peter已经被分派到一项研究项目中并且需要查看和编辑储存在名为ResearchData的数据库里的信息。
这个数据库与MarketingData 数据库都被存储在相同的服务器上。
你需要给peter配置适当的权限来管理ResearchData数据库1,找到Peter用户:2,授予Peter相应权限:你是两台Windows 2000服务器的管理员,其中的一台运行着IIS,另一台运行着SQL Server2000。
公司股东需要通过互联网来查询存储在SQL Server服务器上的数据,一些股东的计算机上没有使用Windows操作系统或浏览器。
你需要配置这两台服务器使得用户可以通过IIS虚拟目录来访问数据。
IIS使用基本验证(Basic Authentication?)来允许访问虚拟目录。
只有公司的股东可以通过互联网来访问SQL Server服务器,且不允许执行特殊的查询,同时你需要审计登录到SQL Server服务器的成功和失败的连接。
你需要允许公司股东能够访问到SQL Server服务器且使安全计划尽可能简单,你该采取下面哪两个操作?答案:1,配置IIS虚拟目录允许模板查询2,在SQL Server服务器为每个股东创建一个相应的Windows验证的登录账号,配置IIS虚拟目录使用Windows集成认证方式(Windows Integrated Authentication)来连接到SQL Server服务器1,在SQL2000上,启用多协议网络库2,在SQL2000和SQL7上,启用多协议加密重建为非聚集索引答案:释放spid78的锁:删除表的非聚集索引答案:配置一个作业运行该包,并指定明天8:00运行配置新的实例使用混合模式验证配置服务器使用命名管道、IPX/SPX以及TCP/IP网络库将SECONDARY文件组设为默认文件组1,设置SQL2为链接服务器2,设置排序规则建一个触发器:。
数据库原理与应用之SQL练习及答案
![数据库原理与应用之SQL练习及答案](https://img.taocdn.com/s3/m/f141b202bed5b9f3f90f1c58.png)
按照实验指导书的要求在企业管理器中将这些表建立起来,1)检索在北京的供应商的名称。
2)检索发给供应商S6的订购单号。
3)检索出职工E6发给供应商S6的订购单信息。
4)检索出向供应商S3发过订购单的职工的职工号和仓库号。
5)检索出目前与S3供应商没有联系的职工信息。
6)检索出目前没有任何订购单的供应商信息。
7)检索出和职工E1、E3都有联系的北京的供应商信息。
8)检索出目前和华通电子公司有业务联系的每个职工的工资。
9)检索出与工资在1220元以下的职工没有联系的供应商的名称。
10)检索出向S4供应商发出订购单的仓库所在的城市。
11)检索出在上海工作并且向S6供应商发出了订购单的职工号。
12)检索出在广州工作并且只向S6供应商发出了订购单的职工号。
13)检索出由工资多于1230元的职工向北京的供应商发出的订购单号。
14)检索出仓库的个数。
15)检索出有最大面积的仓库信息。
16)检索出所有仓库的平均面积。
17)检索出向S4供应商发出订购单的那些仓库的平均面积。
18)检索出每个城市的供应商个数。
19)检索出每个仓库中工资多于1220元的职工个数。
20)检索出和面积最小的仓库有联系的供应商的个数。
SELECT * FROM 供应商WHERE 地址=’北京’SELECT 订购单号FROM 订购单WHERE 供应商号=’S6’SELECT * FROM 订购单WHERE 供应商号=’S6’ AND 职工号=’E6’SELECT 职工号,仓库号FROM 职工WHERE 职工号IN( SELECT 职工号FROM 订购单WHERE 供应商号=’S3’ )SELECT * FROM 职工WHERE 职工号NOT IN( SELECT 职工号FROM 订购单WHERE 供应商号=’S3’ )SELECT * FROM 供应商WHERE NOT EXISTS( SELECT * FROM 订购单WHERE 供应商号=供应商.供应商号)SELECT * FROM 供应商WHERE 供应商号IN( SELECT 供应商号FROM 订购单WHERE 职工号=’E1’ )AND 供应商号IN( SELECT 供应商号FROM 订购单WHERE 职工号=’E3’ )SELECT 职工号,工资FROM 职工WHERE 职工号IN(SELECT 职工号FROM 订购单WHERE 供应商号IN(SELECT 供应商号FROM 供应商WHERE 供应商名=’华通电子公司’)) SELECT 供应商名FROM 供应商WHERE 供应商号IN(SELECT 供应商号FROM 订购单WHERE 职工号NOT IN(SELECT 职工号FROM 职工WHERE 工资< 1220))SELECT 城市FROM 仓库WHERE 仓库号IN(SELECT 仓库号FROM 职工WHERE 职工号IN(SELECT 职工号FROM 订购单WHERE 供应商号=’S4’))SELECT 职工号FROM 职工WHERE 仓库号IN(SELECT 仓库号FROM 仓库WHERE 城市=’上海’) AND 职工号IN(SELECT 职工号FROM 订购单WHERE 供应商号=’S6’))SELECT 职工号FROM 职工WHERE 仓库号IN(SELECT 仓库号FROM 仓库WHERE 城市=’广州’) AND 职工号IN(SELECT 职工号FROM 订购单WHERE 供应商号=’S6’) AND 职工号NOT IN (SELECT 职工号FROM 订购单WHERE 供应商号!=’S6’)SELECT 订购单号FROM 订购单WHERE 职工号IN(SELECT 职工号FROM 职工WHERE 工资>1230) AND 供应商号IN(SELECT 供应商号FROM 供应商WHERE 地址=’北京’)SELECT COUNT(*) FROM 仓库SELECT * FROM 仓库WHERE 面积=(SELECT MAX(面积) FROM 仓库)SELECT A VG(面积) FROM 仓库SELECT A VG(面积) FROM 仓库WHERE 仓库号IN(SELECT 仓库号FROM 职工WHERE 职工号IN(SELECT 职工号FROM 订购单WHERE 供应商号=’S4’))SELECT 地址,COUNT(*) FROM 供应商GROUP BY 地址SELECT 仓库号,COUNT(*) FROM 职工WHERE 工资>1220 GROUP BY 仓库号SELECT COUNT(*) FROM 供应商WHERE 供应商号IN(SELECT 供应商号FROM 订购单WHERE 职工号IN(SELECT 职工号FROM 职工WHERE 仓库号IN(SELECT 仓库号FROM 仓库WHERE 面积=(SELECT MIN(面积) FROM 仓库))))。
sql应用试题及答案
![sql应用试题及答案](https://img.taocdn.com/s3/m/96814a7db6360b4c2e3f5727a5e9856a56122686.png)
sql应用试题及答案SQL应用试题及答案1. 单选题:以下哪个SQL语句用于创建一个新表?A. CREATE DATABASE mydatabase;B. CREATE TABLE mytable (id INT, name VARCHAR(100));C. DROP TABLE mytable;D. SELECT * FROM mytable;答案:B2. 判断题:以下SQL语句是否正确?"SELECT * FROM customers WHERE name = 'John';"A. 正确B. 错误答案:A3. 多选题:以下哪些SQL语句可以用于删除表中的数据?A. DELETE FROM mytable WHERE id = 10;B. DROP TABLE mytable;C. TRUNCATE TABLE mytable;D. UPDATE mytable SET deleted = 1 WHERE id = 10;答案:A, C4. 填空题:在SQL中,使用____关键字可以更新表中的记录。
答案:UPDATE5. 简答题:如何使用SQL语句查询特定列的数据?答案:可以使用SELECT语句查询特定列的数据。
例如,要查询名为"name"和"age"的列,可以使用以下SQL语句:"SELECT name, age FROM customers;"6. 计算题:假设有一个名为"employees"的表,包含"id", "name", "salary"和"department"四个字段。
请写出一个SQL语句,用于计算每个部门的平均薪资。
答案:SELECT department, AVG(salary) AS average_salary FROM employees GROUP BY department;7. 案例分析题:给定一个名为"orders"的表,包含"order_id", "customer_id", "order_date", "amount"四个字段。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库系统工程师》认证近年试题实例By jhsun厦门理工学院计算机科学与技术系目录2012年软考数据库系统工程师试题 (3)2011年软考数据库系统工程师试题 (6)【参考答案】 (8)2010年软考数据库系统工程师试题 (9)【参考答案】 (11)2009年软考数据库系统工程师试题 (12)【参考答案】 (13)2008年软考数据库系统工程师试题 (15)试题二(共15分) (15)【参考答案】 (17)2012年软考数据库系统工程师试题阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。
[说明]某企业网上销售管理系统的数据库部分关系模式如下所示:客户(客户号,姓名,性别,地址,邮编)产品(产品号,名称,库存,单价)订单(订单号,时间,金额,客户号)订单明细(订单号,产品号,数量)关系模式的主要属性及约束如表2-1所示。
表2-1关系模式的主要属性及约束关系名约束客户客户号唯一标识一位客户,客户性别取值为“男”或者“女’产品产品号唯一标识一个产品订单订单号唯一标识一份订单。
一份订单必须且仅对应一位客户,一份订单可由一到多条订单明细组成。
一位客户可以有多份订单。
订单明细一条订单明细对应一份订单中的一个产品客户、产品、订单和订单明细关系及部分数据分别如表2-2、2-3、2-4、2-5所示。
表2-2客户关系客户号姓名性别地址邮编Ol 王晓丽女南京路2号20000502 林俊杰男北京路18号200010表2-3产品关系产品号名称库存单价01 产品A 20 298.0002 产品B 50 168.00表2-4订单关系订单号时间金额客户号1001 2006.02.03 1268.00 01 1002 2006.02.03 298.00 02 表2-5订单明细关系订单号产品号数量1001 01 2 1001 02 4 1002 01 1[问题1](3分)以下是创建部分关系表的SQL语句,请将空缺部分补充完整。
CREATE TABLE 客户(客户号CHAR(5)___ NOT NULL UNIQUE ___姓名CHAR(30),性别CHAR(2)___ CHECK(VALUE IN('男','女'))___地址CHAR(30),邮编CHAR(6));CREATE TABLE 订单(订单号CHAR(4),时间 CHAR(10),金额 NUMBER(6,2),客户号 CHAR(5) NOT NULL,PRIMARY KEY(订单号),___ FOREIGN KEY(客户号) REFERENCES 客户(客户号)___;[问题2](4分)请根据如下查询语句,回答问题(d),(e)和(f)SELECT 客户号FROM 订单,订单明细WHERE 订单明细.订单号 = 订单.订单号AND 产品号 = '02’AND 数量>10;(d)上述查询语句的功能是什么?请简要回答。
(30个字以内)答:查询一次订购(或购买)产品号为02的数量大于10的客户号(e)将上述查询语句转换成对应的关系代数表达式。
答:π客户号(订单∞σ产品号='02'^数量>10(订单明细))(f)上述SQL查询语句是否可以进一步优化?如可以,给出优化后的SQL查询语句。
可以优化。
优化的SQL语句为:SELECT客户号FROM订单WHERE订单号IN(SELECT 订单号FROM 订单明细WHERE 产品号 = '02 ' AND数量>10)请按题意将下述SQL查询语句的空缺部分补充完整。
[问题3](3分)按客户购买总额的降序,输出每个客户的客户名和购买总额。
SELECT 客户.客户名,___ SUM(金额)AS总额___FROM 客户,订单WHERE 客户.客户号 = 订单.客户号_ GROUP BY 客户.客户号____ ORDER BY 总额 DESC ___;[问题4](3分)用SQL语句完成下述要求。
(1)定义一个描述订单的客户号和对应订单明细中产品号关系的视图,客户产品(客户号,产品号)。
CREATE VIEW 客户产品AS(SELECT 客户号,产品号FROM 订单,订单明细WHERE 订单明细.订单号=订单.订单号)(2)借助(1)所定义的视图,查询至少购买了01号客户购买的所有产品的客户号。
SELECT 客户号FROM 客户产品客户产品1WHERE___ NOT EXISTS ___( SELECT*FROM客户产品客户产品2WHERE___客户号='01' AND NOT EXISTS ___( SELECT*FROM客户产品客户产品3WHERE 客户产品1.客户号=客户产品3.客户号AND客户产品2.产品号=客户产品3.产品号));[问题5](2分)当—个订单和对应的订单明细数据入库时,应该减少产晶关系中相应的产品库存,为此应该利用数据库管理系统的什么机制实现此功能?请用100字以内的文字简要说明。
2011年软考数据库系统工程师试题阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】某法院要开发一个诉讼案件信息处理系统,该信息系统的部分关系模式如下:职工(职工编号,姓名,岗位)律师(律师编号,姓名)被告(被告编号,姓名,地址)案件(案件编号,案件类型,案件描述,被告,律师,主审法官,立案日期,状态,结案日期,结案摘要)审理(审理编号,案件编号,审理日期,摘要)有关关系模式的属性及相关说明如下:(1)职工关系模式的岗位有“法官”、“书记员”和“其他”。
(2)诉讼立案后,即在案件关系中插入一条相应记录。
案件关系模式的状态有“待处理”、“审理中”、“结案”和“撤销”,一个案件开始立案时其案件状态为“待处理”。
(3)案件关系模式的案件类型有“偷窃”、“纵火”等。
(4) -个案件自立案到结案的整个过程由一位法官和一位律师负责,一个案件通常经过一次到多次审理。
【问题1】(4分)假设案件编号唯一标识一个案件,且立案日期小于等于结案日期。
请将如下创建案件关系的SQL语句的空缺部分补充完整。
CREATE TABLE案件(案件编号CHAR(6) (a) ,案件类型VARCHAR(10),案件描述VARCHAR (200),立案日期DATE ,被告VARCHAR (6) REFERENCES被告(被告编号),律师VARCHAR (6) REFERENCES律师(律师编号),主审法官VARCHAR (6) (b) ,状态VARCHAR (6) (c) DEFAULT‘待处理’,结案日期DATE,结案摘要VARCHAR (200),(d) );【问题2】(8分)请完成下列查询的SQL语句。
(1)查询当前待处理的诉讼案件,显示案件的案件编号、立案日期、被告姓名、被告地址、案件描述、律师姓名和主审法官姓名。
SELECT案件编号,立案日期,被告.姓名AS被告姓名,地址AS被告地址,案件描述,律师.姓名AS律师姓名, (e)FROM (f)WHERE案件.被告=被告.被告编号AND案件.律师=律师.律师编号AND (g) ;(2)查询2009年立案的各类案件数,并按案件数降序排序。
(日期格式举例:2009年1月1日表示为01-JAN-2009,2009年12月31日表示为31-DEC-2009)SELECT类型,count(*) AS案件数FROM 案件WHERE (h)GROUP BY类型(i) ;(3)查询立案次数超过5次的被告姓名和地址。
SELECT姓名,地址,count(*)FROM 案件,被告WHERE (j)GROUP BY (k) (1) ;【问题3】(3分)当插入一个审理记录时,检查案件的状态,若状态为“未处理”,则将其修改为“审理中”。
下面是用触发器实现该需求的SQL语句,请将空缺部分补充完整。
CREATE TRIGGER 审理TRIGGER AFTER (m)ON审理REFERENCING new row AS nrowFOR each rowWHEN‘未处理’=(SELECT状态 FROM案件 WHERE案件编号- nrow.案件编号)BEGINUPDATE案件 (n)WHERE (o) ;END【参考答案】2010年软考数据库系统工程师试题试题二(共15分)阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】天津市某银行信息系统的数据库部分关系模式如下所示:客户(客户号,姓名,性别,地址,邮编,电话)账户(账户号,客户号,开户支行号,余额)支行(支行号,支行名称,城市,资产总额)交易(交易号,账户号,业务金额,交易日期)其中,业务金额为正值表示客户向账户存款;为负值表示取款。
【问题1】(3分)以下是创建账户关系的SQL语句,账户号唯一识别一个账户,客户号为客户关系的唯一标识,且不能为空。
账户余额不能小于1.00元。
请将空缺部分补充完整。
CREATE TABLE 账户(账户号 CHAR(19) _____(a)_____ ,客户号 CHAR(10) _____(b)_____ ,开户支行号 CHAR(6) NOT NULL ,余额 NUMBER(8,2) _____(c)_____ );【问题2】(7分)(1)现银行决策者希望查看在天津市各支行开户且2009年9月使用了银行存取服务的所有客户的详细信息,请补充完整相应的查询语句。
(交易日期形式为’2000-01-01’) SELECT DISTINCT 客户.*FROM 客户, 账户, 支行, 交易WHERE 客户.客户号 = 账户.客户号 AND账户.开户支行号 = 支行.支行号 AND_____(d)_____ AND交易.账户号 = 账户.账户号 AND_____(e)_____ ;上述查询优化后的语句如下,请补充完整。
SELECT DISTINCT 客户.*FROM 客户, 账户, _____(f)_____ AS 新支行, _____(g)_____ AS 新交易WHERE 客户.客户号 = 账户.客户号 AND账户.开户支行号 = 新支行.支行号 AND新交易.账户号 = 账户.账户号;(2)假定一名客户可以申请多个账户,给出在该银行当前所有账户余额之和超过百万的客户信息并按客户号降序排列。
SELECT *FROM 客户WHERE _____(h)_____(SELECT 客户号 FROM 账户 GROUP BY 客户号 _____(i)_____ )ORDER BY _____(j)_____ ;【问题3】(5分)(1)为账户关系增加一个属性“账户标记”,缺省值为0,取值类型为整数;并将当前账户关系中所有记录的“账户标记”属性值修改为0。