NULL 或引用现有数据

问题描述

我一直在试图理解这个话题,但我并没有真正理解它,我真的很怀疑我只是坚持下去,没有它我就无处可去。

我知道拆分表格并保持简短是最佳实践,但它并不真正适用于我的情况,因为我了解到应该拆分不经常调用的数据,但是这些属性经常被调用,在我的情况下,每当每个成员被加载到前台时,他的详细信息也会被拉出。

有关我的数据库的详细信息:

  • 我的主表有18列叫Member,成员表的每一列,“单独”只依赖主键MemberID
  • 有些列有空值,我的理解是在 MySQL 中空值不分配任何空间

这就是我被困的地方

我应该在 Member 表中保留一列具有空值的列,还是将其分离到另一个表中并在一对一关系中使用 MemberID 外键与之关联?

例如:一个人可能有也可能没有电话号码,但电话号码必须属于一个人:

Member (1:1)-----------(0:1) Phone number

MemberId 是电话号码表中的外键和主键。

通常数据库中要求一个人只输入一个当时在起作用的数字,所以这不是一对多的关系

我问这个问题的主要原因是列中的多数值为空,所以我应该将它保留在表中,即使它有多数空值(10k 记录我有 4k 值作为 NULL)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)