数据库领域的主要逻辑数据模型有层次模型、网格模型、关系模型、面向对象数据模型等,重点介绍了**层次模型、网格模型、关系模型**。 1.1分层模型
分层数据库系统的典型代表是IBM公司的信息管理系统。 层次模型用树形结构表示各实体和实体之间的联系。
满足以下两个条件的基本分层链接的集合是分层模型:1.有且只有一个结点没有双亲结点,这个结点称为根节点;2.根以外的其它结点有且仅有一个双亲结点。
在层次模型中,各节点表示一个记录,记录类型之间的联系用节点之间的联系(有向边)表示,这种联系是父子之间的一对多的联系。
1.1.1层次模型中的数据操作和完整性约束
数据操作:查询、插入、删除、更新
一致性约束:
1. 无相应的双亲结点值就不能插入子女结点值,即上图的根节点R1中没有父节点,下不能插入子节点;
2. 如果删除双亲结点值,则相应的子女结点值也被同时删除,即在上图中删除R2时,R4和R5将同时被删除;
3. 更新操作时,应更新所相应记录,以保持数据的一致性例如,在课程(课程编号、课程名称、平均成绩)、成绩)、课程编号、课程编号、成绩这两个关系中,要修正课程关系中的平均成绩,也需要修正成绩关系中的成绩。
分层模型的基本特征之一是,任一个记录值为只能按其层次路径查看,没有可以脱离父母记录值单独存在的孩子的记录值。
1.2网格模型
网格数据库系统采用网状模型作为数据的组织方式。 典型的代表是DBTG系统。
在数据库中,满足以下两个条件的基本层次联系的集合称为网格模型:
1.允许一个以上的结点无双亲;2.一个结点可以有多余一个的双亲
在网格模型中,作为一种表示多对多联系的方法,直接将多对多联系分解为一对多联系。 例如,在上图中,R1关系可以划分为R1R4和R1R3。
1.2.1数据操作和完整性约束
网格数据库系统对数据操作施加了一些限制,并提供了完整性约束。
http://www.Sina.com/: http://www.Sina.com /
在一个联系中支持父母记录和孩子记录之间的一对多联系
支持父母记录和孩子记录之间的一些限制条件
1.3关系模式
关系数据库系统采用码作为数据的组织方式,1970年美国IBM公司San Jose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型。
从用户的观点来看,关系模型内的数据逻辑结构为唯一标识记录的数据项的集合
1.3.1关系模型的数据结构
关系模型:关系对应于通常所说的表。
一张二维表,它由行和列组成。:表中的一行是元组。
关系(Relation):表中的列是属性,用名称或属性名称命名每个属性。
元组(Tuple):表中的属性组。 唯一标识元组。
属性(Attrubute):属性的可取范围。
码(Key):元组中的属性值。
关系模式:关系的描述,如学生(学号、姓名、年龄、性别、本科、年级) )。
关系的最基本规范条件:域(Domain)
3.3.2相关术语与一般表格术语的比较
1.3.3数据操作和完整性约束
数据操作为分量,关系的每一个分量必须是一个不可分的数据项,不允许表中还有表,即若干元组的集合。 也可以同样地进行查询、插入、删除、更新操作。
集合操作
1.3.4关系模型与非关系模型的比较
1.4层次模型、网格模型和关系模型的优缺点