具有多个页面类型的SQL数据库设计相互连接

时间:2015-06-29 11:03:12

标签: mysql database database-design data-structures relationship

我正在开展一个项目,我将建立一个社区。

我遇到的问题如下:

网站上将有8种不同类型的网页,例如“商店”,“活动”和“博客”。

某些页面将由公司拥有,其他页面将由用户拥有。 有些页面应该可以向用户和其他页面(允许彼此发送消息的页面)写入消息。

用户将能够: 1.遵循某些页面类型而不是其他页面 2.像某些页面类型但不是其他类型 3.在某些页面类型配置文件页面上写一条公共消息,而不是其他页面 4.将个人消息写入某些页面类型而不是其他页面类型 5.作为页面管理员的所有用户将获得额外的收件箱,他/她可以阅读并回复页面消息

我一直在尝试很多不同的方法来使这项工作,但是我这样做我得到了很多表格,我需要做很多连接,这让我担心以后的性能。< / p>

我提出的最佳解决方案是制作以下表格:

  1. 用户
  2. 商店
  3. 活动
  4. 博客
  5. 并将所有页面类型(用户,商店,活动,博客)设置为拥有一个页面。 然后允许所有页面互相发送消息。

    1. Store_likes
    2. Event_followers
    3. Blog_followers
    4. 控制允许遵循或喜欢的页面类型

      1. 收件箱
      2. 表示哪个页面收件箱属于哪些用户

        这是最好的方法,还是有人有更好的解决方案?

        非常感谢任何输入!

        / Elias

1 个答案:

答案 0 :(得分:0)

您在这里提出一个很难回答的非常一般的建模问题。但一般我的建议是首先创建一个模型。这相当于决定实体是什么,主键是什么,这些实体的唯一键和属性以及实体之间存在的关系。对于每个属性,决定它是必需的还是可选的。对于实体之间的关系,决定关系的基数和反比关系。首先创建模型而不必担心性能。然后在数据库中实现该模型。您的申请非常标准。不要担心很多表和连接。很可能它会没问题。