Я видел статьи / статьи, которые указывают, что просто наличие в базе данных NULL нарушает первую нормальную форму.
Из того, что я понял из вашего описания базы данных, лучший дизайн может быть следующим:
Таблица образцов с полями, которые всегда связаны с образцом. Например,
Sample
------
SampleID
SampleDate
SampleSource
Затем таблица типов испытаний с одной записью для каждого типа испытаний, которые могут быть выполнены.
TestType
--------
TestTypeID
TestName
MaximumAllowedValue
Наконец, есть промежуточная таблица, которая представляет отношение «многие ко многим» между двумя приведенными выше таблицами и содержит результаты тестов.
TestResult
----------
SampleID
TestTypeID
TestResult
Это исключит нулевые значения, поскольку таблица TestResult будет содержать только записи для тестов, которые фактически выполнялись для каждого образца. Однажды я спроектировал базу данных для цели, практически совпадающей с тем, что, по моему мнению, вы делаете, и именно такой подход я выбрал.