《数据库应用技术》第1次作业及答案第一章思考与练习题一、选择题1.三级模式间存在两种映射,它们是(C)。A.模式与子模式间,模式与内模式间B.子模式与内模式间,外模式与内模式间C.外模式与模式间,模式与内模式间D.模式与内模式间,模式与模式间2.SQLServer系统中的所有系统级信息存储于哪个数据库(A)。A.masterB.modelC.tempdbD.msdb3.下面关于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)FROMStudentB.SELECTMAX(Age)FROMStudentC.SELECTMIN(Age)FROMStudentD.SELECTCOUNT(*)FROMStudent5.假定学生关系S(SNO,SNAME,SEX,AGE),课程关系C(CNO,CNAME,TEACHER),学生选课关系SC(SNO,CNO,CRADE).要查询选修了“计算机技术”课程的女学生姓名,将涉及到关系。(D)A.SB.SC,CC.S,CD.S,C,SC二、填空题1.SQL数据定义语言的主要作用是创建存储数据的结构,而数据操纵语言的主要作用则是向数据库中填写数据,具体包括增加、删除、修改等操作。2.当需要对查询结果进行排序时,可以指定其排序方式,字段后使用ASC表示升序,DESC表示降序。3.视图是一个虚表,它是从_一个或多个基本表_____中导出的表。三、简答题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]存储过程名ASSQL语句(2)语句功能:创建一个存储过程,SQL语句多数是指利用SQLServer的Transact-SQL编写的程序。7、什么是事务?举例说明事务处理的作用是什么?参考答案:事务(Transaction)是并发控制的基本单位,它反映了现实世界中需要以一个完整的单位提交的一项工作。SQLServer通过事务机制,将逻辑相关的一组操作捆绑在一起,以便服务器保持数据的完整性。它是SQL复杂程序设计必不可少的内容。事务需要用户根据实际业务规则定义,有一定的难度,但其原理比较简单。举例说,如果我们正在使用UPDATE语句同时对学生表、成绩表中的学号”20030001”改为”20040001”。这个任务需要两条UPDATE语句组成,即:UPDATE学生表SET学号=’20040001’WHERE学号=’20030001’UPDATE成绩表SET学号=’20040001’WHERE学号=’20030001’如果在执行完第一个语句后,计算机突然断电,而第二条语句还没来得急执行,数据出现了不一致怎么办?这时候就需要用到SQL的事务控制功能了。如果使用了SQLServer的事务控制机制,以上两个问题均可获得很了的解决。在使用事务的情况下,SQLServer可以保证,要么所有的记录要么全部处理,要么一行也不处理。如果修改了全部记录的一半时服务器出错了,SQLServer会返回到以前未执行UPDATE操作前