【数据库原理】关系数据模型是数据库理论中的核心概念,由E.F.科德(E.F. Codd)在1970年提出。这个模型基于关系理论,为数据提供了单一的表示方式:二维表格,即关系。关系数据模型在实际应用中得到了广泛的认可,催生了第一款关系型数据库管理系统(RDBMS)——System R。如今,最为流行的RDBMS包括DB2、Oracle、Ingres、Sybase和Informix等。
**3.1 关系模型基础**
关系模型的核心是关系,它表现为二维表格形式。表格中的列称为属性(Attributes),用于描述表格中各单元格的含义。例如,一个描述人的关系可能包含"姓名"、"地址"和"电话"等属性。
关系的结构定义被称为模式(Schema),包括关系的名称以及其属性集合。如"Person (Name, Address, Telephone)"就是一个关系模式,表示名为"Person"的关系,包含"Name"、"Address"和"Telephone"三个属性。
关系中的行(不包括头行的属性名)称为元组(Tuples)。关系是元组的集合,且每个元组在关系中是唯一的,不允许重复出现。
每个属性的取值范围称为域(Domains),要求每个元组组件必须是原子性的,即基本类型,如整数或字符串。例如,"Name"属性的域可能是字符串类型,"Address"和"Telephone"也各自有特定的域。
关系的不同列可以重新排列,这不会改变关系的本质,即属性的顺序可以调整而不影响关系的含义。
**3.3 从E/R图到关系设计**
实体-关系(E/R)图是设计数据库的一种方法,它描述了实体、属性以及实体之间的关系。将E/R图转换为关系设计是数据库设计的关键步骤,通过合并实体、联系和属性,可以形成关系模式。
**3.5 函数依赖**
函数依赖(Functional Dependencies)是关系模型中描述数据之间联系的重要概念。如果在关系中,对于一组属性X,其每一个值都能唯一确定另一属性Y的值,那么称X函数决定Y。理解并处理函数依赖有助于确保数据的一致性和完整性。
**3.7 关系数据库模式设计**
设计良好的关系数据库模式至关重要。它涉及到如何有效地组织数据,避免数据冗余和异常,以及满足数据完整性约束。这通常包括对函数依赖的分析,通过范式理论(如第一范式、第二范式、第三范式等)来指导模式的规范化,以提高数据库的性能和可维护性。
**关系实例(Relation Instance)**
关系实例是指在某一时间点,关系的具体内容,即包含了当前数据的元组集合。关系实例是动态变化的,随着数据的增删改,关系实例会随之更新。而关系的模式通常是相对稳定的,不随时间改变。
以"Person"关系实例为例,可能包含如下几行数据:
Person实例1:(John Doe, 123 Main St, 555-1234)
Person实例2:(Jane Smith, 456 Elm St, 555-5678)
总结,本课件涵盖了关系数据模型的基本概念,包括属性、模式、元组、域以及关系实例,同时也提到了从E/R图到关系模式的设计过程,以及函数依赖在设计中的作用。这些知识对于理解和操作关系数据库至关重要。通过深入学习,我们可以更好地设计和管理高效、稳定的数据存储系统。