Лучший дизайн базы данных для конкретного использования внешнего ключа? - PullRequest
0 голосов
/ 27 июня 2019

Учитывая, что у меня есть 2 таблицы:

книги книжные магазины

95% записей в таблице книг будут доступны во всех книжных магазинах. 5% записей в таблице книг будут доступны только в ОДНОМ книжном магазине.

Книги НИКОГДА не будут доступны для нескольких книжных магазинов, это всегда будет 1 или все.

Я вижу два способа связать эти таблицы:

  1. Положите обнуляемый внешний ключ на стол с книгами, ссылаясь на книжные магазины. Если ноль, это доступно для всех книжных магазинов, если нет, это доступно только для ссылочного книжного магазина.

  2. Создайте таблицу связывания, которая будет содержать каждую комбинацию книги / книжного магазина для 95% книг и одну комбинацию книги / книжного магазина для остальных 5%.

Вариант 2 - это нормализованный способ сделать это, и я думаю, технически правильно, но это приведет к гораздо большему количеству записей и управлению БД.

Что люди считают лучшим подходом здесь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...