我想这个问题很基础,但我认为这些是最难的。
所以假设我想创建一个关于 person 的人员详细信息的表,并假设除了姓名、地址、联系人等基本信息之外的其他信息。等我还需要存储这个人是投资者、导师、人力资源专家、校友、合伙人、捐赠者还是服务提供商。他可以在上面列出的 1 个以上的领域。
是否建议将 set() 字段与 7 个选项一起使用?似乎是这样做的逻辑方法,但我读过 set() 字段对大型数据库中的搜索不友好。
我想到的其他选项是:
1.原始表中的每个字段有 7 个额外的 bool 列。
考虑到数据库/表会很大,哪种方法最好?
请提出一些好的出路!!提前致谢
最佳答案
规范化。
一个表保存不同的类型,然后,由于一个人可以有零个或多个类型,另一个表将它们粘合在一起。考虑这样的设计;
person:
--------------
id int
name varchar
email varchar
...
type
--------------
id int
name varchar
person_type
--------------
person_id
type_id
关于mysql - SET() 或请建议合适的设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16475730/