ORIGINAL (см ОБНОВЛЕНО вопрос ниже)Дополнительные базы данных Сущности
Я проектирование новой лабораторной базы, которая проверяет широкий спектр тестов на самых разнообразных типов образцов.
Следующий список - это мой текущий кандидат на список основных субъектов, который наилучшим образом моделирует работу лаборатории.
Для каждого объекта отношения от одного объекта ко многим относятся к сущности ниже. Другими словами, каждая сущность (кроме REQ) имеет по меньшей мере столбцы для объект _id и parent _id.
Основные Сущности:
REQ:
Запрос (форма)
SAM:
образца (материал)
TST:
испытаний (запрошенные процедуры)
SUB:
**
Sub-Test (часть стандартного теста)
TRI:
**
Trial (один экземпляр: обычно для среднего, диапазона и stddev)
MEA:
Измерение (измеренное число)
**
Не все тесты имеют подтесты, и не все испытания имеют испытания.
Подтесты представляют собой набор тестов, сгруппированных по одному имени для упрощения ссылок. Например, приемочный тест (LAT) для конкретного продукта определяется как следующие тесты: вязкость,%-азот, рН и плотность.
Испытание - это один эксперимент, выполняемый несколько раз для обеспечения продукта. Например, можно выстрелить пятьюдесятью пуль, и каждый выстрел - это испытание. Точность каждой пули может потребоваться для того, чтобы попасть в определенный диапазон, и средняя точность всех пятидесяти пуль может потребоваться в более плотном диапазоне.
Вопрос: Как я могу моделировать случаи, когда подтесты и/или испытания не нужны?
Вариант 1: Используйте «пустой» подтест (или пробный), если это не необходимо.
Вариант 2: Рассматривайте подтесты и испытания, которые должны быть испытаниями (и имеют test_id как родительский), так что измерения всегда имеют тест в качестве родителя.
Вариант 3: Необязательные родители для измерения (испытание, подтест или испытание) и испытания (подтест или тест).
Вариант x: Любой другой вариант, который стоит рассмотреть.
FYI: Если потребуется ответить на вопрос, я буду использовать Oracle.
ОБНОВЛЕНО ВОПРОС В общем, моя схема является иерархия сущностей, где каждый объект (кроме верхнего) должны иметь один из родителей и (за исключением нижней части) должны иметь по крайней мере одного ребенка.Каков наилучший способ обработки случаев, когда внутренняя сущность не нужна в определенной ситуации или какая польза/недостаток для использования определенной опции?
Вариант 1 (Dummy): Используйте «фиктивную» запись, чтобы указать, что объект не применяется в этом случае.
Вариант 2 (свертывание): Объединение необязательных объектов в следующий более высокий родительский объект.
Вариант 3 (Pick-а-Родитель): Сущность (С) ниже дополнительного объекта (B) с требуемым объектом (A) должен иметь один из родителей, но родитель может быть либо дополнительный объект (В) или следующий более высокий (A).
Вариант x: Любой другой вариант, который стоит рассмотреть.
Каждое лицо может содержать несколько детей. Поэтому каждый объект (кроме запроса) имеет как минимум self_id, parent_id (естественно, заменяя self и parent соответствующими именами). – Steven
См. Мой отредактированный вопрос в главном сообщении. – Steven