【发布时间】:2016-11-03 16:55:12
【问题描述】:
我很困惑在以下情况下应该实现什么架构:
我有两个核心表 user 和 company 以及一组“继承”(就 ORM 而言)表,如 user_type_1、user_type2 扩展 user 表并具有自己独特的字段集. company_type_1、company_type_2 表也是如此,这些表扩展了 company 表并具有自己独特的字段集。
我还有一个address 表。系统中的每个用户和公司都可以有自己的地址。
我最初的想法是将address_id FK 添加到地址(id)PK 到根user 和company 表。这样,系统中的每个用户或公司都可以与自己的地址相关联。
我的同事提出了另一种数据库架构设计,其中user_id 和company_id FK 必须添加到address 表中。
我现在对这个提议感到很困惑。你能解释一下吗?或者这个设计可以代替吗?
【问题讨论】:
-
每个用户/公司可以有多少个地址?每个地址可以属于多少个用户/公司?
标签: database database-design architecture database-schema