powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Нужно ли делать FK или делать запрос по ID? Вопрос по структуре БД
4 сообщений из 4, страница 1 из 1
Нужно ли делать FK или делать запрос по ID? Вопрос по структуре БД
    #36045677
Konstantin_T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть справочные данные.
Каждая строка в справочнике является отдельной сущностью
Например:
Система, Оборудование, Помещение и тд и тп


Каким образом лучше построить схему БД?
Вариант 1:
а) Создаем таблицу с типами с колонками ID, Code
б) Создаем таблицу справочник c колонками ID, TypeID ....
в) Создаем FK между таблицами справочника и типа
г) Запрос из ПО для получения строки справочника представляет собой:
Select * from 'Таблица справочник ', 'Таблица с типами'
Where 'Таблица справочник'.TypeID = 'Таблица с типами'.ID
and 'Таблица с типами'.Code = .....

=> Код искомого типа зашит в ПО

Вариант 2:
а) Создаем таблицу справочник c колонками ID ....
б) Запрос из ПО для получения строки справочника представляет собой:
Select * from 'Таблица справочник '
Where 'Таблица справочник'.ID = .....

=> ID искомой строки справочника зашита в ПО


Какой вариант лучше???
...
Рейтинг: 0 / 0
Нужно ли делать FK или делать запрос по ID? Вопрос по структуре БД
    #36045810
ддддд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
3 раза прочитал вопрос - ничего не понял.
...
Рейтинг: 0 / 0
Нужно ли делать FK или делать запрос по ID? Вопрос по структуре БД
    #36045867
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konstantin_T,

Есть справочные данные.
Каждая строка в справочнике является отдельной сущностью
Например:
Система, Оборудование, Помещение и тд и тп

Агрегатный виртуальный тип - метаданные
...
Рейтинг: 0 / 0
Нужно ли делать FK или делать запрос по ID? Вопрос по структуре БД
    #36046102
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konstantin_TКакой вариант лучше?Каждый из них имеет свои преимущества и недостатки. Так что сравнение в духе "лучше-хуже", в данном случае, неуместно, выбор, скорее, определяется областью применения. С точки зрения проектирования можно ориентироваться на потенциальную возможность появления ссылочных полей и, cоответственно, FK, в которых может хранится ссылка на разные сущности.
Грубый пример: В шапке документе нужна ссылка на юрлицо или физлицо. Если эти сущности не имеют общего "корня", то Вы не сможете воспользоваться FK, для проверки ссылочной целостности. Т.е., у первого варианта окажется преимущество.
В остальных случаях, смешивать все справочники в одной таблице особого смысла нет, так как, в частности, то что было преимуществом в примере выше, может оказаться недостатком здесь. И в поле какой-нибудь ссылки может с равным успехом оказаться ссылка на "Оборудование" или "Помещение", что не обязательно будет верно в этом случае. Конечно, корректность можно проконтролировать кодом триггеров или процедур, или, несколько усложнив схему данных, но зачем делать сложнее, если можно проще ?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Нужно ли делать FK или делать запрос по ID? Вопрос по структуре БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]