1、数据库应用技术形考作业( 一) 第一章 思考与练习题 一、 选择题 1三级模式间存在两种映射, 它们是( c) 。 A模式与子模式间, 模式与内模式间B子模式与内模式间, 外模式与内模式间C外模式与模式间, 模式与内模式间D模式与内模式间, 模式与模式间 2SQL Server系统中的所有系统级信息存储于哪个数据库( A ) 。 Amaster Bmodel Ctempdb Dmsdb3 下面关于tempdb数据库描述不正确的是( D ) 。 A是一个临时数据库 B属于全局资源 C没有权限限制 D是用户建立新数据库的模板 4 在数据库技术中, 面向对象数据模型是一种( B ) 。 A概念模型
2、B结构模型 C物理模型 D形象模型 5 数据库管理系统常见的数据模型有( B) 。 A网状、 关系和语义 B层次、 关系和网状 C环状、 层次和关系 D网状、 链状和层次 6 用户看到的数据表, 属于数据库系统三级模式中的( D) 。 A外模式 B内模式 C子模式 D模式 7 对数据的插入属于数据库管理系统( B) 的功能。 A数据定义 B数据操纵 C数据库的运行管理 D数据库的建立和维护 8 保持数据的完整性属于数据库管理系统( C) 的功能。 A数据定义 B数据操纵 C数据库的运行管理 D数据库的建立和维护 9 在SQL Server数据库中, 默认情况下Sys一般是( C) 。 A数据文
3、件的后缀 B事务日志文件的后缀 C系统表表名的前缀 D辅助文件的后缀 二、 填空题 1 计算机数据处理技术大致经历了_人工管理_、 _文件管理_、 _数据库管理_发展阶段。 2 数据库系统由_外模式_、 _模式_和_内模式 _三级抽象模式构成。 3 数据库管理系统的主要功能包括_数据定义_、 _数据操纵_ _、 _数据库的建立和维护_、 _数据库的运行管理_。 4 关系模型由三部分组成_数据结构_、 _关系操作集合_和_关系的完整性_。 5 SQL Server提供了大量易用的管理工具, 比较常见的主要有_服务管理器_、 _企业管理器_和_查询分析器_。 6 数据文件的后缀是_ mdf _。
4、7 事务日志文件的后缀是_ ldf _。 8 SQL Server数据库分为_系统数据库_和_用户数据库_两种类型。 三、 简答题 1什么是数据和数据处理? 数据与信息的区别联系是什么? 数据( Data) 是一组表示数量、 行动和目标的非随机的可鉴别的符号。数据处理一般包括查找、 统计、 分类、 修改、 计算、 汇总等各种方法。数据( Data) 是一组表示数量、 行动和目标的非随机的可鉴别的符号。信息( Information) 是经过加工的, 能对接收者的行为和决策产生影响的、 有价值的数据。如果将数据比喻为原料, 那么信息就是数据经过加工而生产的产品, 是有价值的数据。与原料和产品的概
5、念相似, 一个系统的产品可能是另一个系统的原料, 那么一个系统的信息可能成为另一个系统的数据。 2数据库、 数据库管理系统、 数据库系统之间到底是什么关系? 数据库就是各种相关数据的集合和容器。数据库所保存的数据是指长期储存在计算机内、 有组织的、 可共享的数据集合。数据库中的数据必须按一定的数据模型组织、 描述和储存, 具有较小的冗余度、 较高的数据独立性和易扩展性, 并能够被一定范围内的各种用户共享。 数据库管理系统是对数据库进行管理的系统软件, 位于用户和操作系统之间, 为用户或应用程序提供访问数据库的方法和工具。 广义上, 数据库系统就是采用了数据库技术的计算机系统, 一般由数据库、
6、数据库管理系统( 及其开发工具) 、 应用系统、 数据库管理员和用户构成。狭义上讲, 数据库系统主要指数据库和数据库管理系统, 由于这二者在应用中的相互依赖性, 因此在一般不引起混淆的情况下常常把数据库系统简称为数据库。3请描述一下SQL Server数据库的存储结构。 SQL Server数据库的存储结构包括物理存储结构和逻辑存储结构两个层面。在物理层面上, SQL Server数据库是由两个操作系统文件组成的, 即数据文件和事务日志文件, 它们的后缀分别是MDF和LDF。数据文件主要用于存储数据, 事务日志文件主要用于存储数据库的更新情况等事务日志信息。 在逻辑层次上, 数据库是由表、 视
7、图、 存储过程等一系列数据对象组成的。当采用SQL Server企业管理器将上述数据库文件”打开”后, 就能看到数据库的逻辑结构了, 如图XXX所示。数据库中的数据分别存储在几个不同的对象中, 而这些对象是用户在操作数据库时, 实际能够看到和接触到的, 属于逻辑存储结构。常见的数据库对象主要包括: 表( Table) 、 索引( Index) 、 视图(Views)、 触发器( Triggers) 、 存储过程( Store Procedures) 、 缺省( Default) 、 约束( Constraints) 、 用户( Users) 以及图表( Diagram) 和用户自定义的数据类型
8、等。在以后的章节中, 我们将逐步学习这些对象的使用方法。4简述关系模型的组成。关系模型是当前最重要的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。关系模型由三部分组成: 数据结构、 关系操作集合和关系的完整性。 数据结构是指在关系模型中, 无论是数据还是数据之间的联系都是以二维表( 关系) 这一种简单的结构表示的, 这即符合人们使用数据的习惯, 同时也便于计算机实现。 关系操作是指关系代数( 或等价的关系演算) 中并、 交、 差、 选择、 投影、 连接等。关系模型给出了关系操作的能力和特点, 但不对DBMS的语言给出具体的语法要求。关系语言的特点是高度的非过程化。其操作方式的特点
9、是集合操作, 即操作的对象和结果是集合, 称为一次一集合的方式, 而不是一次一个记录的方式。 关系完整性包括实体完整性、 参照完整性和用户自己定义的完整性。实体完整性是保证数据库中记录的惟一性, 即每个记录的主键不能为空值, 也不能与其它记录的主键相同。参照完整性是保证表与表之间语意上的完整性, 即当一个表引用在另一个表中定义的实体时, 要保证这个实体的有效性。这两种完整性是关系模型必须满足的约束条件, 应该由关系系统自动支持。而用户自定义完整性反映了用户的要求, 是用户自行定义的。第二章 思考与练习题 一、 选择题1下述关于索引的描述, 正确的是( B ) 。 A撤销索引会同时撤销数据库中与
10、之相关的内容 B建立索引后, 会影响基本表的插入速度 C基本表的记录数量越多, 越不应该建立索引 D基本表的记录越长, 越不应该建立索引2下述关于视图的描述, 正确的是( C ) 。 A视图仅由一个基本表导出 B执行视图比在客户端直接执行SELECT语句的速度要慢 C在SQL Server中, 能够像基本表一样对视图进行查询操作 D视图存储在客户端的数据库中3 如果希望从学生表中查询出所有姓”张”的同学, 那么条件语句应该是( B) 。 AWhere 姓名 % 张 BWhere 姓名 LIKE 张 CWhere 姓名 % LIKE张 DWhere 姓名 LIKE 张4下列SQL语句中, 能够完
11、成求某列最大值的是( B ) 。 ASELECT AVG(Age) FROM Student BSELECT MAX(Age) FROM StudentCSELECT MIN(Age) FROM Student DSELECT COUNT(*) FROM Student 5.假定学生关系S(SNO,SNAME,SEX,AGE),课程关系C(CNO,CNAME,TEACHER), 学生选课关系SC(SNO,CNO,CRADE).要查询选修了”计算机技术”课程的女学生姓名, 将涉及到关系。D AS BSC,C CS,C DS,C,SC 二、 填空题 1SQL数据定义语言的主要作用是创立存储数据的结
12、构, 而数据操纵语言的主要作用则是向数据库中填写数据, 具体包括_增加、 删除、 修改_等操作。2当需要对查询结果进行排序时, 能够指定其排序方式, 使用_ ASC _表示升序, DESC_表示降序。3.视图是一个虚表, 它是从_一个或多个基本表_中导出的表。1 三、 简答题1、 什么是SQL, 请简要说明它的组成和特点。 结构化查询语言, Structured Query Language, 简称 SQL, 是关系数据库的标准语言。SQL语言共分为四大类: 数据定义语言, 数据查询语言, 数据操纵语言, 数据控制语言。它的特点包括: 非过程化语言, 统一的语言, 是所有关系数据库的公共语言。
13、2、 索引的作用是什么? SQL Server有哪几类索引, 各自的特点是什么? 索引( Index) 提供了一种快速访问数据的途径, 索引是在基本表的列上建立的一种数据加对象, 索引是为了加速查询速度而创立的。实际的索引一般是这两大类5种方式的组合。( 1) 单列索引: 对基本表的某一单独的列进行索引, 是最简单和最常见的索引类型, 一般情况下, 应对每个基本表的主关键字建立单列索引。( 2) 惟一索引: 一旦在一个或多个列上建立了惟一索引, 则不允许在表中相应的列上插入任何相同的取值。使用惟一索引不但能提高查询性能, 还能够维护数据的完整性。( 3) 复合索引: 是针对基本表中两个或两个以
14、上列建立的索引。( 4) 聚集索引: 会改变基本表中记录的物理存储顺序。即表中记录的物理排序顺序不再按插入的先后排列, 而是根据索引列重新排序。( 5) 非聚集索引: 表中记录的物理顺序与索引顺序不同, 表中的记录仍按实际插入的先后顺序排列, 不按索引列排序。3、 什么是基本表? 什么是视图? 视图有什么特点? 在什么情况下需要创立视图? 表是一个由行、 列组成的二维结构, 一般把行称做记录, 把列称为字段。 视图是由查询数据库表产生的, 它其实是一个虚拟的表, 它限制了用户能看到和修改的数据。 视图的特点是在基本表或其它视图上建立的表, 它的结构和内容都来自某个基本表, 是依据基本表存在而存
15、在的。删除一个视图时, 不会对基本表产生任何影响, 但当删除一张基本表时, 与之相关联的视图就会自动被删除。 如果要限制用户能够看到的数据库中的信息, 能够使用视图。4、 谓词LIKE的作用是什么? 确定给定的字符串是否与指定的模式匹配。模式能够包含常规字符和通配符字符。模式匹配过程中, 常规字符必须与字符串中指定的字符完全匹配。5、 如果创立一个数据库其SQL语句是什么? CREATE DATABASE 数据库名称6、 存储过程的含义是什么? 创立存储过程的SQL语句是什么? 存储过程( Stored Procedure) 是一组预先编译好的, 以一种可执行的形式永久地存储在数据中的SQL代
16、码, 在master数据库中存储了一些SQL Server事先定义好的系统存储过程, 一般以sp_xxxx做为存储过程的名字。当用户创立数据库时, 也会自动生成一些事先定义好的存储过程, 一般以dt_xxxx做为名字。创立存储过程的SQL语句是: ( 1) 语句格式: CREATE PROCEDURE AS ( 2) 语句功能: 创立一个存储过程, 多数是指利用SQL Server的Transact-SQL编写的程序。7、 什么是事务? 举例说明事务处理的作用是什么? 事务( Transaction) 是并发控制的基本单位, 它反映了现实世界中需要以一个完整的单位提交的一项工作。SQL Ser
17、ver经过事务机制, 将逻辑相关的一组操作捆绑在一起, 以便服务器保持数据的完整性。它是SQL复杂程序设计必不可少的内容。 事务需要用户根据实际业务规则定义, 有一定的难度, 但其原理比较简单。举例说, 如果我们正在使用UPDATE语句同时对学生表、 成绩表中的学号” 0001”改为” 0001”。这个任务需要两条UPDATE语句组成, 即: UPDATE 学生表 SET 学号= 0001 WHERE 学号= 0001UPDATE 成绩表 SET 学号= 0001 WHERE 学号= 0001 如果在执行完第一个语句后, 计算机突然断电, 而第二条语句还没来得急执行, 数据出现了不一致怎么办?
18、 这时候就需要用到SQL的事务控制功能了。 如果使用了SQL Server的事务控制机制, 以上两个问题均可获得很了的解决。在使用事务的情况下, SQL Server能够保证, 要么所有的记录要么全部处理, 要么一行也不处理。如果修改了全部记录的一半时服务器出错了, SQL Server会返回到以前未执行UPDATE操作前的位置, 清除它已经修改过的数据, 这就是事务处理的作用。8、 SQL Server有哪些数据类型, 它们的主要用途是什么? SQL Server提供了数值型、 字符型、 日期型、 二进制型、 位型、 双字节型等6大类数据类型。数据类型是数据的一种属性, 表示数据所表示信息的
19、类型。任何一种计算机语言都定义了自己的数据类型。 9.假定有三个关系, A(ANO,ANAME,WQTY,CITY),分别表示( 商店代号, 商店名, 店员数量, 所在城市) , B(BNO,BNAME,PRICE), 分别表示( 商品号, 商品名, 价格) , AB(ANO,BNO,QTY) 分别表示( 商店代号, 商品号, 商品数量) 。要求, 创立三个表, 并给每个表插入4个合理的记录, 用SQL语言写出下列查询语句, 同时给出查询结果: (1) 创立三张表, 并给每个表至少插入四条合理记录CREATE TABLE A (ANO CHAR(8),ANAME CHAR(20),WQTY I
20、NT,CITY char(20) )CREATE TABLE B (BNO CHAR(8),BNAME CHAR(20),PRICE REAL(20) )CREATE TABLE AB (ANO CHAR(8),BNO CHAR(8),QTY INT )( 2) 找出店员人数不超过1000人或在长沙市内的所有商店的代号和商店名 SELECT ANO,ANAME FROM A WHERE WQTY20( 4) 查询至少选修了两门课程( 含两门) 的学生学号; select 学号 from 成绩group by 学号having count(学号)=2 ( 5) 查询王文芳同学选修的所有课程的课程
21、号; Select 课程号from成绩表, 学生表Where 姓名=王文芳 and 学生表.学号=成绩表.学号( 6) 查询王文芳同学不学的课程的课程号; select 课程号 from 成绩表where 课程号 not in (select 课程号 from 学生表,成绩表 where 学生表.姓名=王文芳 and 学生表.学号=成绩表.学号) ( 7) 查询所有上刘峰老师课程的学生学号; Select 学号 from 成绩表,课程表,学生表Where 课程表.任课教师=刘峰 and 课程表.课程号=成绩表.课程号 and 课程表.学号=成绩表.学号( 8) 查询所有选修”数据库原理”的学生
22、的学号; Select 学号 from 成绩表,课程表where 课程表.课程名=数据库技术 and 课程表.课程号=成绩表.课程号( 9) 向学生表中插入一条记录( 001,吴红,21,女) ; (1表示女, 0表示男) Insert into 学生表 values ( 001,吴红, 21 ,1)( 10) 删除三张表中所有学号为200 1的学生信息; Delete from学生表 where 学号200 1Delete from学生表 where 学号200 1( 11) 把学号为 0002的学生的年龄改为22岁; Update 学生表 set 年龄=22 where学号= 00022岁
23、; 数据库应用技术形考作业( 二) 第三章 思考与练习题一、 选择题1设一个关系为R, 如果它的每个属性都是不可再分的, 则称这个关系是符合( A) 。 A.第一范式 B.第二范式 C.第三范式 D.BC范式2在第一个关系中出现, 在第二个关系中不出现的记录组成的关系称为两个关系的( C) 。 A.交 B.并 C.差 D.笛卡儿积3.关系数据库规范化是为了解决关系数据库中的( A) 问题。 A.插入、 删除和数据冗余 B.提供查询的速度 C.保证数据的安全性 D.减少数据操作的复杂性4.关系模式中, 满足2NF的模式, ( C ) 。 A.可能是1NF B. 必定是1NF C. 必定是2NF
24、D. 必定是3NF二、 简答题1设关系模式R有N个属性, 在模式R上可能成立的函数依赖有多少个? 函数依赖有N( N-1) 个2设有关系模式R( 职工号, 职工名, 项目号, 项目名, 工资) , 假设一个职工可参加多个项目, 在每个项目中各领一份工资。那么请回答以下问题: ( 1) 请写出这个关系模式的函数依赖和主关键字; 函数依赖包括: 职工号职工名, 项目号项目名, ( 职工号,项目号) 工资主键为( 职工号, 项目号) ( 2) 这个关系符合第几范式, 为什么? 这个关系符合第一范式, 因为它的每个属性都不可再分。( 3) 请举例说明, 这个关系存在哪些问题; 这个关系没有达到第二范式
25、, 可能出现数据冗余和操作异常。 例如, 某个职工参与了多个项目的工作, 她的职工号、 职工名会重复多次存储。同样, 如果一个项目有多名职工参加, 项目号和项目名也会重复我次存储。另外, 如果现在增加了一个新的项目, 但暂时还没有安排职工参加, 那么由于主键是( 职工号, 项目号) , 这个项目的信息可能无法插入。( 4) 请把这个关系模式分解成3NF, 并说明理由。修改后的各个关系如下: 职工关系( 职工号, 职工名) 项目关系( 项目号, 项目名) 职工选择项目关系( 职工号, 项目号, 工资) 3关系完整性的主要内容是什么? 为什么要保证关系的完整性? 关系完整性就是关系模型中数据的正确
26、性、 一致性和有效性。关系完整性又包括实体完整性、 参照完整性和用户定义的完整性三个方面。 只有保证了关系的完整性, 才能使数据库中的数据正确、 一致和有效。4SQL Server中进行关系完整性的主要方法是什么, 请写出相应的SQL语句。1)SQL Server经过约束机制来实现数据库完整性保护。主要包括: Primary Key约束、 Foreign Key约束、 Default约束、 Unique约束、 Check约束等。Primary Key约束: 学号 char (8) NOT NULL PRIMARY KEY(学号)Foreign Key约束: 学号 char (8) NOT NU
27、LL REFERENCES 学生表(学号)Default约束: 成绩 numeric(9,2) DEFAULT 0.00Unique约束: 学号 char (8) NOT NULL UNIOQUE(学号)Check约束: 年龄 int CHECK (年龄)17 and 年龄新建登录”对话框。( 2) SQL Server支持”Windows身份验证”和单击”SQL Server身份验证”两种认证模式。选择”SQL Server身份验证”单选钮, 在”名称”文本框中输入要创立的登录账号名称, 例如”mysa”, 在”身份验证”选项组中, 并输入密码。( 3) 设置完毕后, 单击”确定”按钮, 即
28、可完成登录账号的创立。接下来, 开始创立用户账号, 基本方法是: ( 1) 在企业管理器中, 展开SQL Server组及其服务器, 在”数据库”文件夹中, 展开某一数据库, 例如”进销存”的文件夹, 然后在”用户”选项上右击, 在弹出的快捷菜单中选择”新建数据库用户”命令, 打开新建用户对话框。( 2) 单击”登录名”下拉列表框右端的下拉箭头, 会看到刚刚创立的”mysa”登录帐号。选择”mysa”登录账号, 此时”用户名”文本框中自动显示为”mysa”。能够更改”用户名”文本框中的用户名, 也能够在”数据库角色成员”列表框中选择新建用户应该属于的数据库角色。( 3) 设置完毕后, 单击”确
29、定”按钮, 即可在”进销存”数据库中创立一个新的用户账号。如果不想创立用户账号, 单击”取消”按钮即可。4如何对用户账号进行授权管理, 一般有哪些权限, 请简要说明。( 1) 展开服务器组, 然后展开服务器; 展开”数据库”项, 然后找到相关的数据库, 比如”进销存”; ( 2) 展开”进销存”数据库, 根据对象类型, 单击表、 视图、 存储过程等对象, 找到需要进行授权管理的数据库对象, 比如”物资台账”表。( 3) 右击授予权限所在的对象, 从弹出菜单中选择”所有任务-管理权限”选项; 单击”列出全部用户/用户定义的数据库角色/public”选项, 然后选择授予每位用户的权限。其中, 选中
30、标记表示授予权限。进一步, 经过本界面可完成列级的授权管理。另外, 也能够采用GRANT( 授予权限) 、 DENY( 拒绝权限) 和REVOKE( 撤消权限) 等SQL语句完成授权管理。5为什么要进行数据备份? 数据库备份包括哪些主要内容? 任何系统都不可避免会出现各种形式的故障, 而某些故障可能会导致数据库灾难性的损坏, 因此做好数据库的备份工作极为重要。备份能够创立在磁盘、 磁带等备份设备上, 与备份对应的是还原。 数据库备份就是在某种介质上(磁带、 磁盘等)存储数据库(或者其中一部分)的拷贝的过程。更严格意义上讲, 备份应该是一种把数据从硬盘上复制到其它可移动介质上的操作过程。 一个完整的备份一般要包括三部分内容, 即系统数据库、 用户数据库和事务日志。6什么是备份设备, 请谈一谈SQL Server中创立备份设备的主要步骤和方法。 备份设备是用来存储数据库、 事务日志或文件和文件组备份的存储介质。SQL Server支持3种备份设备, 即磁盘设备、 磁带设备和命名管道设备。 在SQL Server中, 能够采用两种方法创立备份设备, 一是利用企业管理器; 二是使用系统存储过程sp_addumpdevice。其步骤如下: 在企业管理器中展开服务器组, 展开指定的服务器, 展开”管理”文件夹, 右击”备份”, 在弹出的快捷菜单中选择”新建备份设备”选项