基表与多态关系数据库设计

时间:2014-08-05 11:03:11

标签: database-design architecture

我有以下课程:

User (can have many businesses, franchises and posts)

Business (belongs to a user - can belong to MANY users at the same time, has many galleries)
Franchise (belongs to a user - can belong to MANY users at the same time)
Post (belongs to one user, has many galleries)

Gallery (belongs to one business or post, has many media)
Media (belongs to one gallery)

我想为这些数据设计一个好的数据库,我可以想到两个选择:

  1. (低音表方法)为每个类创建表格,以及额外的表格'实体'和' user_entity'并使每个商业,特许经营和邮政实体'然后通过user_entity表将用户链接到实体,最后在gallery表上添加entity_id,以指示每个库的所有者。

  2. (多态方法)为每个类创建表,以及额外的表' user_business'和' user_franchise'将用户链接到他们拥有的企业和特许经营权。在posts表上还有一个user_id字段,用于将每个帖子链接到用户。最后在gallery表上有gallery_owner_id和gallery_owner_type字段,其中id将链接到business或page id,type将是图库所有者的类名。

  3. 预计该系统将来会增长。 哪种方法会更好?为什么?也许我还没有考虑过另一种选择?

    任何信息或建议都将不胜感激。

0 个答案:

没有答案