MySQL создает отношения между таблицами - PullRequest
0 голосов
/ 06 декабря 2011

Если у меня две таблицы:

    *******awards
    ----------------------
    aid | position | name
    ----------------------
     1      1        best game
     2      2        reached 100 points
     3      3        reached 300 points
     ................
     1000   800      logged_3_days_in_a_row

    *******users
    ----------------------
    uid | name
    ----------------------
     1    Niki
     2    Lulu33
     3    BadGirl
     .......
     1001 Zelda2012

Как лучше всего установить связь между таблицей наград и пользователями?Конечно, я мог бы создать таблицу user_has_awards, но я не уверен, что это лучший способ (при наличии 1000 или более наград и 1000 пользователей) сделать это.

1 Ответ

2 голосов
/ 06 декабря 2011

Это зависит от того, какой тип отношений вы хотите установить.От вашего вопроса я думаю, что вы имеете в виду отношения «многие ко многим» (то есть одна и та же награда может быть предоставлена ​​многим пользователям, а пользователь может иметь много наград).Лучший способ смоделировать это - действительно третья таблица, которая управляет отношениями между пользователями и их наградами.

См., Например, этот сайт, объясняющий шаблон дизайна: http://www.tomjewett.com/dbdesign/dbdesign.php?page=manymany.php

PS.вам следует начать принимать некоторые ответы на ваши вопросы, чтобы побудить людей отвечать на ваши вопросы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...