首先,我已阅读有关此事的this,this和this主题。我认为我理解它,但我仍然不确定我是否正确地做到这一点,因为我几乎只能找到关系。我基本上想知道我是否朝着正确的方向前进。
我正在创建一个数据库,用户可以在其中创建个人资料(包含免费和付费版本)和发布新闻。其他用户可以回复这些项目,并且反应可以获得评级。这只是网站功能的一小部分,但这是令我担忧的部分。我写下了以下内容(每行代表两个表之间的链接):
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
表链接到status
或user
表。
有人可以帮我解决疑惑吗?
答案 0 :(得分:0)
我不知道我是否完全回答了你的问题,特别是考虑到你的身份和非身份关系。
根据您的说法,它看起来像状态表和促销表是我称之为可以链接到用户表的参照表on(使用实体关联模型)1-n关系意味着 User 表中有一个引用状态ID的外键,另一个引用了促销ID(这意味着你不想要任何历史性的) - - 关于促销可能是0-n
表格新闻链接到用户由同一个关系王与用户表一侧的n基数链接(这意味着新闻中的外键)表引用用户id的表,将Comment表的idem引用到新表,其中外键引用注释表中的新闻id
关于评级表,没有考虑太多,我会说它来自用户和评论的关联与n-n关系。结果:一个表中包含user_id和comment_id外键...评论的评级是评级表上的操作的结果,但是为了更快,您可以在评级表上触发,说每次添加评级时评论您计算可以在评论表中推送字段的新评级