Универсальная структура БД
Стремление к универсализации всего и вся - естественно для любого программиста.
Как-то передо мной как перед "специалистом по базам данных" встала задача разработать универсальную структуру БД. требований уже не помню.
Подумав чучуть пришел к простейшей структуре состоящей из трех табличек:
Табличка 1 - содержит список всех хранимых в БД сущностей
Табличка 2 - список названий всех отношений между сущностями
Табличка 3 - ключевая таблица структуры: хранит непосредственное отношение одной сущности из таб 1 к другой сущности из таб 1 и ссылку на запись в таб 2(название этого отношения)
Вся прелесть данной структуры в том, что ей можно описать абсолютно ВСЕ.
Недостатков несколько -
1. огромное количество записей в таб 3 - каждая сущность из таб 1 имеет несколько отношений с другими сущностями...
2. получение зависимых сущностей глубиной больше 2х от искомой не реализуется одним SQL запросом к БД
...
Пока детальней описывать не буду - скажу лишь, что данная структура не есть полноценная БД - только часть БД...
|