0

首先,我已经阅读了这个这个这个关于此事的话题。我我理解它,但我仍然不确定我是否以正确的方式做这件事,因为我几乎只能识别关系。我基本上想知道我是否朝着正确的方向前进。

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

用户:
一个用户可以定义一次附加信息 [识别,1:1]
一个用户可以有一种性偏好 [识别,1:1]
一个用户可以有一个支付状态 [识别,1:1]

一个用户可以定义五个问题 [Identifying, 1:n]
一个用户可以定义三个附加信息行 [Identifying, 1:n]
一个用户可以定义三个兴趣 [Identifying, 1:n]

消息:
一个用户可以发布多个新闻项目 [Identifying, 1:n]
一条新闻可以收到多条评论 [Identifying, 1:n]
每条评论都有一位作者(用户)[识别,1:1]
每条评论都可以获得一个评分[识别,1:1]
每个评分一次只能由一个用户放置 [识别,1:1]

支付:
一项促销既可以适用于所有用户,也可以适用于一位特定用户 [非识别性,1:n]

几乎所有上述关系都是确定的,这让我质疑我是否理解这件事。

除此之外,我使用了一个表 ( status),其中包含(以及其他)用户的付款状态和另一个表 ( promotions),其中包含可能的促销活动。我不清楚我是否应该将promotions表格链接到statusoruser表格。

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

4

1 回答 1

0

我不知道我是否准确回答了您的问题,特别是考虑到您的识别和非识别关系。

根据您的说法,Status表和Promotion表是我所说的引用表,它们可以链接到User表(使用实体关联模型)1-n 关系,这意味着User表中有一个前键引用状态 id 和另一个引用促销 id(这意味着您不想要任何历史)- 可能是关于促销的 0-n

news通过同一个关系王与User表侧的n基数链接到User(这意味着News表中的外键引用用户ID,Comment表同上,带有外键的New表在评论表中引用新闻 ID

关于 Rating 表,不用想太多,我会说它来自 User 和 Comment 的关联,具有 nn 关系。结果:一个带有 user_id 和 comment_id 外键的表...评论的评级是对评级表进行操作的结果,但为了更快,您可以在评级表上触发一个说每次添加评级时一个评论你计算的新评分你可以在评论表中推送一个字段

于 2013-03-26T13:17:49.940 回答