架构和数据字典有什么区别?

时间:2010-06-25 02:06:27

标签: rdbms

模式的定义是数据库中数据的逻辑结构。它由用户拥有,并且与数据库用户具有相同的名称。模式包含表的名称,它的列类型等。数据字典也只包含元数据(在数据库级别而不是在用户级别)。架构和数据字典之间的确切区别是什么?

2 个答案:

答案 0 :(得分:8)

这些定义来自我的经验(程序员20年以上,7年咨询,有时作为独立承包商)。 YMMV。

“架构”描述了结构。它可能包含描述结构方面的元数据。

“数据字典”将 context 与结构元素相关联。它还可能包含描述关系方面的元数据。

例如,“人”可能由通常的字段描述 - last_name,first_name,honorific等。如果与另一个人 - 父亲,丈夫等有关系 - 这些值可能被视为“架构数据”因为关系受到特定值的约束。

“人”是“学生”或“教师”或“囚犯”等 - 由特定系统的数据字典定义。

答案 1 :(得分:4)

通常“架构”的意思是“在RDBMS内部”。这通常意味着一些技术上的最小也许补充一个“评论”字段。

数据字典通常表示“在RDBMS之外”。这通常意味着一些更大,更复杂的结构,不仅限于RDBMS表/列技术。

如果你有一个特定模式的两个具体例子(例如Oracle)和一个可以比较的特定数据字典,那么你就会有“确切”的差异。