关系数据库中的空值

时间:2016-11-20 18:28:20

标签: postgresql null relational-database

我是PostgreSQL的新手(还在学习) 我正在尝试为场地创建关系数据库。 在我的表格中(仍在UNF中),我有权存储客户的姓名,电话,电子邮件。 问题是客户端可能会给他2或1个信息。所以我总是有空值。 有时我可以获得所有客户端的值(对于3属性) 我如何在规范化过程中处理这个问题? 我是否需要以其他关系分隔表格。如果是这样,3关系不是太多了?

1 个答案:

答案 0 :(得分:2)

对于应该存在一次的每个属性,请使用主表中的列。 “应该”表示它可能也缺失/未知。那就是NULL值。如果属性必须,请定义列NOT NULL

可以存在多个不同实例的属性,特别是如果最大数量不确定,则以一对多关系创建单独的表。

可以在主表的许多行中使用的存储(非平凡)属性,在多对一关系的单独表中。

可以在任意一方多次链接的属性最好以多对多关系实现。

使用foreign key constraints强制执行参照完整性。

它并不像现实那么复杂,但重点是要建立一个能够跟上现实的逻辑上有效的模型。

阅读有关database normalization的基础知识。

详细的代码示例,包含n:m关系的说明和链接: