数据库,仍然不确定定义关系

时间:2013-03-26 12:49:33

标签: mysql

首先,我已阅读有关此事的thisthisthis主题。我认为我理解它,但我仍然不确定我是否正确地做到这一点,因为我几乎只能找到关系。我基本上想知道我是否朝着正确的方向前进。

我正在创建一个数据库,用户可以在其中创建个人资料(包含免费和付费版本)和发布新闻。其他用户可以回复这些项目,并且反应可以获得评级。这只是网站功能的一小部分,但这是令我担忧的部分。我写下了以下内容(每行代表两个表之间的链接):

USERS:
One user can define additional info once [Identifying, 1:1]
One user can have one sexual preference [Identifying, 1:1]
One user can have one payment status [Identifying, 1:1]

One user can define five questions [Identifying, 1:n]
One user can define three additional information rows [Identifying, 1:n]
One user can define three interests [Identifying, 1:n]

NEWS:
One user can post multiple news items [Identifying, 1:n]
One news item can receive multiple comments [Identifying, 1:n]
Each comment has one author (user) [Identifying, 1:1]
Each comment can receive one rating [Identifying, 1:1]
Each rating can be placed by one user at a time [Identifying, 1:1]

PAYMENT:
One promotion can either apply for all users or for one specific user [Non-identifying, 1:n]

几乎所有上述关系都在识别,这使我对我理解此事感到疑问。

除此之外,我使用一个表(status),其中包含(以及其他)用户的付款状态以及另一个包含可能促销的表(promotions)。我不清楚我是想将promotions表链接到statususer表。

有人可以帮我解决疑惑吗?

1 个答案:

答案 0 :(得分:0)

我不知道我是否完全回答了你的问题,特别是考虑到你的身份和非身份关系。

根据您的说法,它看起来像状态表和促销表是我称之为可以链接到用户表的参照表on(使用实体关联模型)1-n关系意味着 User 表中有一个引用状态ID的外键,另一个引用了促销ID(这意味着你不想要任何历史性的) - - 关于促销可能是0-n

表格新闻链接到用户由同一个关系王与用户表一侧的n基数链接(这意味着新闻中的外键)表引用用户id的表,将Comment表的idem引用到新表,其中外键引用注释表中的新闻id

关于评级表,没有考虑太多,我会说它来自用户和评论的关联与n-n关系。结果:一个表中包含user_id和comment_id外键...评论的评级是评级表上的操作的结果,但是为了更快,您可以在评级表上触发,说每次添加评级时评论您计算可以在评论表中推送字段的新评级