1

我想这个问题很基本,但 imo 这些是最难的。

因此,假设我想创建一个关于 person 的人员详细信息的表格,并且可以说除了姓名、地址、联系人编号等基本信息之外。等等。我还需要存储此人是投资者、导师、人力资源专家、校友、合作伙伴、捐助者还是服务提供商。他可以在上面列出的多个领域。

是否推荐使用带有 7 个选项的 set() 字段?似乎是这样做的逻辑方式,但我读过 set() 字段对大型数据库中的搜索不友好。

我想到的其他选择是:

1.原始表中的每个字段都有 7 个额外的布尔列。

考虑到数据库/表会很大,这将是最好的方法?

请建议一些好的出路!提前致谢

4

1 回答 1

2

标准化。

一张桌子来存放不同的类型,那么,由于一个人可以有零个或多个类型,另一张桌子将它们粘合在一起。考虑这样的设计;

person:
--------------
id int
name varchar
email varchar
...


type
--------------
id int
name varchar


person_type
--------------
person_id
type_id
于 2013-05-10T06:40:34.870 回答