Домены

  • Часть 1
  • | 2
  • | 3
  • | 4
  • | 5

Если в таблицах БД имеются столбцы, обладающие одними и теми же характеристиками, то можно предварительно определить с помощью домена тип данных и поведение таких столбцов, а затем поставить в соответствие каждому из однотипных столбцов имя соответствующего домена.

Доменом называется именованное множество скалярных значений одного типа. Например, домен TMonth(месяц) в учебной базе данных – это множество всех возможных номеров месяцев (от 1 до 12). Цель доменов в SQL – обеспечить возможность один раз определить элементарную спецификацию типа данных, а затем использовать ее одновременно для нескольких столбцов в нескольких базовых таблицах.

То есть домен – это тип данных (как это понимается в современных языках программирования). Например, в языке программирования Pascal допустимы следующие выражения:

type TDay = (Sun, Mon, Tue, Wed, Thu, Fri, Sat);

var Today : TDay;.

Здесь имеется определенный пользователем тип TDay(имеющий в точности семь допустимых значений) и переменная Today, принадлежащая этому типу данных (а значит, и ограниченная этими семью значениями). Эта ситуация аналогична ситуации в реляционной БД, когда имеются домен, названный TDay, и атрибут, названный Today.

Основной особенностью доменов является то, что домены ограничивают сравнения. Это значит, что сравнение атрибутов, определенных на основе одного домена, имеет смысл, а сравнение атрибутов, определенных на основе различных доменов, бессмысленно. Домены имеют концептуальную природу. Они должны быть определены в рамках конкретной БД. Тогда каждое определение атрибута (например, столбца определенной таблицы) должно включать ссылку на соответствующий домен. Таким образом, системе будет известно, какие атрибуты можно сравнивать, а какие – нет.

предыдущаяследующая