может быть несколько строчек из data
В таком случае же делается отдельная таблица для связки users => data?
Какой тогда primary key будет? Он же должен быть уникальным.
А тут один юзер будет иметь несколько строк с data.id
Или сделать наоборот
Primary key == data.id?
Какая практика вообще в таких случая приветствуется?
Cпасибо)
отдельная таблица — это многие-ко-многим. в вашем случае достаточно в data добавить колонку user_id
на data_users будет композитный primary key например, если не добавлять дпоолнительных полей
Хорошо, а если предположим, что несколько юзеров будут иметь одну и ту же data?
Поле data_id в таблице users
это дополнительное условие, или же полностью новое?
Первоначально заложить и такую возможность
Грубо говоря каждый раз перед созданием data проверять, есть ли такое уже в таблице, и если есть, отсылать на эту строку?
Можно не проверять даже, достаточно внешний ключ повесить - PostgreSQL сам проверит
это который foreign key?
Да. Но, судя по тому, что вы выше написали "Первоначально заложить и такую возможность" - вам нужно всё же m2m
т.е через отдельную реляционную таблицу?
Да, но даже так внешние ключи, естественно, нужны
Обсуждают сегодня