一、数据模型
以下概念在一些教科书中都会有讲到,比如:《数据库原理与应用》。这里作了一下总结。
1.1、概念
模型,是对现实世界的抽象,数据模型,就是描述数据结构(静态特征)、数据操作(动态特征)、数据完整性(动静交互的约束)的概念的集合。而数据模型也是数据库管理系统(DBMS)的核心和基础,各种DBMS软件的实现都是基于数据模型的。
1.2、分类
数据模型可分为两种:概念数据模型、结构数据模型。
(1)概念数据模型,是面向现象世界的数据模型,它独立于计算机系统和DBMS;
常用的概念模型有:E-R模型、面向对象模型等。但DBMS发展至今,主流的仍然是关系型数据库,所以目前对于概念模型的设计依旧是使用E-R模型为主。
也许哪天面向对象型数据库成为主流,那我们的概念模型设计就也可以采用面向对象的方法了。其实ER模型就是面向对象模型的雏形,面向对象模型一定程度上是从ER模型演变过来的。
(2)结构数据模型,是面向数据库的数据模型,又可分为逻辑数据模型(逻辑结构)、物理数据模型(物理结构);
逻辑数据模型:这是用户在DBMS中看到的模型。DBMS的逻辑模型先后经历了层状模型(树状模型)、网状模型、关系模型,以及现在发展中的面向对象模型,之所以关系型经久不衰,就是因为它简单的逻辑结构:表,无论是设计、维护都比较容易,尽管在处理效率上略次于前两者。面向对象模型虽然结构清晰、设计方便,但查询功能太弱,因此在DBMS中暂还没有取代关系模型的地位;
物理数据模型:是指数据在存储介质上的组织结构,它与相应的DBMS及OS相关,通常不需要手动去管理,而是通过用户在DBMS中指定存储的方式,由DBMS自动完成在相应OS上的存储结构。
上面数据模型的三种分类,也正是数据从现实世界到计算机世界的具体表示所要经历的过程,无论DBMS的发展如何,这个过程是不会改变的。
相应的,数据库设计可分为以下三步:
(1)概念结构设计:利用概念模型对现实世界进行抽象;
(2)逻辑结构设计:将概念模型转化为逻辑模型,也就是将对现实世界的抽象转化为计算机上DBMS