逻辑与物理数据模型
在讨论逻辑数据模型和物理数据模型之间的区别之前,我们必须知道什么是数据模型。数据模型是一种表示,用于描述某个流程的数据及其之间的关系。数据模型是数据库设计过程中使用的重要组件。逻辑数据模型是一个非常抽象和高级的数据视图,在这里可以识别实体、关系和键。它独立于数据库管理系统(DBMS)。物理数据模型是从逻辑数据模型派生出来的,在逻辑数据模型中,表和列是如何构成实际物理数据库的。因此,物理数据模型依赖于所使用的数据库管理系统。
什么是逻辑数据模型(logical data model)?
逻辑数据模型在非常高的层次上详细描述了数据和关系。这不包括如何在数据库中物理地表示数据,而是在非常抽象的级别上进行描述。它基本上包括实体以及它们之间的关系以及每个实体的属性。
逻辑数据模型包括每个实体的主键和外键。创建逻辑数据模型时,首先用键标识实体及其关系。然后识别每个实体的属性。之后,多对多的关系被解决并完成规范化。逻辑数据模型独立于数据库管理系统,因为它不描述真实数据库的物理结构。在设计逻辑数据模型时,实体和属性可以使用非形式的长名称。
什么是物理数据模型(physical data model)?
物理数据模型描述数据如何真正驻留在数据库中。它包括所有表和其中的列的规范。表规范包括表名、列数等详细信息,列规范包括列名和数据类型。物理数据模型还包含每个表的主键,并且使用外键显示表之间的关系。此外,物理数据模型包含应用于数据和组件(如触发器和存储过程)的约束。
物理数据模型取决于使用的数据库管理系统。因此,MySQL的物理数据模型不同于为Oracle绘制的数据模型。在逻辑数据模型之外创建物理数据模型时,首先将实体转换为表。然后关系ae转换为外键约束。然后属性转换为每个表的列。
符合逻辑的(logical)和物理数据模型(physical data model)的区别
•物理数据模型描述了数据库的物理结构。逻辑数据模型是不描述数据库物理结构的高级模型。
•物理数据模型取决于使用的数据库管理系统。但是,逻辑数据模型独立于所使用的数据库管理系统。
•逻辑数据模型包括实体、属性、关系和键。物理数据模型包括表、列、数据类型、主键和外键约束、触发器和存储过程。
•在逻辑数据模型中,实体和属性使用长的非正式名称。但是,在物理数据中,表名和列名使用缩写的正式名称。
•逻辑数据模型首先来自描述。然后只导出物理数据模型。
•逻辑数据模型规范化为第四范式。为了满足需求,需要对物理数据库模型进行变形。
小结: