数据模型(对现实世界特征的抽象/显示世界的模拟/数据库的核心与基础)
三方面要求:
能比较真实地模拟现实世界
容易为人所理解
便于在计算机上实现
分类:
概念模型
逻辑模型
物理模型
数据模型的层次结构(以数据库系统开发流程角度):
实体联系模型(E—R模型)
用E—R图来描述现实世界的概念模型
E—R图绘制
实体集:用矩形表示,框内写明实体名。
属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。
联系:用菱形表示,菱形框内写明联系名,并用无向边分别于有关实体连接起来,同时在无向边旁表上联系的类型(1:1、1:n或m : n)。
联系也可以有属性。如果一个联系有属性,则这些属性也要用无向边与该联系连接起来。
例子:
逻辑模型
1.层次模型
记录之间的联系通过指针实现,查询效率高,但只能表示1:N的联系。
优点
数据结构比较简单清晰
查询效率高,性能优于关系模型,不低于网状模型
提供了良好的完整性支持
缺点
节点间多对多联系不自然
对插入和删除操作的限制多,应用程序的编写比较复杂
查询子女节点必须通过双亲节点
层次趋于程序化
2. 网状模型
记录之间的联系通过指针实现,M:N联系容易实现,查询效率高,但编写应用程序较复杂,程序员必须熟悉数据库的逻辑结构。
与层次模型的关系:层次模型是网状模型的特殊形式,网状模型是层次模型的一般形式。
优点:
能够更为直接地描述现实世界,如一个结点可以有多个双亲。
具有良好的性能,存取效率较高。
缺点:
结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。
数据定义语言(DDL)极其复杂。
数据独立性差。记录之间联系是通过存取路径实现的,用户必须了解系统结构的细节。
3.关系模型
4.面向对象数据模型
5.半结构化数据模型
。。。