数据库系统与应用课后习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章关系数据模型
1.试述数据模型的概念、作用及三个要素。
答:数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特征、动态特征和完整性约束条件。
数据模型的目的是为了表示数据并使数据容易理解,它是对现实世界数据特征的抽象。
一般地,一个数据库的基本数据模型至少必须包含以下三个组成部分:数据结构、数据操作和完整性约束。
1)数据结构
是指所研究的对象类型的集合。这些对象是数据库的组成成分。
2)数据操作
数据操作是指对数据库中各种对象的实例允许执行的操作集合,包括操作和有关的操作规则。
数据结构是对系统静态时特性的描述;数据操作时对系统动态特性的描述。
3)数据的完整性约束条件
数据的完整性约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
2.试述各种数据模型的优缺点。
答:层次模型优点:
1)概念简单、层次清晰,易于理解;
2)数据库的安全性是由DBMS提供并保证的;
3)提供了良好的完整性支持。
4)数据独立,减少了程序编写和维护的工作量。
5)当数据库包含了大量具有1︰M联系的数据,并且用户所要求的大量事务使用联系固定的数据时,层次数据库模型效率非常高。
层次模型缺点:
1)在层次模型中,处理非层次性联系如多对多比较麻烦,只能通过引入冗余结点或虚拟结点来实现
2)缺乏结构独立性,查询子结点必须通过父结点;
3)实现复杂,难于管理。设计人员必须对数据的物理存储特性有非常深入的了解,另外系统对插入和删除有较多限制。
4)缺乏标准。
网状模型优点:
1)概念简单
2)对更多联系类型的处理。M:N 联系在网状数据库模型中比在层次数据模型中更易实现。
3)数据访问的灵活性。一个应用程序可以访问一个首记录和一个系中所有的属记录。
4)提高了数据库的完整性。网状数据库模型加强了数据库的完整性,因为用户必须首先定义首记录,然后才能定义属记录。
5)符合标准。网状数据模型基于由DBTG/CODASYL提出和ANSI.SPARC扩展的通用标准。
6)数据独立。网状数据模型获得了足够的数据独立性,至少在一定程度上将程序从
复杂物理存储细节中隔离开了。 网状模型缺点:
1) 系统复杂性,没有设计成一个对用户友好的系统。
2) 缺乏结构独立性,一旦数据库结构做了改变,所有的应用程序必须重新授权。 3) 用户不容易掌握和使用。 关系模型优点:
1)关系模型结构简单,概念单一,易学易用。无论是实体还是实体间的联系,都用关系--即用二维表表示;
2)关系模型是数学化的模型;
3)关系模型的存取路径对用户是透明的; 关系模型缺点:
1)关系模型的查询效率往往不如非关系模型,必须进行优化,以提高性能,这一定程度上要增加用户的负担,并对用户在数据库的整体知识上有较高的要求;
2)关系模型在处理如计算机辅助设计数据、多媒体数据时就有了局限性,必须要和其他的新技术相结合。
3.解释实体、属性、实体型、实体集、联系、E-R 模型的概念 答:实体:实体是客观世界中存在的且可互相区分的事物。
属性:实体所具有的某种特性。一个实体可以由若干属性来刻画。
实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
实体集:具有同一实体型的集合。
联系:联系表示一个或多个实体之间的关联关系。
E-R 模型:提供了表示实体型、属性和联系的方法。实体型用矩形表示,矩形框内写明实体名; 属性用椭圆形表示,并用无向边将其与相应的实体连接起来;联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型( 1 : 1 , 1 : n 或 m : n )。
5.试给出医院信息管理中三个实际的 E-R 图,要求实体型之间具有一对一、一对多、多对多各种不同的联系。
6.关系数据库中关系的性质
答:① 列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。
科室
管理 负责人
1 1
医生
诊断 患者
m
n
科室 工作 医生
1
n
②不同的列可以出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。
③列的顺序无所谓。
④任意两个元组不能完全相同。
⑤行的顺序无所谓。
⑥分量必须取原子值,即每一个分量必须是不可分的数据项。
7.试述关系模型的三个组成部分。
答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
8.试述关系数据语言的特点和分类。
答:关系数据语言可以分为三类:
关系代数语言。
关系演算语言:元组关系演算语言和域关系演算语言。
SQL:具有关系代数和关系演算双重特点的语言。
这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
9.关系模型的三个组成部分?
答:关系数据结构,关系数据操作,关系完整性约束条件。
10.试述关系模型的完整性约束条件。
关系模型有三类完整性:实体完整性、参照完整性、用户定义的完整性
1)实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。
2)参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码KS相对应(基本关系R和关系S不一定是不同的关系),则对于R中的每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。
3)用户定义的完整性:用户针对某一具体数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
11.试述等值连接与自然连接的区别和联系。
答:连接运算符是“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组。
自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。
12.解释如下术语:
域、笛卡尔积、关系、键、候选键、主键、外键、关系模式。
域:一组具有相同数据类型的值的集合。
笛卡尔积:给定一组域D1,D2,…,Dn,这些域中可以有相同的域。D1,D2,…,Dn的笛卡尔积为:
D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}
其中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple),元组中每一个值di叫作一个