【发布时间】:2010-06-25 02:06:27
【问题描述】:
模式的定义是数据库中数据的逻辑结构。它归用户所有,与数据库用户同名。模式包含表的名称,它的列类型等。数据字典也只包含元数据(当然它是在数据库级别而不是在用户级别)。架构和数据字典之间的确切区别是什么?
【问题讨论】:
-
“精确”是什么意思? “模式”有多个定义,“数据字典”也是如此。
标签: rdbms
模式的定义是数据库中数据的逻辑结构。它归用户所有,与数据库用户同名。模式包含表的名称,它的列类型等。数据字典也只包含元数据(当然它是在数据库级别而不是在用户级别)。架构和数据字典之间的确切区别是什么?
【问题讨论】:
标签: rdbms
这些定义来自我的经验(20 多年的程序员,7 年的咨询经验,一段时间作为独立承包商)。 YMMV。
“架构”描述结构。它可能包括描述结构各个方面的元数据。
“数据字典”将上下文与结构的元素相关联。它还可能包括描述关系各个方面的元数据。
例如,“人”可能由常用字段描述 - 姓氏、名字、尊称等。如果与另一个人有关系 - 父亲、丈夫等 - 这些值可能被视为“模式数据”因为关系受特定值的约束。
“人”是“学生”或“教师”或“囚犯”等 - 由特定系统的数据字典定义。
【讨论】:
通常“模式”表示“在 RDBMS 内部”。这通常意味着一些技术最小值。也许补充了一个“评论”字段。
数据字典通常意味着“在 RDBMS 之外”。这通常意味着一些更大、更复杂的结构,不仅限于 RDBMS 表/列技术。
如果您有两个特定模式的特定示例(例如 Oracle)和一个特定数据字典进行比较,那么您将有一个“完全”的差异。
【讨论】: