Определение доменов в mySQL? - PullRequest
0 голосов
/ 18 ноября 2011

Я работаю над упражнением в колледже и задаю следующий вопрос:

Что такое домен таблицы "страны"?

Мое понимание домена состоит в том, что он определяет возможные значения атрибута. Это означает, что таблица «страна» не имеет домена, но различные атрибуты в таблице «страна» имеют свои собственные домены. Например, атрибут «SurfaceArea» имеет домен FLOAT(10,2), а атрибут «Name» имеет домен CHAR(52).

Это правильно?

Ответы [ 2 ]

1 голос
/ 23 сентября 2014

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

1 голос
/ 18 ноября 2011

http://en.wikipedia.org/wiki/Relational_database#Domain

Вот один источник, и да, вы правы, домен описывает возможные значения атрибута.

...