有关数据模型的解释

时间:2014-01-15 19:58:22

标签: database-design data-modeling

提供数据模型(逻辑1)(例如数据仓库)的核心要素是什么。关系,属性,它是如何工作的?什么是没用的?

我正在尝试收集有关该主题的一些信息。

2 个答案:

答案 0 :(得分:3)

首先,您必须开始意识到CONCEPTUAL模型和LOGICAL模型之间存在差异。

CONCEPTUAL模型可以以ERD,UML类图或各种其他建模/绘图技术的形式绘制。这些模型几乎总是不完整的,这是故意的,因为这些模型仅用于突出显示系统某些方面的特定目的。

LOGICAL模型是完整的枚举:

(a)数据库中所有表的完整逻辑结构,PLUS
(b)管理该逻辑数据结构的所有约束的正式定义。

“完整逻辑结构”包括:表的名称,以及所有属性定义(名称+数据类型) “所有约束”包括:表的关键约束,表之间的外键约束,PLUS适用于模型的所有其他业务规则,但不适合前两个类别。

根据这个定义的逻辑模型几乎没有在任何地方拼写出来,所以我认为我很安全,假设你实际上并不是在谈论LOGICAL模型,而是使用CONCEPTUAL模型。

答案是:包含或排除内容,具体取决于您希望向观众传达的内容。如果包含属性的数据类型,则包括数据类型。如果没有,请将它们排除在外。如果某个表格在您想要告诉观众的故事中没有任何作用,请将其删除(当然还有它的关系)。如果关系基数在您的故事/观众中很重要,请加入它们。否则,请将它们留下。等等。

答案 1 :(得分:-1)

OP问道,

  

提供数据模型的核心要素是什么?   (逻辑一)

逻辑数据模型中应包含哪些内容

与仅讨论高级数据结构的概念数据模型不同,逻辑数据模型(LDM)应包括:

  • entities(表格)
  • 的名称
  • Attributes(列/字段)在entities
  • 中定义 {li> relationships(或键)entities

关系应该包括链接的cardinality;即,它应明确指定实体之间的one-to-oneone-or-zero-ton-oneone-to-many等关系。

此外,您需要确保在数据模型中保持所需的标准化级别(2NF,3NF,4NF等)。预期的规范化级别在很大程度上取决于数据模型的用途(例如 OLTP Vs OLAP )。但无论如何,你的LDM应该反映它。

使用实体的商家名称&属性并确保您的模型独立于技术平台。

  

什么是没用的?

LDM中不需要包含的内容

以下内容不应包含在LDM中,因为PDM或物理数据模型是指定这些内容的更好位置:

  • 数据类型构造(例如,平台特定构造,例如 nvarchar varchar2
  • 表格上的索引
  • 表中分区的详细信息
  • 约束(检查约束等)

显然没有严格的规则,具体取决于你可能需要调整它们的情况。