Основная цель: Запрос к базе данных, чтобы определить, что должен делать лаборант.
Чего я пытаюсь достичь
Я разрабатываю лабораторную базу данных, в которой для каждого из следующих объектов требуется ровно один родитель (слева) и хотя бы один ребенок (справа): request (REQ) -> sample (SAM) -> test (TST) -> measurement (MEA)
.
Каждая сущность имеет следующее:
- Шаблон - (или тип) этого объекта (шаблоны испытаний могут включать: тест pH, титрование и т. Д.)
- Пользовательские таблицы - поля таблицы, которые применяются только к этому шаблону
- Расчеты - результаты соответствующих формул из данных для этой сущности (и дочерних элементов)
Наши спецификации часто очень сложны. Например, в спецификации может быть указано «Третье измерение может быть выполнено, если первые два не соответствуют спецификации», или «Выполнить метод длинных испытаний, если метод быстрых испытаний завершился неудачей».
Мне нужна функция, которая принимает ENTITY_id
и (на основе уже введенных данных и правил спецификации) возвращает список доступных дочерних шаблонов.
Вопрос
Являются ли конвейерные функции (как описано ниже в tuinstoel) лучшим способом реализации функции required_children (), которую я пытаюсь достичь?
Если нет, что вы предлагаете?