我的数据库中有一个下表。我要求我的用户可以是公司或私人用户。他们有一些不同的特定领域(例如公司:公司名称,联系人)。我不确定如何在我的数据库设计中实现这一点。我是否必须创建2个单独的表(正如规范化规则所建议的那样)?我很感激任何建议!
我的USER表:
user_id INT <- PK
first_name VARCHAR(35)
last_name VARCHAR(35)
email VARCHAR(254)
password VARCHAR(45)
birthday DATE
creation_date TIMESTAMP
last_access_date TIMESTAMP
updated_at TIMESTAMP
enabled BOOLEAN
提前致谢!
答案 0 :(得分:0)
您需要在数据库中设计继承机制。其中一种方法,也是最干净的方法是设计三个表:
user(user_id,password ...)
将user_id作为主键(您可以根据需要选择其他主键)
company_user(#user_id, company_address...)
private_user(#user_id,home_address ...)