《数据库应用技术》作业及答案.docx
- 文档编号:27009619
- 上传时间:2023-06-25
- 格式:DOCX
- 页数:36
- 大小:36.30KB
《数据库应用技术》作业及答案.docx
《《数据库应用技术》作业及答案.docx》由会员分享,可在线阅读,更多相关《《数据库应用技术》作业及答案.docx(36页珍藏版)》请在冰豆网上搜索。
《数据库应用技术》作业及答案
《数据库应用技术》作业及答案
第一章思考与练习题
一、选择题
1.三级模式间存在两种映射,它们是( C )。
A.模式与子模式间,模式与内模式间
B.子模式与内模式间,外模式与内模式间
C.外模式与模式间,模式与内模式间
D.模式与内模式间,模式与模式间
2.SQLServer系统中的所有系统级信息存储于哪个数据库(A)。
A.masterB.modelC.tempdbD.msdb
3.下面关于tempdb数据库描述不正确的是(D)。
A.是一个临时数据库B.属于全局资源
C.没有权限限制D.是用户建立新数据库的模板
4.在数据库技术中,面向对象数据模型是一种(B)。
A.概念模型 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.在SQLServer数据库中,默认情况下Sys通常是(C)。
A.数据文件的后缀
B.事务日志文件的后缀
C.系统表表名的前缀
D.辅助文件的后缀
二、填空题
1.计算机数据处理技术大致经历了(人工管理)、(文件管理)、(数据库管理)等不同的发展阶段。
2.数据库系统由(外模式)、(模式)和(内模式)三级抽象模式构成。
3.数据库管理系统的主要功能包括(数据定义)、(数据操纵)、(数据库的运行管理)、(数据库的建立和维护)。
4.关系模型由三部分组成(数据结构)、(关系操作集合)和(关系的完整性)。
5.SQLServer提供了大量易用的管理工具,比较常用的主要有(服务管理器)、(企业管理器)和(查询分析器)。
6.数据文件的后缀是(mdf)。
7.事务日志文件的后缀是(ldf)。
8.SQLServer数据库分为(系统数据库)和(用户数据库)两种类型。
三、简答题
1.什么是数据和数据处理?
数据与信息的区别联系是什么?
参考答案:
数据(Data)是一组表示数量、行动和目标的非随机的可鉴别的符号。
数据处理通常包括查找、统计、分类、修改、计算、汇总等各种方法。
数据(Data)是一组表示数量、行动和目标的非随机的可鉴别的符号。
信息(Information)是经过加工的,能对接收者的行为和决策产生影响的、有价值的数据。
如果将数据比喻为原料,那么信息就是数据经过加工而生产的产品,是有价值的数据。
与原料和产品的概念相似,一个系统的产品可能是另一个系统的原料,那么一个系统的信息可能成为另一个系统的数据。
2.数据库、数据库管理系统、数据库系统之间到底是什么关系?
参考答案:
数据库就是各种相关数据的集合和容器。
数据库所保存的数据是指长期储存在计算机内、有组织的、可共享的数据集合。
数据库中的数据必须按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可以被一定范围内的各种用户共享。
数据库管理系统是对数据库进行管理的系统软件,位于用户和操作系统之间,为用户或应用程序提供访问数据库的方法和工具。
广义上,数据库系统就是采用了数据库技术的计算机系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
狭义上讲,数据库系统主要指数据库和数据库管理系统,由于这二者在应用中的相互依赖性,所以在一般不引起混淆的情况下常常把数据库系统简称为数据库。
3.请描述一下SQLServer数据库的存储结构。
参考答案:
SQLServer数据库的存储结构包括物理存储结构和逻辑存储结构两个层面。
在物理层面上,SQLServer数据库是由两个操作系统文件组成的,即数据文件和事务日志文件,它们的后缀分别是MDF和LDF。
数据文件主要用于存储数据,事务日志文件主要用于存储数据库的更新情况等事务日志信息。
在逻辑层次上,数据库是由表、视图、存储过程等一系列数据对象组成的。
当采用SQLServer企业管理器将上述数据库文件“打开”后,就能看到数据库的逻辑结构了,如图XXX所示。
数据库中的数据分别存储在几个不同的对象中,而这些对象是用户在操作数据库时,实际能够看到和接触到的,属于逻辑存储结构。
常用的数据库对象主要包括:
表(Table)、索引(Index)、视图(Views)、触发器(Triggers)、存储过程(StoreProcedures)、缺省(Default)、约束(Constraints)、用户(Users)以及图表(Diagram)和用户自定义的数据类型等。
在以后的章节中,我们将逐步学习这些对象的使用方法。
4.简述关系模型的组成。
参考答案:
系模型是目前最重要的一种数据模型。
关系数据库系统采用关系模型作为数据的组织方式。
关系模型由三部分组成:
数据结构、关系操作集合和关系的完整性。
数据结构是指在关系模型中,无论是数据还是数据之间的联系都是以二维表(关系)这一种简单的结构表示的,这即符合人们使用数据的习惯,同时也便于计算机实现。
关系操作是指关系代数(或等价的关系演算)中并、交、差、选择、投影、连接等。
关系模型给出了关系操作的能力和特点,但不对DBMS的语言给出具体的语法要求。
关系语言的特点是高度的非过程化。
其操作方式的特点是集合操作,即操作的对象和结果是集合,称为一次一集合的方式,而不是一次一个记录的方式。
关系完整性包括实体完整性、参照完整性和用户自己定义的完整性。
实体完整性是保证数据库中记录的惟一性,即每个记录的主键不能为空值,也不能与其他记录的主键相同。
参照完整性是保证表与表之间语意上的完整性,即当一个表引用在另一个表中定义的实体时,要保证这个实体的有效性。
这两种完整性是关系模型必须满足的约束条件,应该由关系系统自动支持。
而用户自定义完整性反映了用户的要求,是用户自行定义的。
第二章思考与练习题
一、选择题
1.下述关于索引的描述,正确的是(B)。
A.撤销索引会同时撤销数据库中与之相关的内容
B.建立索引后,会影响基本表的插入速度
C.基本表的记录数量越多,越不应该建立索引
D.基本表的记录越长,越不应该建立索引
2.下述关于视图的描述,正确的是(C)。
A.视图仅由一个基本表导出
B.执行视图比在客户端直接执行SELECT语句的速度要慢
C.在SQLServer中,可以像基本表一样对视图进行查询操作
D.视图存储在客户端的数据库中
3.如果希望从学生表中查询出所有姓“张”的同学,那么条件语句应该是(B)。
A.Where姓名%‘张’
B.Where姓名LIKE‘张%’
C.Where姓名%‘LIKE张’
D.Where姓名LIKE‘张’
4.下列SQL语句中,能够完成求某列最大值的是(B)。
A.SELECTAVG(Age)FROMStudent
B.SELECTMAX(Age)FROMStudent
C.SELECTMIN(Age)FROMStudent
D.SELECTCOUNT(*)FROMStudent
二、填空题
1.SQL数据定义语言的主要作用是创建存储数据的结构,而数据操纵语言的主要作用则是向数据库中填写数据,具体包括增加、删除、修改等操作。
2.当需要对查询结果进行排序时,可以指定其排序方式,字段后使用ASC表示升序,DESC表示降序。
三、简答题
1、什么是SQL,请简要说明它的组成和特点。
参考答案:
结构化查询语言,StructuredQueryLanguage,简称SQL,是关系数据库的标准语言。
SQL语言共分为四大类:
数据定义语言,数据查询语言,数据操纵语言,数据控制语言。
它的特点包括:
非过程化语言,统一的语言,是所有关系数据库的公共语言。
2、索引的作用是什么?
SQLServer有哪几类索引,各自的特点是什么?
参考答案:
索引(Index)提供了一种快速访问数据的途径,索引是在基本表的列上建立的一种数据加对象,索引是为了加速查询速度而创建的。
实际的索引通常是这两大类5种方式的组合。
(1)单列索引:
对基本表的某一单独的列进行索引,是最简单和最常用的索引类型,通常情况下,应对每个基本表的主关键字建立单列索引。
(2)惟一索引:
一旦在一个或多个列上建立了惟一索引,则不允许在表中相应的列上插入任何相同的取值。
使用惟一索引不但能提高查询性能,还可以维护数据的完整性。
(3)复合索引:
是针对基本表中两个或两个以上列建立的索引。
(4)聚集索引:
会改变基本表中记录的物理存储顺序。
即表中记录的物理排序顺序不再按插入的先后排列,而是根据索引列重新排序。
(5)非聚集索引:
表中记录的物理顺序与索引顺序不同,表中的记录仍按实际插入的先后顺序排列,不按索引列排序。
3、什么是基本表?
什么是视图?
视图有什么特点?
在什么情况下需要创建视图?
参考答案:
表是一个由行、列组成的二维结构,通常把行称做记录,把列称为字段。
视图是由查询数据库表产生的,它其实是一个虚拟的表,它限制了用户能看到和修改的数据。
视图的特点是在基本表或其他视图上建立的表,它的结构和内容都来自某个基本表,是依据基本表存在而存在的。
删除一个视图时,不会对基本表产生任何影响,但当删除一张基本表时,与之相关联的视图就会自动被删除。
如果要限制用户能够看到的数据库中的信息,可以使用视图。
4、谓词LIKE的作用是什么?
参考答案:
确定给定的字符串是否与指定的模式匹配。
模式可以包含常规字符和通配符字符。
模式匹配过程中,常规字符必须与字符串中指定的字符完全匹配。
5、如果创建一个数据库其SQL语句是什么?
参考答案:
CREATEDATABASE数据库名称
6、存储过程的含义是什么?
创建存储过程的SQL语句是什么?
参考答案:
存储过程(StoredProcedure)是一组预先编译好的,以一种可执行的形式永久地存储在数据中的SQL代码,在master数据库中存储了一些SQLServer事先定义好的系统存储过程,通常以sp_xxxx做为存储过程的名字。
当用户创建数据库时,也会自动生成一些事先定义好的存储过程,通常以dt_xxxx做为名字。
创建存储过程的SQL语句是:
(1)语句格式:
CREATEPROC[EDURE]<存储过程名>AS
(2)语句功能:
创建一个存储过程,
7、什么是事务?
举例说明事务处理的作用是什么?
参考答案:
事务(Transaction)是并发控制的基本单位,它反映了现实世界中需要以一个完整的单位提交的一项工作。
SQLServer通过事务机制,将逻辑相关的一组操作捆绑在一起,以便服务器保持数据的完整性。
它是SQL复杂程序设计必不可少的内容。
事务需要用户根据实际业务规则定义,有一定的难度,但其原理比较简单。
举例说,如果我们正在使用UPDATE语句同时对学生表、成绩表中的学号”20030001”改为”20040001”。
这个任务需要两条UPDATE语句组成,即:
UPDATE学生表SET学号=’20040001’WHERE学号=’20030001’
UPDATE成绩表SET学号=’20040001’WHERE学号=’20030001’
如果在执行完第一个语句后,计算机突然断电,而第二条语句还没来得急执行,数据出现了不一致怎么办?
这时候就需要用到SQL的事务控制功能了。
如果使用了SQLServer的事务控制机制,以上两个问题均可获得很了的解决。
在使用事务的情况下,SQLServer可以保证,要么所有的记录要么全部处理,要么一行也不处理。
如果修改了全部记录的一半时服务器出错了,SQLServer会返回到以前未执行UPDATE操作前的位置,清除它已经修改过的数据,这就是事务处理的作用。
8、SQLServer有哪些数据类型,它们的主要用途是什么?
参考答案:
SQLServer提供了数值型、字符型、日期型、二进制型、位型、双字节型等6大类数据类型。
数据类型是数据的一种属性,表示数据所表示信息的类型。
任何一种计算机语言都定义了自己的数据类型。
9、假设某教案管理数据库有以下三张表,请写出下列问题的SQL语句:
学生(学号,姓名,年龄,性别)
课程(课程号,课程名,任课教师)
成绩(学号,课程号,成绩)
(1)如何在SQLServer上创建这三张表;
参考答案:
学生表:
createtable学生表(
学号char(8)primaryKey,
姓名char(8),
年龄int,
性别bit)
课程表:
createtable课程表(
课程号char(7)primaryKey,
课程名char(20),
任课教师char(8))
成绩表:
createtable成绩表(
学号char(8),
课程号char(7),
成绩Numeric(4,2))
(2)查询刘峰教师所授课程号,课程名;
参考答案:
Select课程号,课程名from课程表where任课教师=’刘峰’
(3)查询年龄大于20岁的所有男同学的学号、姓名;
参考答案:
Select学号,姓名from学生表where性别=1and年龄>20
(4)查询至少选修了两门课程(含两门)的学生学号;
参考答案:
select学号from成绩
groupby学号
havingcount(学号)>=2
(5)查询王文芳同学选修的所有课程的课程号;
参考答案:
Select课程号from成绩表,学生表
Where学生表.姓名=’王文芳’and学生表.学号=成绩表.学号
(6)查询王文芳同学不学的课程的课程号;
参考答案:
select课程号from成绩表
where课程号notin(select课程号from学生表,成绩表
where学生表.姓名="王文芳"and学生表.学号=成绩表.学号)
(7)查询所有上刘峰老师课程的学生学号;
参考答案:
Select学号from成绩表,课程表,学生表
Where课程表.任课教师="刘世峰"and课程表.课程号=成绩表.课程号and课程表.学号=成绩表.学号
(8)查询所有选修“数据库原理”的学生的学号;
参考答案:
Select学号from成绩表,课程表
where课程表.课程名="数据库技术"and课程表.课程号=成绩表.课程号
(9)向学生表中插入一条记录(’2003001’,’吴红’,21,’女’);(1表示女,0表示男)
参考答案:
insertinto学生表values("2003001","吴红","21",1)
(10)删除三张表中所有学号为20020001的学生信息;
参考答案:
Deletefrom学生表where学号=’>20020001’
Deletefrom学生表where学号=’20020001’
(11)把学号为20030002的学生的年龄改为22岁;
参考答案:
Update学生表set年龄=’22’where学号=’20030002’
第三章思考与练习题
一、选择题
1.设一个关系为R,如果它的每个属性都是不可再分的,则称这个关系是符合(A)。
A、第一范式
B、第二范式
C、第三范式
D、BNC范式
2.在第一个关系中出现,在第二个关系中不出现的记录组成的关系称为两个关系的(C)。
A、交
B、并
C、差
D、笛卡儿积
二、简答题
1.设关系模式R有N个属性,在模式R上可能成立的函数依赖有多少个?
参考答案:
函数依赖有N×(N-1)个
2.设有关系模式R(职工号,职工名,工程号,工程名,工资),假设一个职工可参加多个工程,在每个工程中各领一份工资。
那么请回答以下问题:
(1)请写出这个关系模式的函数依赖和主关键字;
函数依赖包括:
职工号→职工名,工程号→工程名,(职工号,工程号)→工资
主键为(职工号,工程号)
(2)这个关系符合第几范式,为什么?
这个关系符合第一范式,因为它的每个属性都不可再分。
(3)请举例说明,这个关系存在哪些问题;
这个关系没有达到第二范式,可能出现数据冗余和操作异常。
例如,某个职工参与了多个工程的工作,他的职工号、职工名会重复多次存储。
同样,如果一个工程有多名职工参加,工程号和工程名也会重复我次存储。
另外,如果现在增加了一个新的工程,但暂时还没有安排职工参加,那么由于主键是(职工号,工程号),这个工程的信息可能无法插入。
(4)请把这个关系模式分解成3NF,并说明理由。
修改后的各个关系如下:
职工关系=(职工号,职工名)
工程关系=(工程号,工程名)
职工选择工程关系=(职工号,工程号,工资)
(注:
此处的工资是指职工参加某个工程得到的劳动报酬)
3.关系完整性的主要内容是什么?
为什么要保证关系的完整性?
参考答案:
关系完整性就是关系模型中数据的正确性、一致性和有效性。
关系完整性又包括实体完整性、参照完整性和用户定义的完整性三个方面。
只有保证了关系的完整性,才能使数据库中的数据正确、一致和有效。
4.SQLServer中进行关系完整性的主要方法是什么,请写出相应的SQL语句。
参考答案:
1)SQLServer通过约束机制来实现数据库完整性保护。
主要包括:
PrimaryKey约束、ForeignKey约束、Default约束、Unique约束、Check约束等。
PrimaryKey约束:
学号char(8)NOTNULL
PRIMARYKEY(学号)
ForeignKey约束:
学号char(8)NOTNULL
REFERENCES学生表(学号)
Default约束:
成绩numeric(9,2)DEFAULT0.00
Unique约束:
学号char(8)NOTNULL
UNIOQUE(学号)
Check约束:
年龄intCHECK(年龄)17and年龄<25)
2)使用规则实施数据的完整性。
创建规则的语法结构如下:
CREATERULE规则名AS条件表达式
3)使用默认实施数据完整性管理。
创建默认的语法如下:
CREATEDEFAULT默认名AS默认值
5.为什么要进行规范化?
规范化的相关理论是什么?
请简要说明。
参考答案:
为确保数据库设计的正确性,在数据库逻辑设计阶段,常使用关系规范化理论来指导关系型数据库的设计。
其基本思想是,每个关系都应满足一定的规范,才能使关系模式设计合理,达到减少冗余,提高查询效率的目的。
一个好的数据库关系,应该没有数据冗余、更新异常、插入异常、删除异常问题的存在,这就必须进行规范化处理。
规范化使用的理论是函数依赖。
6.什么是一个“好”的关系模式,一个“不好”的关系模式有什么缺点?
参考答案:
“好”的关系模式通常是指符合第三范式要求的关系,“不好”的关系模式会存在数据冗余、更新异常、插入异常、删除异常等问题。
7.请写出一个符合第三范式的关系模式,并说明理由。
参考答案:
学生=(学生号,姓名,性别,专业)
课程=(学生号,课程号,成绩)
选课=(课程号,课程名,课程学分)
第四章思考与练习题
一、填空题
1.数据库设计一般包括需求分析、概念设计、逻辑设计、物理设计、数据库实施和运行维护等阶段。
2.数据库应用系统的建设包括结构设计和行为设计两个方面。
3.数据库设计的主要原则包括表设计原则、字段设计原则和其他原则。
4.E-R图的设计关键在于对实体、联系的选择和表示。
5.物理设计的主要内容包括存储记录的格式设计、存储方法设计、访问方法设计以及完整性和安全性考虑。
二、简答题
1.请简要说明数据库应用系统设计的步骤。
参考答案:
数据库应用系统设计的步骤包括需求分析、概念设计、逻辑设计和物理设计。
2.数据库设计的目的是什么,请谈谈你的理解。
参考答案:
数据库设计指的是设计数据库及其应用系统的技术,是指对于一个给定的应用环境,包括硬件环境和操作系统、数据库管理系统(DBMS)等软件环境,如何使用这个环境来表达用户的要求,构造最优的数据库模式,建立数据库及围绕数据库展开的应用系统,使之能够有效地收集、存储、操作和管理数据,满足企业组织中各类用户的应用需求(信息需求和处理需求)。
3.基本表设计的主要原则是什么,坚持这些原则有什么好处?
参考答案:
基本表设计最主要的原则是关系规范化,尽可能达到第三范式。
规范化有助于消除数据库中的数据冗余,减少更新异常。
规范化有好几种形式,但第三范式通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。
简单来说,遵守第三范式标准的数据库的表设计原则是:
“OneFactinOnePlace”(一个事实对应一个地方),即某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解。
表之间的关系通过外键相连接。
4.进行SQLServer数据库设计时,一般有哪些命名规则?
参考答案:
首先,命名的长度应尽量充足。
假设某企业现有职工在一千人以内,如果用数字表示职工号的话,职工号的长度为3位即可,它最大可以表示999个职工。
但是,如果考虑到企业未来的发展,那么职工
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库应用技术 数据库 应用技术 作业 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)