php - 我应该仅仅因为一个不同的列而创建两个单独的表吗

标签 php mysql database-design

我的网站有两种类型的用户:公司个人。它们都具有几乎相同的形式值。 公司有额外的company_name个人有额外的性别列。

它们之间有 10 个公共(public)字段。现在,我应该创建两个不同的表还是应该为它们创建一个表?

最佳答案

公司和个人似乎是完全不同的实体,因此除非您完全相同地对待它们,否则最好将它们放在单独的表中。

但是,如果您预计将公司视为人,并且它们将始终被视为独立单位(没有子单位),则您可以简单地向表中添加两个键,一个用于性别(这不是必填字段) ),以及类似“公司指标”),它是一个二进制值(是或否)。

然而,真正的问题是可扩展性。如果您预计在任何时候,公司都会受到与个人不同的对待(例如,与公司的联系可能会发生变化,或者公司分拆),那么您确实应该将它们视为单独的实体。您可以在公司表上有一个链接到个人的人员指示符;这样您就可以存储有关公司内个人的信息。

关于php - 我应该仅仅因为一个不同的列而创建两个单独的表吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31629060/

相关文章:

php - Ajax 中的 RSS 阅读器 : Help with code, 有什么问题/缺失?

mysql - DDL等价

PHP:在 PHP 中锁定所有 MySQL 表

php - 使用 Ajax 使用 php 将记录插入 mysql 数据库

php - CakePHP:HABTM 多次

php - 未知列 '' 值 '' in ' 字段列表'

php - MySQL:获取所有行进行搜索?

php - 我可以使用 .htpasswd 来保护不存在的目录(虚拟 m​​od_rewrite 目录)吗?

mysql - 有很多属性的表

mysql - 存储大量日志数据的最佳方式