04)DBMS中的关系数据模型:概念、约束及示例
什么是关系数据库04)DBMS中的关系数据模型:概念、约束及⽰例
什么是关系模型?
关系模型(RM)将数据库表⽰为关系的集合。关系不过是⼀张数据值表,表中的每⼀⾏代表⼀组相关数据值。表中的这些⾏表⽰现实世界的实体或关系。
表名和列名有助于解释每⼀⾏中值的含义,数据表⽰为⼀组关系。在关系模型中,数据存储为表。但是,数据的物理存储与逻辑组织数据的⽅式⽆关。
⼀些流⾏的关系数据库管理系统是:
1. DB2和Informix Dynamic Server - IBM
2. Oracle和RDB–Oracle
3. SQL Server和Access - Microsoft
关系模型概念
1.
1. Attribute属性:表格中的每⼀列。属性是定义关系的属性。例如Student:Grade,NAME等。
2. Table表:在关系模型中,关系以表格形式保存,它与对应的数据⼀起存储。⼀个表具有两个属性:⾏和列。⾏代表记录,列代
表属性。
3. Tuple元组:存储在表中的⼀⾏记录。
4. Relation Schema关系模式:关系模式表⽰具有其属性的关系的名称。
5. Degree度:关系中的属性总数,称为关系的度。
6. Cardinality基数:表中存在的总⾏数。
7. Column列:列代表特定属性的值集。
8. Relation Instance关系实例:关系实例是RDBMS系统中元组的有限集合。关系实例永远不会有重复的元组。
9. Relation Key关系键:每⾏都有⼀个、两个或多个属性,称为关系键。
10. Attribute Domain属性域:每个属性都有⼀些预定义的值和范围,称为属性域
关系完整性约束
关系完整性约束是指有效关系必须存在的条件。这些完整性约束是从数据库表⽰的微观世界,总结得到的规则。
完整性约束有很多类型。关系数据库管理系统上的约束主要分为三⼤类:
1.
1. 域约束
2. 主键约束
3. 参照完整性约束
域约束
如果属性值未出现在相应域中或属性值不正确,则可能会违反域约束。
域约束指定在每个元组中,每个属性的值必须唯⼀。这被指定为数据类型,包括标准数据类型整数、实数、字符、布尔值、可变长度字符串等。
例:
Create DOMAIN CustomerName CHECK(value not NULL)
以上⽰例演⽰如何创建⼀个域约束,以使CustomerName不能为NULL。
主键约束
可以唯⼀标识关系中元组的属性称为表的主键。关系中不同元组的主键属性值必须唯⼀。
例:
在给定的表中,客户ID是客户表的关键属性。它最有可能成为⼀个客户的主键,如下,CustomerID = 1仅⽤于CustomerName
=“Google”。
CustomerID CustomerName Status
1Google Active
2Amazon Active
3Apple Inactive
参照完整性约束
引⽤完整性约束基于外键的概念。外键是关系中⼀个重要属性,在其他关系中引⽤。引⽤完整性约束指的是同⼀关系或不同关系中,有引⽤另⼀关系的属性时,该关系中的属性值必须存在于引⽤的关系属性中;如果在此关系属性中不存在该值,则视为违反引⽤完整性约束。
例:
在上⾯的⽰例中,我们有两个关系,客户关系和帐单关系。
客户Bill = 1中两次引⽤了CustomerID = 1的元组。因此我们知道CustomerName = Google的帐单⾦额为$ 300,且在客户表中必须有customerId=1的属性值。
关系模型中的操作
在关系数据库模型上执⾏的四个基本更新操作是插⼊,更新,删除和选择。
1. Insert(插⼊)⽤于将数据插⼊到关系中
2. Delete(删除)⽤于从关系中删除元组。
3. Modify(更新)允许您更改现有元组中某些属性的值。
4. Select(查询)允许您选择特定范围的数据。
⽆论何时应⽤这些操作,都绝不能违反在关系数据库架构上指定的完整性约束。
插⼊操作
插⼊操作为应该插⼊到关系中的新元组提供属性值。
更新操作
您可以在下⾯给出的关系表中看到CustomerName ='Apple'从“inactive”更新为“active”。
删除操作
为了指定删除,关系属性的条件选择要删除的元组。
在上述⽰例中,从表中删除了CustomerName =“Apple”的记录。
如果删除的元组被来⾃同⼀数据库中其他元组的外键引⽤,则Delete操作可能会因为违反引⽤完整性⽽失败。选择操作
在上⾯的⽰例中,选择了CustomerName =“Amazon”的记录。
创建关系模型的最佳实践
1. 数据需要表⽰为关系的集合
2. 每个关系应在表中清楚地说明
3. ⾏应包含有关实体实例的数据
4. 列必须包含有关实体属性的数据
5. 表格的单元格应包含⼀个值
6. 每列应赋予唯⼀的名称
7. 没有两⾏可以相同
8. 属性的值应来⾃同⼀域
使⽤关系模型的优势
1. 简单性:关系数据模型⽐分层模型和⽹络模型更简单。
2. 结构独⽴性:关系数据库仅与数据有关,与结构⽆关。这样可以提⾼模型的性能。
3. 易于使⽤:关系模型很容易,因为由⾏和列组成的表⾮常⾃然并且易于理解。
4. 查询功能:像SQL这样的⾼级查询语⾔可以避免复杂的数据库导航。
5. 数据独⽴性:⽆需更改任何应⽤程序即可更改数据库的结构。
6. 可伸缩:关于记录或⾏数以及字段数,关系数据库很容易扩展以增强其可⽤性。
使⽤关系模型的缺点
1. 有些关系数据库的字段有长度限制。
2. 关系数据库有时会随着数据量的增长⽽变得复杂,并且数据之间的关系也会变得更加复杂。
3. 复杂的关系数据库系统可能导致孤⽴的数据库,在这些数据库中,信息⽆法从⼀个系统共享到另⼀个系统。⼩结
1. 关系数据库模型将数据库表⽰为关系(表)的集合
2. 属性,表,元组,关系模式,度,基数,列,关系实例是关系模型的⼀些重要组成部分。
3. 关系完整性约束是有效关系必须具备的条件。
4. 如果属性值未出现在相应域中或属性值不正确,则可能违反域约束。
5. 插⼊,选择,修改和删除是在关系模型中执⾏的操作。
6. 关系数据库仅与数据有关,与可以改善模型性能的结构⽆关。
7. 关系模型的优点是简单,结构独⽴,易于使⽤,⽀持SQL查询,数据独⽴,可伸缩性。
8. 有些关系数据库对字段的长度有限制。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。