У меня есть вопрос о дизайне таблиц. У меня есть решение, которое должно работать, по моему мнению, но нет.Дизайн базы данных с несколькими вложенными таблицами
Рассмотрите наличие двух объектов «Предмет» и «Процесс», имеющих определенные атрибуты. Каждый «Предмет» может быть связан с несколькими «Процессами». В зависимости от выбора «Процесс» существует различное количество объектов «Process-Property». Другими словами, когда Пользователь связывает «процесс» с «субъектом», он должен только иметь возможность редактировать связанные с ним «свойства».
В конце концов я хочу, чтобы пользователь мог сделать 3 вещи:
- Создание новых «Процессы» и конкретизирующие «Свойства» asscociated с ним
- Список всех «Процессы» определенного «Subject "даже если нет„Свойства“, связанные с ним
- Associate„процесс“с„Subject“и разрешить только предопределенные„Свойства“, чтобы быть оценены
Так конструкция стола должна быть что-то вроде:
- tblSubject = {SubjectID, ...}
- tblProcess = {ProcessID, ...}
- tblProcessProperty = {PropertyID, ...}
- tblRelationProcessProperty = {RelationProcessPropertyID, ProcessID, PropertyID}
- tblRelationSubjectProcessProperty = {RelationID, RelationProcessPropertyID, SubjectID, PropertyValue}
Это делает, очевидно, работайте до тех пор, пока существует «Свойство», связанное с каждым «Процессом». Поэтому моя ошибка заключается не в том, чтобы напрямую связывать «Subject» с «Process», но тогда я не могу получить дизайн стола прямо.
Любая помощь приветствуется.
Что значит, вы не можете получить дизайн стола прямо? –
То, как я структурировал свои таблицы, не предоставляет мне необходимую мне функциональность. Это должно быть что-то вроде: Назначить «Процесс» «Субъекту». Если «Процесс» имеет «Свойства», назначьте их также «Субъекту». – JonBlumfeld