数据抽象的过程
模型是对现实世界的抽象。在数据库技术中,我们用数据模型的概念描述数据库的结构和语义,对现实世界的数据进行抽象。
从现实的信息到数据库存储的数据以及用户使用的数据是一个逐步抽象的过程。
根据抽象的级别定义了四种模型:概念模型,逻辑数据模型,外部数据模型,和内部数据模型。
- 概念模型:表达用户需求观点的数据全局逻辑结构
- 逻辑模型:表达计算机实现观点的DB全局逻辑结构的模型
- 外部模型:表达用户使用观点的DB局部逻辑结构的模型
- 内部模型:表达DB物理结构的模型
数据抽象的过程,也就是数据库设计的过程,具体步骤:
- 根据用户需求,设计数据库的概念模型
- 根据转换规则,把概念模型转换成数据库的逻辑模型
- 根据用户的也不特点,设计不同的外部模型,给程序员使用
- 数据库实现时,要根据逻辑模型设计其内部模型。
概念模型
概念模型的抽象级别最高,特点:
- 表达了数据的整体逻辑结构,它是系统用户对整个应用项目涉及的数据的全面描述
- 概念模型是从用户需求的观点出发,对数据建模
- 概念模型对立与软件和硬件。
- 概念模型是数据库设计人员与用户之间进行交流的工具。
ER模型:ER模型只能说明实体间语义的联系,还不能进一步说明详细的数据结构。在数据库设计时,遇到实际问题总是先设计一个ER模型,然后把ER模型转换成计算机能够实现的数据模型。
逻辑模型
特点:
- 表达了DB的整体逻辑结构,但它是设计人员对整个应用项目数据库的全面描述
- 逻辑模型从数据库实现的观点出发,对数据建模。
- 逻辑模型独立于硬件,但是依赖于软件(DBMS)
- 逻辑模型是数据库设计人员与应用程序员之间进行交流的工具。
逻辑模型主要有:层次,网状,关系等三种
层次模型
用树形结构表示实体类型及实体间联系的数据模型称为层次模型
树中的节点是记录类型,上一层记录与下一层记录之间的联系是1:N的关系
特点:
- 记录之间的联系通过指针实现,查询效率较高。
缺点:
- 只能表示1:N联系
- 由于层次顺序的严格和复杂,引起数据的查询和更新操作很复杂,因此应用程序的编写也比较复杂
网状模型
用有向图结构表示实体类型及实体间联系的数据模型称为网状模型。
特点:记录之间的联系通过指针实现,M:N联系也容易实现,查询效率较高。
与文件系统的数据管理方式相比,层次模型和网状模型是一个飞跃,但致命你给的缺点是数据结构复杂和编程复杂。
关系模型
关系模型的主要特征是用二维表格表达实体集。
关系模型和层次,网状模型的最大差别是用关键码而不是用指针导航数据,其表格简单,用户易懂,用户只需用简单的查询语句就可以对数据库进行操作,不涉及存储结构,访问技术等细节,关系模型是数学化的模型哦。
外部模型
在应用系统中,常常是根据业务的特点化划分成若干个业务单位,每一个业务单位都有特定的约束和需求.在实际使用时,可以为不同的业务单位设计不同的外部模型.
外部模型的特点:
- 外部模型是逻辑模型的一个逻辑子集.
- 外部模型独立于硬件,依赖于软件.
- 外部模型反映了用户使用数据库的特定.
内部模型
内部模型又称为物理模型,是数据库最低层的抽象,它描述了在磁盘或磁带上的存储方式,存取设备和存取方法.