У меня такой вопрос: обязательно ли нужен Primary Key если он нигде не используется? Например есть таблицы articles(id, name)
и tags(id, name)
, а в таблице article_tags(article_id, tag_id)
идет связь. Так вот надо ли добавлять в эту таблицу столбец id
просто чтобы был PK? Потому что в логике он никогда не будет использоваться.
Первичный ключ в таблице обязан быть. Потому что если к записи в таблице невозможно обратится уникально то и работать с такой записью в одиночку невозможно. Кроме того в результате ошибок в программе могут появляться полностью одинаковые записи. НО нигде не говорится, что PK должен быть именно ID.
В таких таблицах, как ваша, отдельный id в качестве уникального ключа даже вреден, он не мешает создать две записи с одинаковыми article_id, tag_id. Поэтому в таких таблицах необходимо использовать составной первичный ключ из обоих колонок.
create table article_tags(
article_id int not null,
tag_id int not null,
primary key (article_id, tag_id)
)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Ребят, приветКак сделать выпадающее меню
Safari на macbook: расширяется textarea при вводе текста на сайтеКак только начинаешь вводить текст в textarea, оно расширяется на ширину всего экрана и тянет...