我目前正在根据两本流行书籍、在线教程和文章学习(关系)数据库设计。
有些地方,当他们谈论属性约束时,他们称之为属性域。其他一些地方,当他们谈论属性规范时,他们称之为Field specification。
然而,在其他一些地方,他们说它们是相同的,但在我看来属性域是字段规范的一部分,因为根据定义,属性域听起来像字段规范的物理元素部分:
物理元素:数据类型、长度、小数位、字符支持、输入掩码、显示格式
现在是什么情况?
我目前正在根据两本流行书籍、在线教程和文章学习(关系)数据库设计。
有些地方,当他们谈论属性约束时,他们称之为属性域。其他一些地方,当他们谈论属性规范时,他们称之为Field specification。
然而,在其他一些地方,他们说它们是相同的,但在我看来属性域是字段规范的一部分,因为根据定义,属性域听起来像字段规范的物理元素部分:
物理元素:数据类型、长度、小数位、字符支持、输入掩码、显示格式
现在是什么情况?
属性域定义了逻辑模型级别的属性可接受值的范围,例如“表示人名的任意字符串”、“非负整数”、“布尔值(真或假)”等。
列规范定义了数据库列的 SQL 属性,该列用于在 SQL 数据库中存储相应的属性值(即在物理模型级别)。有时它们比属性规范更严格,例如,您必须指定字符列的最大长度,尽管属性域可能没有规定)。
INTEGER
有时它们的限制较少,例如,您不能在没有附加约束的情况下用 SQL 数据类型表示“非负整数” 。某些列规范,例如输入掩码或显示格式,与域规范完全无关,仅作为相关应用程序的技术实现细节存在。在讨论关系数据库时,我不喜欢使用术语“字段”。关系表有行和列。互换使用“字段”和“列”通常会造成混淆。用户界面的输入元素或顺序文件记录的组件可以称为“字段”。