对MySQL数据库建模的建议

时间:2014-09-19 11:25:14

标签: php mysql database

我需要一些建议来创建一个包含多个用户数据的数据库模型。我会尝试尽可能具体。如果这个太宽泛或不合适,请原谅。

我正在创建一个网络应用程序,用户可以在其中注册并添加有关其运动队的数据。注册后,用户必须能够将成员添加到表中并将成就添加到另一个表。

现在我总共有4张桌子。 members_table拥有体育团队的所有成员。 achievements_table拥有所有成就。 member_has_achievement保存成员和成就之间的关系,并充当唯一标识符。

最后我有login_table

此表有多列: loginid username password email

我最初的想法是在login_tablemembers_table之间创建一个关系表。这样一个用户就可以拥有多个成员,这些成员可以拥有多个成就。

但我不确定这是最好的方法。 我为单个用户应用程序构建了这个模型,但是我无法扩展它。

关于如何以不同方式对此进行建模的任何建议?

2 个答案:

答案 0 :(得分:1)

现在一切似乎都很好。想象一下,您有多个用户,存储在您的用户表中 现在,如果用户可以添加成员,您只需要在member_table中添加您的user_id作为外键:

-----------------
| Members_table |
-----------------
| ID : PK       |
| User_ID : FK  |
| Name          |
| anything_else |
-----------------

-----------------
| User          |
-----------------
| ID : PK       |
| email         |
| login         |
| password      |
-----------------

我没有看到为什么这不会扩大规模的原因。您可以通过User_ID看到哪个成员是由哪个用户添加的......基本上这是一对多的关系:一个用户可以拥有多个成员,但是一个成员只属于一个用户,如果我理解正确的话:)< / p>

此处的用户表将是您的login_table btw:)

答案 1 :(得分:1)

I found this link useful for database designs for beginners.

在这里,假设您正在为学生设计数据库作为用户:

enter image description here

对于更简单的模型:

enter image description here