powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос по структуре...
7 сообщений из 7, страница 1 из 1
Вопрос по структуре...
    #33377943
minva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть две таблицы "Модели" и "Оборудование", связь один ко многим
Есть таблица "Файлы с дополнительной информацией", которая связана с таблицей "Модели". Тут все стройно... Но иногда нужно прицепить дополнительный файл не к модели, а к оборудованию, с конкретным инвентарным номером.
Пользователь должен видеть всегда объедененный список, например просматривает он оборудование с инвентарным номером 111, при этом он должен видеть, что для оборудования 222 есть некая кополнительная информация, например о модернизации. Оборудование 111 и 222 всегда одной модели.
Пока у меня структура такая
"Файлы с доп..."(ID, Model_ID (FK), InvNum, FileName);
InvNum может быть Null-ом.
Но что-то как-то не нравится мне это... Погромите пожалуйста
...
Рейтинг: 0 / 0
Вопрос по структуре...
    #33377971
Антон_118
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть нужно отображать сопров. файлы для конкретного оборудования 111 и модели этого оборудования?

Или нужно найти все сопров. файлы, связанные со всем оборудованием конкретной модели (такой же как и оборудования 111)?
...
Рейтинг: 0 / 0
Вопрос по структуре...
    #33377989
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно разделить сущности "допфайлы для моделей" и "допфайлы для оборудования" и для каждой выделить отдельное отношение с внешним ключом на модели (для первого) и внешним ключом на оборудование (для второго). Да, это дополнительная таблица, зато вся схема делается логичнее и понятнее. Выборки тоже просто делать.
...
Рейтинг: 0 / 0
Вопрос по структуре...
    #33378048
Антон_118
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно выделить 4 сущности: модель, оборудование, сопр. файлы и связь между сопр. файлами и моделью с оборудованием.

Если говорить о реализации, то струкура может выглядеть так:

Model (SN (PK), Name);
Inventory (SN(PK), Model_SN (FK));
File (SN (PK), FileName);
Link (SN(PK), OBJ1(FK), OBJ2(FK), TYP);

Где Link.OBJ1 - ссылка на File.SN, TYP - признак, с чем связан файл (модель или оборудование) и OBJ2 - ссылка на Model.SN или Inventory.SN (в зависимости от Link.Typ).

Для получения файлов для оборудования и его модели используется запрос с объединением.
...
Рейтинг: 0 / 0
Вопрос по структуре...
    #33378127
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще вариант с обобщениемсходных сущностей в третью.
...
Рейтинг: 0 / 0
Вопрос по структуре...
    #33378238
minva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон_118
Или нужно найти все сопров. файлы, связанные со всем оборудованием конкретной модели (такой же как и оборудования 111)?

Именно так.
...
Рейтинг: 0 / 0
Вопрос по структуре...
    #33378291
Антон_118
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
minva Антон_118
Или нужно найти все сопров. файлы, связанные со всем оборудованием конкретной модели (такой же как и оборудования 111)?

Именно так.

Тогда может всегда связывать файлы с моделью ?

При появлении файла определять его в репозиторий конкретной модели. И при получении информации по файлам для конкретной единицы оборудования, определять ее модель и получать все файлы, относящиеся к данной модели?
В этом случае только три сущности: оборудование, файл и модель. Сущность файл при этом содержит ссылку на модель.

Этот вариант будет работать, если не нужно различать файлы для каждой единицы оборудования.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос по структуре...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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