Учитывая, что у меня есть 2 таблицы:
книги
книжные магазины
95% записей в таблице книг будут доступны во всех книжных магазинах.
5% записей в таблице книг будут доступны только в ОДНОМ книжном магазине.
Книги НИКОГДА не будут доступны для нескольких книжных магазинов, это всегда будет 1 или все.
Я вижу два способа связать эти таблицы:
Положите обнуляемый внешний ключ на стол с книгами, ссылаясь на книжные магазины. Если ноль, это доступно для всех книжных магазинов, если нет, это доступно только для ссылочного книжного магазина.
Создайте таблицу связывания, которая будет содержать каждую комбинацию книги / книжного магазина для 95% книг и одну комбинацию книги / книжного магазина для остальных 5%.
Вариант 2 - это нормализованный способ сделать это, и я думаю, технически правильно, но это приведет к гораздо большему количеству записей и управлению БД.
Что люди считают лучшим подходом здесь?