пусть говорят, у меня есть две таблицы, пользователя и языкпервичный ключ во многих ко многим таблице
user (Table Name)
-----------------
user_id (PK)
user_name
mobile
...
....
language (Table Name)
---------------------
lang_code (PK)
lang_name
...
....
Вопрос в том, если я хочу, чтобы добавить связь между пользователем и языковой таблицы (многие ко многим), который является правильно ?
solution 1
user_language (Table Name)
--------------------------
user_id (FK)
lang_code (FK)
or solution 2
user_language (Table Name)
--------------------------
user_id (PK)
lang_code (PK)
or solution 3
user_language (Table Name)
--------------------------
user_lang_id (PK)
user_id (FK)
lang_code (FK)
Я видел, как многие люди добавляли первичный ключ на многие из многих таблиц, но я думаю, что это не важно и тратить пространство. так что это правильно?
Кстати, я использую PostgreSQL
Композитный первичный ключ (user_id, lang_code), причем оба являются внешними ключами. – Esailija
Рассмотрим полный код отношения n: m, которое я опубликовал только вчера в [соответствующем ответе] (http://stackoverflow.com/a/13259085/939860). Так вы обычно это делаете. –