У меня есть некоторые фундаментальные вопросы проектирования БД, и я хотел, чтобы они были очищены до того, как я пройду и вычеркиваю все отношения БД.Вопросы по MySQL DB Design
Вопрос 1
У меня есть две таблицы, где первый будет содержать 1 экземпляр второго. Я буду использовать структуру сущностей и хотел бы получить доступ table1
от table2
и table2
от table1
.
Моя идея состояла в том, чтобы иметь внешний ключ от table1
к table2
, а другой из table2
в table1
. Добавление ссылки с table1
на table2
похоже на работу. Однако, когда я пытаюсь добавить вторую ссылку (от table2
до table1
), MySQL Workbench добавляет две ссылки вместо одной. Я думаю, что я делаю что-то неправильно, так как я понимаю, что он должен добавить только одну ссылку. Является ли мой дизайн неправильным, или мне нужно просто удалить вторую добавленную ссылку?
Вопрос 2
Далее, я пытаюсь реализовать таблицы объединения. Экземпляр table1
может иметь множество экземпляров table2
и наоборот, поэтому таблица соединений, по-видимому, является необходимой структурой для достижения этой цели. MySQL позволяет мне создать либо Identifying Relationship
, либо Non-Identifying Relationship
, и я не уверен, что использовать. Есть идеи?
Если больше требуется разъяснение, пожалуйста, дайте мне знать.
Что вы пытаетесь моделировать - мебель? –
Два изображения представляют собой два разных набора таблиц. В первом случае я пытаюсь моделировать слово, которое может иметь один «образ», связанный с ним, и одно «изображение» может принадлежать многим «словам». Во втором случае «пользователь» может иметь много слов, а «слово» может принадлежать многим «пользователям». – JesseBuesking
О вашем втором вопросе: http://stackoverflow.com/questions/762937/whats-the-difference-between-identifying-and-non-identifying-relationships –