数据模型的分类及其组成要素
数据模型通常由数据结构、数据操作和数据完整性约束三要素组成。
关系模型…
① 关系(Relation)。一个关系就是通常所说的一张二维表,即表示一个关系实例。每个关系都有一个关系名。
② 元组(Tuple)。二维表中的一行称为一个元组。许多系统把元组称为记录
③ 属性(Attribute)。二维表中的一列称为一个属性。为了区别表中的不同属性,要给每个属性起一个名称,即属性名,且属性名不能相同。属性有名和值之分
④ 域(Domain)。属性的取值范围称为域。例如,“性别”的域是'男'或'女'
⑤ 分量。元组中的一个属性值称为分量。
⑥ 码(Key)。码,也称为关键字,是值关系的一个属性或多个属性的组合,可以唯一确定关系的一个元组。
⑦ 候选码或候选关键字。如果在一个关系中存在多个属性(或属性组合)都能用来唯一标识该关系中的元组,这些属性(或属性组合)就被称为该关系的候选码或候选关键字
⑧ 主码或主键。在一个关系的若干候选码中,被选定的候选码或候选关键字被称为该关系的主码(Primary Key)或主键。
⑨ 主属性和非主属性。包含在候选码中的属性称为主属性(Prime attribute
⑩ 外键或外码。如果关系 R1 的一个或一组属性不是 R1的主码,而是另一关系 R2 的主码,那么该属性或属性组被称为关系 R1 的外码。
12.关系模式。对关系的描述称为关系模式,是关系的型,通常使用关系名和包含的属性名来表示具体形式为:关系名(属性1,属性 2,属性,, 属性 n)。表 1-2 中的关系模式可以表示为:教师(工号姓名,性别, 职称,工资,出生日期,所在系)。需要强调的是,在关系模型中,实体间的联系也是用关系来表示的。
关系模型的完整性约束条件包含实体完整性、参照完整性和用户定义完整性。
关系模型的优点和缺点
优点:① 建立在严格的数学基础之上。<br>② 概念单一,容易理解;数据结构简单,不论是实体还是实体间的联系,都用关系表示关系操作的原始数据、中间数据及结果数据也用关系表示,使得用户易懂易用。③ 关系的存储路径对用户透明。关系的数据操作是高度非过程化的,用户只需给出查询什么,而不必给出怎么查询,提高了数据的独立性和保密性,简化了程序员的工作。<br>
缺点:<br>查询操作的效率低于非关系模型。为了提高查询效率,需要对用户的查询要求进行优化从而增加了数据库管理系统的开发难度。
其他非关系型数据模型
数据库系统中经常使用的数据模型为层次模型、网状模型、关系模型和面向对象模型。其中,层次模型和网状模型是早期的数据模型,被称为非关系模型。面向对象的方法和技术在计算机各领域的应用也促进了数据库技术面向对象模型的研究和发展。
层次模型
层次模型的基本特点是:任何一个给定的记录值,只有按其路径查看时,才能显示出 它的全部意义,没有一个子女的记录值能够脱离双亲记录值而独立存在。
(2)层次模型的操作和完整性约束层次模型的数据操纵主要有查询、插入、删除和修改,进行插入、删除和修改操作时要满足层次<br>模型的完整性约束条件。① 进行插入操作时,如果没有相应的双亲结点值,就不能插入子女结点值。例如,如某学生没有分配班级,就不能将该学生的信息录入数据库。② 进行删除操作时,如果删除双亲结点值,那么相应的子女结点值也被同时删除。如果删除某班级信息,那么该班级内所有的学生数据也会随之丢失。<br>③ 进行更新操作时,应更新所有相应记录,以保证数据的一致性。
(3)层次模型的优点和缺点层次模型的优点:比较简单,查询效率高,性能优于关系模型、不低于网状模型,提供了良好的完整性支持,最适合实体间联系是固定的且预先定义好的应用系统。<br>层次模型的缺点:插入和删除操作的限制比较多,应用程序的编写比较复杂;查询子女结点必须通过双亲结点;无法直接表示多对多联系等。
网状模型
满足下面两个条件的基本层次联系的集合:① 允许一个以上的结点无双亲;② 一个结点可以有多于一个的双亲。<br>学
网状模型的操作和完整性约束网状模型的操作主要包括査询、插入、删除和更新数据。一般,网状模型没有层次模型那样严格的完整性约束条件,但具体的网状数据库系统对数据操作增加了一些限制,提供了一定的完整性约束① 插入操作中,允许插入尚未确定双亲结点值的子女结点值。② 删除操作允许只删除双亲结点值。③ 更新操作只需要更新指定记录即可。
网状模型的优点和缺点网状模型的优点:可以直接地表示现实世界中的复杂关系;由于实体之间的关系在底层中可以由指针实现,因此具有良好的性能,存取效率高。网状模型的缺点:结构复杂,使用不易,随着应用环境的扩大,数据结构越来越复杂,数据的入、删除涉及的相关数据较多,不利于数据库的维护和重建;数据定义语言和数据操作语言比较复杂用户不易使用;记录之间的联系是通过存取路径实现的,程序员必须了解系统结构的细节,加重了程序员的负担。
面向对象模型
面向对象模型的优点和缺点面向对象模型的优点:能有效地表达客观世界和有效地查询信息,适合处理各种各样的数据类型;开发效率高、可维护性好;能很好地解决应用程序语言和数据库管理系统对数据类型支持不致的问题。<br>面向对象模型的缺点:相关技术还在发展中,尚存在查询语言标准化的问题;理论待完善,还缺少有关面向对象分析的一套清晰的概念模型;目前还不适合所有应用。