Ваше понимание доменов является правильным, но не полным. Обычно домен реализован в виде типа данных, который вы указали. Однако домен может быть более конкретным, чем тип данных. Рассмотрим атрибут Grade, возможные значения могут быть {A, B, C, D, F, I}. Если вы указываете тип данных как CHAR (1), вы не удаляете недопустимые буквы, такие как G, H, J и т. Д. Следовательно, важно понимать, что такое исходный домен и чем он отличается от домена данных. тип. Любые оставшиеся ограничения, такие как устранение этих недопустимых значений, обычно реализуются как ограничения приложения. Хорошая ссылка на это Elmasry и Navathe.