В РСУБД, я полагаю, есть несколько способов создать связь между таблицами.Поэтому я хотел бы спросить, каковы плюсы и минусы между созданием отношения с ассоциативной таблицей и без ассоциативной таблицы .Есть ли формальное решение для решения обоих?
Используя общие таблицы, ниже я продемонстрирую, что я имею в виду:
Пример № 1 (без ассоциативной таблицы)
пользователи
+----+-------+
| id | name |
+----+-------+
| 1 | John |
| 2 | James |
| 3 | Jacob |
+----+-------+
комментарии
+----+-----------------------------+---------+
| id | text | user_id |
+----+-----------------------------+---------+
| 1 | Lorem ipsum dolor sit amet. | 1 |
| 2 | Praesent ultricies libero. | 2 |
| 3 | Donec eget blandit nunc. | 3 |
+----+-----------------------------+---------+
Примечание: ссылка на автора комментария хранится в comments
.
Пример # 2(С ассоциативной таблицей)
пользователи
+----+-------+
| id | name |
+----+-------+
| 1 | John |
| 2 | James |
| 3 | Jacob |
+----+-------+
комментарии
+----+-----------------------------+
| id | text |
+----+-----------------------------+
| 1 | Lorem ipsum dolor sit amet. |
| 2 | Praesent ultricies libero. |
| 3 | Donec eget blandit nunc. |
+----+-----------------------------+
comment_user
+----+--------------+-----------+
| id | comment_id | user_id |
+----+--------------+-----------+
| 1 | 1 | 1 |
| 2 | 2 | 2 |
| 3 | 3 | 3 |
+----+--------------+-----------+
Примечание: ссылка наАвтор комментария хранится в comment_user
.