数据库课后标准答案Word文档格式.docx
《数据库课后标准答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库课后标准答案Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
3.逻辑数据模型(又称数据模型),它是一种面向客观世界、面向用户的模型;
它与具体的数据库系统无关,与具体的计算机平台无关。
(⨯)
4.数据模型通常由数据结构、数据操作和完整性约束三部分组成。
5.内模式亦称为子模式或用户模式,描述的是数据的局部逻辑结构。
四、简答题
1.解释数据库、数据库管理系统和数据库系统的概念。
答:
数据库(DataBase)是具有统一结构形式、可共享的、长期储存在计算机内的数据的集合。
数据库管理系统(DataBaseManagementSystem)是一组用于数据管理的通用化软件所组成的软件系统,位于用户与操作系统之间,是数据库系统的核心。
它负责数据库中的数据组织、数据操纵、数据维护和数据控制等功能的实现。
数据库系统(DataBaseSystem)是由数据库、数据库管理系统、数据库管理员和用户等组成的计算机系统的总称。
2.数据管理经历了哪几个阶段,各阶段的特点是什么?
数据管理技术经历了人工管理、文件系统管理和数据库系统三个阶段。
人工管理数据有如下特点:
(1)数据不保存
(2)应用程序管理数据
(3)数据不共享
(4)数据不具有独立性
文件系统管理数据具有如下特点:
(1)数据可以长期保存
(2)由文件系统管理数据
(3)数据共享性差,冗余度大
(4)数据独立性低
数据库系统管理数据具有如下特点:
(1)数据结构化
(2)数据共享性好,冗余度低
(3)数据独立性高
(4)数据由DBMS统一管理和控制
3.数据库管理系统的主要功能有哪些?
数据库管理系统的功能主要包括以下六个方面:
(1)数据定义
数据定义包括定义构成数据库结构的模式、存储模式和外模式,定义各个外模式与模式之间的映射,定义模式与存储模式之间的映射,定义有关的约束条件,例如,为保证数据库中的数据具有正确的语义而定义的完整性规则、为保证数据库安全而定义的用户口令和存取权限等。
(2)数据操纵
数据操纵包括对数据库数据的检索、插入、修改和删除等基本操作。
(3)数据库运行管理
对数据库的运行进行管理是DBMS运行时的核心部分,包括对数据库进行并发控制、安全性检查、完整性约束条件的检查和执行、数据库的内部维护(如索引、数据字典的自动维护)等。
所有访问数据库的操作都要在这些控制程序的统一管理下进行,以保证数据的安全性、完整性、一致性以及多用户对数据库的并发使用。
(4)数据组织、存储和管理
数据库中需要存放多种数据,如数据字典、用户数据、存取路径等,DBMS负责分门别类地组织、存储和管理这些数据,确定以何种文件结构和存取方式物理地组织这些数据,如何实现数据之间的联系,以便提高存储空间利用率以及提高随机查找、顺序查找、增、删、改等操作的时间效率。
(5)数据库的建立和维护
建立数据库包括数据库初始数据的输入与数据转换等。
维护数据库包括数据库的转储与恢复、数据库的重组织与重构造、性能的监视与分析等。
(6)数据通信接口
DBMS需要提供与其他软件系统进行通信的功能。
例如,提供与其他DBMS或文件系统的接口,从而能够将数据转换为另一个DBMS或文件系统能够接受的格式,或者接收其他DBMS或文件系统的数据。
4.试述数据模型及其要素。
数据模型通常都是由数据结构、数据操作和完整性约束三个要素组成。
1数据结构用于描述系统的静态特性,研究与数据类型、内容、性质有关的对象,例如关系模型中的域、属性、关系等。
2数据操作数据库主要有检索和更新(如插入、删除、修改)两大类操作。
数据模型必须定义这些操作的确切含义、操作符号、操作规则以及实现操作的语言。
3数据的约束条件数据的约束条件是一组完整性规则的集合。
完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
此外,数据模型还应该提供定义完整性约束条件的机制。
5.解释实体、属性、码、实体集、E-R模型的概念。
●实体:
客观存在并可相互区别的事物称为实体。
实体可以是具体的人、事、物,也可以是抽象的概念或联系。
●实体的属性:
实体所具有的某一特性称为属性。
一个实体可以由若干个属性来描述。
●码:
能够唯一标识一个实体的属性或属性组称为实体的码。
●实体集:
同类型实体的集合称为实体集。
●E-R模型(Entity-Relationshipmodel):
也称实体联系模型,是一种被广泛使用的概念模型。
该模型将现实世界的要求转化成实体、联系、属性等几个基本概念,以及它们间的基本关系,并且可以用一种图直观的表示出来。
第2章习题
1.关系数据库系统是支持(关系模型)的数据库系统。
3.关系模型由(关系数据结构)、(关系数据操作)、(关系完整性规则)三部分组成。
4.关系模型定义了(实体完整性)、(参照完整性)、(用户定义的完整性)三类完整性。
1.在关系模型的完整性约束中,实体完整性规则是指关系中(C)。
A.不允许有空行B.属性值不允许为空
C.主键值不允许为空D.外键值不允许为空
2.参照完整性规则要求(A)。
A.不允许引用不存在的元组B.允许引用不存在的元组
C.不允许引用不存在的属性D.允许引用不存在的属性
4.最常用的一种基本数据模型是关系数据模型,它用统一的(D)结构来表示实体以及实体之间的联系。
A.树B.网络C.图D.二维表
1.关系语言是一种高度过程化的语言。
2.关系数据语言分为两类,一类是关系数据语言,一类是关系演算语言。
3.实体完整性和参照完整性是关系模型必须满足的完整性约束条件,应该由关系系统自动支持。
4.实体完整性规则中,若属性A是基本关系R的主属性,则A也可以取空值。
3.在关系模型的参照完整性规则中,为什么外部码属性的值也可以为空?
什么情况下才可以为空?
外部码即外码,外码为空表示作为外码的属性没有引用任何值。
当外码不是参照关系的主属性时可以取空值。
4.主码、侯选码、外部码的联系和区别是什么?
主码和候选码都是能唯一标识一个元组的属性或属性组。
主码一定是候选码,是候选码中的一个,一个关系只能有一个主码。
候选码不一定是主码,一个关系可能有多个候选码。
一个关系的外码一定与某个关系的主码相对应,即外码与主码列的数据类型必须匹配,列长度应当相等,列名可以相同也可以不同。
当主码的列值被更新时,与之相关联的表的外码列值也将被做相应的更新。
当向外码的表中插入数据时,若外码值在与之相关联的表的主码列中不存在时,系统会拒绝插入数据。
一个关系的外码一定不是该关系的候选码,也一定不是该关系的主码,但可能是主码的一部分。
第4章习题
一、填空题
1.SQLServer2000的主要版本有企业版、标准版、个人版、开发版和评估版。
2.启动SQLServer的方法有三种,它们是.通过服务器管理器、企业管理器、控制面板。
3.Transcat-SQL语言主要由5部分组成,分别是数据定义语句、数据操纵语句、数据控制语句、系统存储过程和一些附加的语言元素。
4.在Transcat-SQL语言中,数据操纵语句包括INSERT、DELETE、UPDATE和SELECT。
5.SQLServer2000支持的身份认证模式有Windows身份认证和SQLSERVER身份验证(或混合身份验证)。
二、简答题
1.SQLServer2000具有哪些特点?
●采用客户/服务器体系结构。
●提供了丰富的编程接口工具。
●与Windows2000操作系统完全集成。
●支持XML(ExtensiveMarkupLanguage)扩展标记语言。
●提供数据仓库功能。
2.SQLServer2000各版本的适用范围是什么?
●企业版:
通常用作一个企业级的数据库服务器。
它支持数十个TB级的数据库。
●标准版:
一般用作工作组或部门级的数据库服务器,支持GB级的数据库。
●个人版:
主要用于移动用户。
●开发版:
主要供数据库应用程序开发人员进行应用程序开发并存储数据。
●评估版:
它主要用于测试SQLServer2000的功能。
3.SQLServer2000默认的安装目录是什么?
MicrosoftSQLServer\MSSQL
4.在注册SQLServer2000服务器时,需要提供哪些内容?
注册服务器时需提供以下内容:
被注册的服务器属于哪个组、服务器的名称或地址、登录服务器时使用的验证模式以及登录名和密码。
5.数据定义语句的作用是什么?
主要包含哪些语句?
数据定义语句用于创建、修改或删除数据库以及数据库中的各种对象,包括表、视图、索引、触发器和存储过程等。
使用的语句有CREATE、ALTER和DROP。
第5章习题
1.SQLServer2000安装过程中创建了4个系统数据库,其中__MASTER__数据库控制SQLServer的所有方面。
2.当数据庞大时,主数据文件的大小超过操作系统对单一文件大小的限制时,必须使用_辅助数据文件(或次数据文件)存储数据。
3.主数据文件的扩展名是__.mdf__。
4.用Transact-SQL语言向表中插入数据的语句是__INSERT__。
5.用Transact-SQL语言修改表中数据的语句是___UPDATE__。
二、选择题
1.数据库的逻辑结构由各种不同的对象所组成,下面哪些是数据库对象ABD。
A.表B.规则C.数据文件D.视图
2.SQLServer2000中有两种类型的数据库:
系统数据库和用户数据库,下面哪些是系统数据库ACD。
A.modelB.pubsC.masterD.tempdb
3.使用Transact-SQL语言创建数据库的语句是_____C_____。
A.ALTERDATABASEB.DROPDATABASE
C.CREATEDATABASED.DBCCSHRINKDATABASE
4.使用Transact-SQL语言创建表的语句是___A______。
A.CREATETABLEB.DROPTABLE
C.ALTERTABLED.CREATEDATABASE
5.___B____数据库是建立所有用户数据库的模板。
A.tempdbB.modelC.northwideD.msdb
三、判断题
1.在建立数据库时,若将数据文件的大小设置为“文件增长不受限制”,则数据文件可以无限大。
(⨯)
2.每个数据库至少要包含一个主数据文件和一个日志文件。
(√)
3.一个数据文件可以成为多个文件组的成员。
4.日志文件是独立的,不能放在任何文件组中。
5.收缩数据库仅限于压缩数据库增长的部分,也就是说,数据库最小不能小于创建该数据库时指定的数据库大小。
四、简答题
1.数据库在磁盘上是以文件为单位存储的。
与数据库相关的磁盘文件有哪三种?
他们的扩展名分别是什么?
与数据库相关的磁盘文件有主数据文件、次数据文件和日志文件三种,扩展名分别是.mdf,.ndf,.ldf.。
2.简述主键的作用是什么?
主键列中的数据是不允许重复的,也不允许为空值,从而能保证表中数据的唯一性。
3.简述扩充数据库文件大小的几种方法。
可以通过以下方法扩充数据库文件大小:
•为数据库添加次数据文件和日志文件;
•手工修改“分配的空间值”;
•将数据库文件配置为“文件自动增长”。
4.当修改表结构向表中增加一个新列时,若表中已经添加了记录,应注意些什么?
当向表中增加一个新列时,若表中已经添加了记录,则SQLServer会在每个记录的该列位置上添加一个数据值。
因此当向表中添加一个新列时,最好为该新列定义一个默认值或者设定该列允许为空,否则系统将产生一个错误。
5.简述主键与外键之间的关系。
外键与主键列的数据类型必须匹配,列长度应当相等,列名可以相同也可以不同。
当主键的列值被更新时,与之相关联的表的外键列值也将被做相应的更新。
当向外键的表中插入数据时,若外键值在与之相关联的表的主键列中不存在时,系统会拒绝插入数据。
第6章习题
1.如果想在一个查询中连接多个表(假设是N个),共需要N-1个连接条件。
2.可以使用_Transact-SQL语句_或企业管理器来定义索引。
索引分为_聚簇索引和非聚簇索引两大类。
其中,在聚簇索引中,行的物理存储顺序与索引顺序完全相同。
4.嵌套查询分为不相关子查询和相关子查询两类,在不相关子查询中,子查询只执行一次。
5.一个表上可以建立一个聚簇索引。
6.视图是一个虚表,它是从基本表或其它视图中导出的表。
在数据库中,只存放视图的定义,不存放视图的对应的数据。
7.删除表的定义以及表中的数据和此表上的索引,应该使用的语句是DROPTABLE。
1.以下关于索引的正确叙述是(B)
A.使用索引可以提高数据查询速度和数据更新速度
B.使用索引可以提高数据查询速度,但会降低数据更新速度
C.使用索引可以提高数据查询速度,对数据更新速度没有影响
D.使用索引对数据查询速度和数据更新速度均没有影响
2.对视图的描述下列哪个是不正确的(B)
A.视图是从一个或几个基本表(或视图)导出的表。
B.可以通过任意视图进行数据的更新操作。
C.对视图所做的各种操作,都要转化为对基本表的操作
D.可以象对基本表一样对视图进行查询操作。
3.数据库中只存放视图的(C)
A.操作B.对应的数据C.定义D.限制
4.为了提高查询速度,对订单明细表创建唯一索引,应该创建在哪个(组)属性上?
(A)
A.(order_cd,product_cd)B.order_cdC.order_cdD.quantity
5.为了考虑安全性,每个客户只能查询自己的订货信息,为此数据库管理员应该考虑建立(A)
A.视图B.索引C.游标D.表
6.部分匹配查询中有关通配符“_”的正确的叙述是(D)
A.“_”代表多个字符B.“_”可以代表零个或多个字符
C.“_”不能与“%”一同使用D.“_”代表一个字符
7.在SELECT语句中,以下有关ORDERBY子句的叙述中不正确的是(C)
A.ORDERBY子句可以对多个列进行排序
B.SELECT语句中,ORDERBY只能在所有其它子句之后作为最后一个子句出现
C.子查询中也可以使用ORDERBY子句
D.在视图中不能使用ORDERBY子句
8.在分组检索中,要去掉不满足条件的分组和不满足条件的记录,应当(D)
A.使用WHERE子句B.先使用HAVING子句,再使用WHERE子句
C.使用HAVING子句D.先使用WHERE子句,再使用HAVING子句
第9-10题基于学生-课程数据库中的三个基本表:
学生信息表:
s(sno,sname,sex,age,dept)主码为sno
课程信息表:
c(cno,cname,teacher)主码为cno
学生选课信息表:
sc(sno,cno,grade)主码为(sno,cno)
9.“从学生选课信息表中找出无成绩的元组”的SQL语句是(C)
A.SELECT*FROMscWHEREgrade=NULL
B.SELECT*FROMscWHEREgradeIS‘’
C.SELECT*FROMscWHEREgradeISNULL
D.SELECT*FROMscWHEREgrade=‘’
10.在“查询选修课程号为4,且成绩在80分以上的所有学生的学号和姓名”的SQL语句中,将使用的表是(D)
A.学生信息表S
B.学生信息表S和课程信息表C
C.学生信息表S、课程信息表C和学生选课信息表SC
D.学生信息表S和学生选课信息表SC
1.任何人都可以对表建立索引。
2.如果在视图定义中使用了WITHCHECKOPTION子句,则所有在视图上执行的数据修改语句都必须符合定义视图的SELECT语句中所设定的条件。
3.不能通过视图修改那些通过计算得到的字段。
4.可以通过DROPVIEW同时删除视图v2_products和v1_customers。
5.Transact-SQL不直接支持交操作和差操作。
四、操作题
1.用Transact-SQL命令为表订单(orders)中的列“订单编号”建立索引。
CREATEINDEXidx_order_cdONorders(order_cd)
2.用连接查询方式查询“东风电力有限公司”订购的“电器类”商品的商品名称、订货日期和交货地点。
SELECTproduct_nm,ORDER_DT,CITYFROMorders,categories,customers,products
WHEREorders.product_cd=products.product_cdAND
orders.customer_cd=customers.customer_cdAND
products.category_cd=categories.category_cdAND
customer_nm='
东风电力有限公司'
ANDcategory_nm='
电器'
;
3.用JOIN查询方式查询都有哪些客户订购了“日常用品类”商品的客户名称、订单编号和交货日期。
SELECTcustomer_nm,orders.order_cd,order_dtFROMcustomers
JOINordersONorders.customer_cd=customers.customer_cd
JOINdetailsONorders.order_cd=details.order_cd
JOINproductsONdetails.product_cd=products.product_cd
JOINcategoriesONproducts.category_cd=categories.category_cd
WHEREcategory_nm='
日常用品'
4.创建一个视图,视图中包括所有在上海交货的商品名称、价格、订单编号和数量。
CREATEVIEWv_shanghaiAS
(SELECTproduct_nm,price,order_cd,quantityFROMproducts,details,orders
WHEREproducts.product_cd=details.product_cd
ANDdetails.order_cd=orders.order_cd
ANDcity='
上海'
)
5.删除上题中创建的视图。
DROPVIEWv_shanghai;
6.查询每个客户订购的各种商品数量。
SELECTcustomer_cd,product_cd,SUM(quantity)FROMorders,details
WHEREorders.order_cd=details.order_cdGROUPBYcustomer_cd,product_cd;
(1)在查询分析器中用Insertinto命令向Course表中插入一个元组(’00009’,’09’,’系统分析与设计’,’’,3,54,’00004’,’五年级’)能否执行成功,为什么?
不能执行成功。
因为违反了参照完整性规则,新插入的元组中的课程类别代码CTno的值为‘09’,但课程类别表中没有CTno是‘09’的课程类别信息。
(2)在企业管理器中通过“修改表结构”的方式删除CTno上建立的外键约束,再向Course表中插入一个元组(’00009’,’09’,’系统分析与设计’,’’,3,54,’00004’,’五年级’)能否执行成功,为什么?
能够执行成功。
因为课程表的CTno属性上的外码删除掉了,系统不会检查课程表中的CTno属性上的值是否违反了参照完整性规则,因为只有建立外码后数据库管理系统才会检查外码属性的值是否违反了参照完整性规则。
(3)重新将Course表的CTno建立为外码然后保存该修改,能否执行成功,为什么?
因为课程表中的CTno属性上有违反参照完整性规则的值(‘09’)存在,而课程类别表中没有CTno是‘09’的课程类别信息。
,
(4)查看所有教师的信息;
SELECT*FROMTEACHER;
(5)查询所有教师的姓名和年薪,并且将输出结果中的列名显示为“姓名”、“年薪”、“币种单位”,其中币种单位的值为“元”;
SELECTTNAME,12*SALAS年薪,‘元’as币种单位FROMTEACHER;
(6)通过以下两组SQL语句,看结果有何区别;
SELECTSNOFROMSC;
该查询结果中没有去掉重复的行
S