创建此数据库的E-R图

时间:2012-08-24 17:55:26

标签: mysql sql database database-design entity-relationship

我已经创建了一个包含多个表的数据库,我正在尝试回溯并创建它的E-R图,但我正在努力解决它。数据库系统用于匹配具有相似偏好的人。

  • 每个用户都有管理信息(存储在user_core中), 关于他们自己的信息(存储在user_profile中的记录中)和 有关其偏好的信息(存储在EAV user_prefs中 表)。
  • 'preferences'表存储首选项的pref_id及其名称
  • “候选名单”表存储用户的ID和他们入围的用户的另一个ID。每个用户都会有与入围人员一样多的条目。
  • 'groups'表存储有关一组人的信息。每个组都有一个id,成员在user_core中指定了这个,并在组中指定了最多人数

大多数麻烦来自于确定实体是什么 - 它们大部分都会成为表名吗?

这些是我的表格。一开始的名称是表名,CSV是字段名:

user_core = {id, birthday, sign_up_date, access token, group ID}

user_profile = {id, gender, course, university, religion}

user_prefs = {id, pref_id, value, weight}

preferences = {pref_id, name}

shortlist = {id, targ_id}

groups = {group_id, max_no}

因此,如果我要制作一个E-R图表,我将如何做?

如果我要拆分它,我会说我的应用程序中的实体是:用户,偏好,候选名单,组。但是,当我试图想到关系时,它开始变得混乱 - 很可能是因为我在这里反向工作!任何帮助或指示将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:1)

如果你真的想要一个ER图,那么每个实体都会得到一个盒子,每个关系可以得到两个盒子之间的一条线,或者一个带有线条的菱形,取决于。

用户个人资料看起来只是用户的更多属性,但用户偏好是许多用户和许多偏好之间的关系。

如果你想制作一个数据库原理图,有些人称之为ER图,那么每个表都会得到一个框。

数据库原理图倾向于关系实现,而ER模型是实现不可知的。此外,ER模型反映了分析,而数据库原理图包括设计。