1 / 14

2.2 关系模型

2.2 关系模型. 2.2.1  关系数据结构 2.2.2  关系操作 2.2.3  关系完整性规则. 2.2 关系模型. 关系模型有三个重要组成部分:关系数据结构、关系操作集合和关系完整性规则。 (1) 关系数据结构: 数据库中全部数据及其相互联系都被组织成“关系”(二维表)的形式。关系模型基本的数据结构是关系。 (2) 关系操作集合: 关系模型提供一组完备的高级关系运算,以支持对数据库的各种操作。 (3) 关系完整性规则: 数据库中数据必须满足实体完整性、参照完整性和用户定义完整性三类完整性规则。. 关系模型术语. 一般术语. 字段、数据项. 属性.

emera
Download Presentation

2.2 关系模型

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2.2 关系模型 • 2.2.1 关系数据结构 • 2.2.2 关系操作 • 2.2.3 关系完整性规则

  2. 2.2 关系模型 • 关系模型有三个重要组成部分:关系数据结构、关系操作集合和关系完整性规则。 • (1) 关系数据结构:数据库中全部数据及其相互联系都被组织成“关系”(二维表)的形式。关系模型基本的数据结构是关系。 • (2) 关系操作集合:关系模型提供一组完备的高级关系运算,以支持对数据库的各种操作。 • (3) 关系完整性规则:数据库中数据必须满足实体完整性、参照完整性和用户定义完整性三类完整性规则。

  3. 关系模型术语 一般术语 字段、数据项 属性 A B a1 b1 a2 b2 a3 b3 a4 b4 记录类型 关系模式 记录1 元组1 关系 (实例) 记录2 元组2 文件 元组3 记录3 记录4 元组4 属性值 字段值 图2.1 关系模型术语 2.2.1 关系数据结构 • 1. 二维表 • 在用户观点下,关系模型中数据的逻辑结构是一张二维表。表2.1给出了二维表的一个实例。 • 为简单起见,对表格数学化,用字母表示表格的内容。表2.1可以用图2.1所示的表格形式表示。

  4. 2.2.1 关系数据结构 • 以二维表为基本结构所建立的模型称为关系模型(relational model)。在关系模型中,字段称为属性(attribute),字段值称为属性值。每个属性有一个取值范围,称为值域(domain)。每一个属性对应一个值域,不同的属性可对应于同一值域。 • 记录类型称为关系模式。记录称为元组(tuple),元组的集合称为关系(relation)或实例(instance)。有时,也习惯称关系为表或表格,元组为行,属性为列。虽然这些术语所用的名词不同,但指同一个事物,故有时可混合使用。 • 关系中属性的个数为元数(arity),元组个数为基数(cardinality)。上页图2.1的关系元数为2,基数为4。

  5. 2.2.1 关系数据结构 • 二维表一般满足下面7个性质: • (1)二维表中元组个数是有限的——元组个数有限性。 • (2)二维表中元组均不相同——元组的唯一性。 • (3)二维表中元组的次序可以任意交换——元组的次序无关性。 • (4)二维表中元组的分量是不可分割的基本数据项——元组分量的原子性。 • (5)二维表中属性名各不相同——属性名唯一性。 • (6)二维表中属性与次序无关,可任意交换——属性的次序无关性。 • (7)二维表属性列中分量具有与该属性相同的值域——分量值域的同一性。

  6. 2.2.1 关系数据结构 • 2. 码 • 码是关系模型中的一个重要概念,它具有标识元组、建立元组间联系等重要作用。 • (1)码(key):在二维表中凡能最小唯一标识元组的属性集称为该表的码或关键字。 • (2)候选码(candidate key):二维表中可能有若干个码,它们称为该表的候选码或候选关键字。 • (3)主码(primary key):用户选作元组标识的候选码称为主码或主关键字。一般主码也简称码。 • (4)外码(foreign key):如果表A中的某属性集是表B的码,则称该属性集为A的外码或外关键字。 • 有如下两个关系Xsdjb(学生登记表)和Xyqkb(学院情况表): • Xsdjb(学号Xh,姓名Xm,性别Xb,年龄Nl,学院编号Xybh) • Xyqkb(学院编号Xybh,学院名称Xymc,院长姓名Yzxm,联系电话Lxdh) • 其中学院编号Xybh是关系Xyqkb的主码,是关系Xsdjb的外码。

  7. 2.2.1 关系数据结构 • 3. 关系 • (1)关系的定义关系是二维表的一种抽象,是一组属性数目相同的元组的集合。 • 这个定义把关系看成了一个集合。集合中的元素是元组,每个元组的属性数目应该是相同的。 • (2)关系的分类按照不同的标准,关系有不同的分类。 • ① 按属性分。具有n个属性的关系称为n元关系。n=0时称空关系。 • ② 按元组数目分。如果一个关系的元组数目是无限的,则称为无限关系,否则称为有限关系。由于计算机存储系统的限制,通常我们只研究有限关系。

  8. 2.2.1 关系数据结构 • ③按关系的存储状况分。 •   基本表:基本表是实际存在的表,它是实际存储的数据的逻辑表示。 •  查询表:查询表是查询结果表或查询中生成的临时表。 •     视图表:视图表是由基本表或其他视图表导出的表,它是为了数据查询方便、数据处理简便以及数据安全要求而设计的数据虚表,不对应实际存储的数据。

  9. 2.2.2 关系操作 • 关系模型的数据操作采用集合操作方式,即操作对象和结果都是集合。这种操作方式也称为一次一集合(set-at-a-time)的方式。关系模型常用的操作有查询、删除、插入、修改等操作。 • 1. 数据查询 用户可以查询关系数据库中的数据,它包括一个关系内的查询以及多个关系间的查询。 • 对关系数据库的查询可以分解成三个基本定位操作与一个查询操作:一个关系内的属性指定,一个关系内的元组选择,两个关系的合并,查询操作。 • 2. 数据删除 数据删除的基本单位是元组。它的功能是将指定关系内的指定元组删除。它可以分解为两个基本操作:一个关系内的元组选择,关系中元组删除操作。

  10. 2.2.2 关系操作 • 3. 数据插入 数据插入仅对一个关系而言,在指定关系中插入一个或多个元组。它只有一个基本操作:关系中元组插入操作。 • 4. 数据修改 数据修改是在一个关系中修改指定的元组与属性值。它可以分解为两个更基本的操作:先删除需修改的元组,再插入修改后的元组。

  11. 2.2.3 关系完整性规则 • 为了维护数据库中数据与现实的一致性,关系数据库的数据与更新操作必须遵循下列三类完整性规则。事实上,它是对主码、主码与外码的关系以及用户对数据的约束要求。 • 1. 实体完整性规则(entity integrity rule) • 规则2.1若属性A是基本关系R的主属性,则属性A不能取空值。 • 例2-1在关系单位编码表Dwbmb(单位编码Dwbm, 单位名称Dwmc)中,单位编码为主码,则单位编码不能取空值。 • 实体完整性规则规定基本关系的所有主属性不能取空值。如例2-2。 • 例2-2每月物资库存表Months_wzkcb(日期Rq, 物资编码Wzbm, 价格Price)中,(Rq, Wzbm)为主码,则Rq, Wzbm都不能为空。 • 现实世界中的实体是可区分的,它们具有某种唯一性标识。相应地,关系模型中以主码作为元组的唯一性标识。这条规则要求关系中主码不能为空,即保证了关系模型元组的唯一性。

  12. 2.2.3 关系完整性规则 • 2. 参照完整性规则(reference integrity rule) • 规则2.2若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的取值只允许两种可能,或者为空值(F的每个属性值均为空值),或者等于S中某个元组的主码值。 • 例2-3物资编码表和物资入库表之间的联系可以用下面2个关系表示: • Wzbmb(物资编码Wzbm, 物资名称Wzmc, 型号规格Xhgg, 计量单位Jldw, 价格Price) • Wzrkb(日期Rq, 物资编码Wzbm, 购买量Gms, 实际入库量Srs, 价格Price, 入库人Rkr) • 这两个关系之间存在着属性的引用,物资入库表引用了物资编码表的主码“Wzbm”。显然,物资入库表中的“Wzbm”必须是物资编码表中存在的物资编码。但由于物资入库表中的“Wzbm”和“Rq”为主码,物资入库表中的“Wzbm”不可以取空值。

  13. 2.2.3 关系完整性规则 • 现实世界中的实体之间往往存在某种联系,在关系模型中,实体及实体间的联系都是用关系来描述的。这样自然存在着关系与关系间的引用关系。参照完整性规则就是定义外码与主码之间的引用规则。这条规则的实质是“不允许引用不存在的实体”。 • 在上述形式定义中,关系模式Wzbmb的关系称为“参照关系”,关系模式Wzrkb的关系称为“依赖关系”。在PowerBuilder系统中称为“主表”和“副表”,在Visual FoxPro系统中称为“父表”和“子表”。

  14. 2.2.3 关系完整性规则 • 3. 用户定义的完整性规则(user-defined integrity rule) • 实体完整性规则和参照完整性规则适用于任何关系数据库系统。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。用户定义的完整性规则就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。比如,某一种物资的价格定义为4位整数,若范围还太大,我们则可以用如下规则把价格限制在3000—7000之间: • CHECK(PRICE BETWEEN 3000 AND 7000)。

More Related