• 35.60 KB
  • 2022-04-22 11:21:44 发布

陶宏才《数据库原理及设计》第3版课后习题答案.docx

  • 8页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'第一章一、解答题1、解释术语:数据、数据库、数据管理系统、数据库系统、数据库应用系统、视图、数据字典。P19-20数据:是描述现实世界中各种具体事物或抽象概念的、可存储并具有明确意义的信息。数据库:是相互关联的数据集合。数据管理系统:是一个通用的软件系统,由一组计算机程序构成。数据库系统:是一个用户的应用系统得以顺利运行的环境。数据库应用系统:主要指实现业务逻辑的应用程序。视图:指不同的用户对同一数据库的每一种理解称为视图。数据字典:用于存储数据库的一些说明信息的特殊文件。2、简述数据抽象、数据模型及数据模式之间的关系P26数据模型是数据抽象的工具,是数据组织和表示的方式;数据模式是数据抽象利用数据模型,将数据组织起来后得到的结果;总而言之,数据模式是数据抽象的结果。3、DBMS应具备的基本功能有哪些?P9数据独立性、安全性、完整性、故障恢复、并发控制4、数据库中对数据最基本的4种操作是什么?P24增加、删除、修改、查询5、评价数据模型的3个要素是什么?P121)能够真实地描述现实系统2)能够容易为业务用户所理解3)能够容易被计算机实现6、数据模型的3个要素是什么?P24数据结构、数据操作、数据约束7、简述SQL语言的使用方式。P13一般有两种方式:SQL的交互式使用;用户通过开发应用系统与RDBMS交互。8、在数据库设计时,为什么涉及到多种数据模型?P12因为目前商用化DBMS没有一个能够同时满足3项要求,为此,人们不得不走折中路线,设计一些中间的数据模型。9、数据库系统中的用户类型有哪些?P28-29最终用户、数据库应用开发人员、数据库管理员、其他与数据库系统有关的人员。11、简述OLTP与OLAP间的区别。P42-43OLTP(联机事务处理)主要面向日常的业务数据管理,完成用户的事务处理,提高业务处理效率,通常要进行大量的更新操作,同时对响应时间要求比较高。OLAP(联机分析处理)注重数据分析,主要对用户当前及历史数据进行分析,辅助领导决策,通常要进行大量的查询操作,对时间的要求不太严格。二、单项选择题1、(A)不是SQL语言的标准。P156A.SQL-84B.SQL-86C.SQL-89D.SQL-922、(D)数据模型没有被商用DBMS实现。P26A.关系模型B.层次模型C.网状模型D.E-R模型3、(C)不是数据模型应满足的要求。P12A.真实描述现实世界B.用户易理解 C.有相当理论基础D.计算机易实 4、(B)最早使用SQL语言。P156A.DB2B.SystemRC.OracleD.Ingres三、判断题1.一个数据库系统设计中,概念模式只有一个,而外模式则可有多个。(√)P112.每一种DBMS的实现,均是建立在某一种数据模型基础之上。(√)P7二,某学院有基本实体集:系、教师、学生和课程。它们各有属性:¢系:系编号、系名、位置¢课程:课程号、课程名称、开课学期¢学生:学生学号、学生姓名、性别、地址¢教师:员工号、教师姓名、办公室有如下语义设定¢每个系有一位系主任,有多位教师;¢一个教师仅在一个系任职;¢每个系开设多门不同课程;¢每门课程各由多位教师授课;¢一位教师可教多门课程;¢一个学生可以在不同的系选修多门课程。 P90一、简答题1.名词解释(1)实体,实体型,属性,键,联系,联系型,二元联系和三元联系;(P55-58)实体:是现实世界或客观世界中有别于其他对象的对象实体型:是同类实体的集合属性:是实体型的特征或者性质键:具有唯一标识的一个或一组属性联系:是两个或多个的实体间的关联联系型:相似的一组联系二元联系:两个实体间的联系三元联系:三个实体间的联系(2)1:1联系型,1:n联系型和m:n联系型;P59设联系型R关联实体A和B,如果A中的一个实体只与B中的一个实体关联,反过来,B中的一个实体也只与A中的一个实体关联,称R为一对一联系型。(3)键约束和参与约束。P61-62键约束:一个联系R的实例中,一个关联的实体A最多只出现在一个联系实例中;参与约束:是实体和联系之间的约束,即实体型中的实体如何参与到联系中。(4)子类,超类,演绎,归纳和聚集;P67-69将实体分成子类,最上层为超类,下层即为子类;先定义子类,再定义超类,特殊到一般的方法为归纳先定义超类,再定义子类,一般到特殊的方法为演绎将联系和该联系所关联的实体一起作为一个高层实体来对待,该高层实体就是聚集2.简述属性按结构的分类,以及按取值的分类。P55按结构分:简单属性、复合属性、子属性按取值分:单值属性、多值属性、导出属性、空值属性3.一般情况下,联系用什么来唯一标识?P57由所参与实体的键共同唯一确定4.在开发较大型的数据库应用系统中,为什么会涉及到多种数据模型?P53因为目前商用化DBMS没有一个能够同时满足3项要求,为此,人们不得不走折中路线,设计一些中间的数据模型。P1534、SQL-92标准支持的完整性约束是否一定会在SQLServer中实现?举例说明。P99不一定,例如:断言是SQL-92标准支持的,但SQLServer就不支持断言;触发器是SQL-92标准不支持的,但SQLServer支持断言;5、SQLServer中规则的目的。P103当该列值变化时,RDBMS将检查变化的值是否在该规则规定的范围内,如是的,则接 受新列值,否则,拒绝该列值,并返回该列值违反的规则名称及相关信息。6、SQLServer中在定义某些约束时分列级与表级,其分类的原则是什么?针对的是表中的一列还是多列7、简述外键约束定义的条件。P106-107定义外键约束的列,必须是另一个表中的主键或者候选键8、一张表上可定义的触发器个数是多少?P109主表只需2个触发器:‘删除’和‘修改’触发器从表也只需2个触发器:‘插入’和‘修改’触发器9、简述关系代数的基本操作符。P132SELECTION(选择),PROJECTION(投影),UNION(并或者联合),INTERSECTION(交),DIFFERENCE(差),CROSSPRODUCT(积)10、关系代数中对结果有重复元组时,如何处理?P134去掉重复元组,SQL中用DISTINCT11、简述联结的分类。P137条件联结(conditionjoin)、等联结(equijoin)自然联结(naturaljoin)、外联结(outerjoin)12、简述关系运算的种类。P148TRC(tuplerelationalcalculus)元组关系运算DRC(domainrelationalcalculus)域关系运算四、设有如下3个关系:S(Sid(学号),Sname(姓名),Age(年龄),Sex(性别))SC(Sid(学号),Cid(课程号),Score(成绩))C(Cid(课程号),Cname(课程名),Teacher(教师))试用关系代数式表达下列查询,并且写出前4个的SQL查询语句:1、检索LIU老师所授课程的课程号和课程名。selectCid,CnamefromCwhereTeacher=‘LIU’2、检索年龄大于23岁的男学生的学号和姓名。selectSid,SnamefromSwhereAge>23andSex=‘male’3、检索学号为S3学生所学课程的课程名与任课教师名。selectC.Cname,C.TeacherfromC,SCwhereC.Cid=SC.CidandS.Sid=‘S3’4、检索至少选修LIU老师所授课程中一门课的女学生的姓名。selectSnamefromSwhereSidin(selectSidfromSCwhereCidin(selectCidfromCwhereTeacher=‘LIU’)) S(Sid(学号),Sname(姓名),Age(年龄),Sex(性别))SC(Sid(学号),Cid(课程号),Score(成绩))C(Cid(课程号),Cname(课程名),Teacher(教师))P2151、简述SQL语言的使用方式。P13一般有两种方式:SQL的交互式使用;用户通过开发应用系统与RDBMS交互。2、完整的SQL包括哪三个子语言分类?P157数据定义子语言(DDL)、数据操纵子语言(DML)、数据控制子语言(DCL)3、简述SQL语言中定义的数据库与第一章中的数据库概念之异同。P159SQL语言定义的是指存储空间,用于存放相关数据集合,这个是理论概念具体化,与第1章的应用概念上的有差别4、简述标准的SQL语言与实际数据库产品中的SQL数据库语言的关系。P157-158绝大多数RDBMS产品不是完全支持SQL-92标准的;RDBMS产品的SQL语言,也有可能是SQL-92中所没有的功能或特性。5、SQL语言对数据库对象的定义使用哪3个SQL命令关键字?P158CREATE(创建),DROP(删除),ALTER(修改)6、简述定义索引的目的。P166-167利用索引,系统可以较快地在磁盘上定位所需数据,从而加快了数据查询速度。8、简述T-SQL中游标的作用。P191既为SQLServer的存储过程、触发器和函数提供了按行处理查询结果集合的途径,也为高级编程语言提供了按行处理查询结果集合的途径。9、简述T-SQL中存储过程的好处。P1941)执行速度快2)可用于实现经常使用的数据操作3)实现较复杂的完整性约束4)可在程序中被反复调用,有助于程序的模块化5)有助于提供安全性6)实现复杂、敏感事务的自动化7)减少网络流量第三章关系数据库系统RDBS一.简答题 1.表间数据完整性的实现方式?⑴外键约束,即在从表上定义外键约束。⑵利用触发器,即主表的触发器维护主表到从表方向的数据完整性,从表的触发器维护从表到主表方向的参照完整性。2.唯一限制的要求?唯一约束针对候选键而言,并且值唯一,允许有且只有一个空值。3.SQL-92标准支持的完整性限制是否一定会在SQLSERVER中实现,举例说明?不一定。比如SOLSERVER不支持“断言”,虽然SOL-92标准是支持的。4.SQLSERVER中规则的目的?指明表中某一列的取值范围。5.SQLSERVER中在定义某些限制时,分列级与表级,其分类的原则是什么?列级方式是:在要定义约束的列本身定义完后,紧接其后定义其约束。表级方式:表中所有的列都定义往后,再定义所要的约束。6.外键限制定义的条件?定义外键的列必须是另一个表中的主键或候选键。7.主键和候选键分别通过什么限制来维护各自的完整性?⑴主表到从表方向,表示“主表”中的主键值在修改或删除是,“从表”中与该主键值相同的外键值可“级联”修改或删除;或者“禁止”“主表”主键值的修改和删除。⑵从表到主表方向,表示“从表”中的外键值在插入和修改时,其值应“参照”“主表”中的主键值。8.关系代数的基本操作符?selection(选择):σprojection(投影):πunion(并)intersection(交)difference(差)cross-product(积)9.关系代数中对结果有重复元组时,如何处理?只保留其中一个,另外的被去掉。10.连接的分类?条件连接连接自然连接外连接:左外连接,右外连接,全外连接 二.单项选择题1.(①)不是关系代数的基本操作。①Selection②Projection③Join④Intersection2.(③)用唯一限制来约束。①主键②外键③候选键④简单键3.(②)与“列”不同义。①字段②元组③域④属性三.判断题(正确打√,错误打×)1.(√)关系代数中的改名操作既可用于改名也可用于存放临时关系模式结果。2.(×)对主表,插入操作可能会违背参照完整性限制,但删除和更新不会。3.(×)等连接是自然连接的特例.4.(√)关系代数是与关系模型有关的查询语言。第四章SQL查询语言一.简答题1.SQL语言的使用方式?既可以独立的交互式使用,也可以通过与宿主语言结合起来,嵌入式使用。2.完整的SQL包括哪三个子语言分类?数据定义子语言DDL、数据操纵子语言DML、数据控制子语言DCL3.SQL语言中定义的数据库与第一章中的数据库概念之异同?SQL语言中定义的数据库:在中/大型数据库系统中,数据库是一个存储空间,用于存放数据库中的数据库对象,包括表、视图、索引、存储过程、触发器、与数据库安全性有关的控制机制以及其它对象等。第一章中的数据库(Database,DB)是相互关联的数据集合。相同点:都包含有对数据进行组织、管理等操作的意思;不同点:SQL语言中定义的“数据库”,是指存在于物理磁盘上的一个存储空间,用于存放相关数据集合;而第一章中的“数据库”,是一个宽泛的概念,可以说它是一种组织、管理数据的手段、方法,也可以说它是一个实际的产品。4.标准的SQL语言与实际数据库产品中的SQL数据库语言的关系? 绝大多数RDBMS产品并不完全支持标准SQL,也就是SQL中的某些功能在实际数据库产品中可能没有得到支持。反过来,实际RDBMS产品的SQL语言,也有可能出现标准SQL中没有出现的功能或特性,也就是商用RDBMS实现了超越了SQL标准的功能和特性,而且这种差异也会在命令和语法上得到体现。1.SQL语言对数据库对象的定义使用哪三个SQL命令关键字?Create(创建)、Alter(修改)、Drop(删除)2.定义索引的目的?定义的索引由谁使用?索引是数据位置信息的关键字表,利用索引,系统可以较快地在磁盘上定位所需数据,而不需要从磁盘上从头到尾或从后向前,一个数据一个数据地匹配和查找,从而加快数据查询的速度。用户不能在取数据时选择索引,索引的选择是由系统自动进行的。也就是索引建立后,有DBMS根据需要自动选择使用。3.在什么情况下,SELECT查询中的ORDERBY子句、COMPUTER和COMPUTERBY子句可以不要?ORDERBY子句为排序而设置、COMPUTER子句为整个结果汇总而设置、COMPUTERBY子句为分组统计而设置。SELECT...INTO不能与COMPUTER一起使用;当用UNION时,各个SELECT语句不能有ORDERBY子句、COMPUTER子句。4.在SELECT查询中,哪三个子句可以实施对数据的过滤或筛选?WHERE用于对FROM子句结果设置过滤条件;GROUPBY用于对WHERE子句的结果分组;HAVING用于对分组数据集合的再筛选。5.触发器在维护表间数据完整性时与外键约束的差别?6.游标的作用?为SQLServer的储存过程,触发器,和函数,也为高级编程语言提供了按行处理查询结果集合的途径。7.使用存储过程的好处?1:可以查看某个(或所有)数据库的相关信息,如不带后面的参数“数据库名”,则表示查看所有数据库的信息,否则表示查看指定的数据库信息。2:可以用来修改数据库名。二.单项选择题1.某WHERE子句中有"X%[^a-f]_[4-8]"串表达,下列(C)可以正确匹配。A.XTa_9B.XTb_8C.XTTTr7D.XSSSe32.视图中的数据来自所基于的(C)。A.列B.行C.表D.自身'