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