Домены и атрибуты – базовые понятия в теории создания баз данных и управления ими. Поясним, что же это такое.
Формально, домен атрибута (обозначается dom(a)),
где а – некий атрибут, определяется как множество допустимых значений
одного и того же типа соответствующего атрибута а. Этот тип должен быть
простым, т. е:
dom(a) ⊆ {x | type(x) = type(a)};
Атрибут (обозначается а), в свою
очередь, определяется как упорядоченная пара, состоящая из имени
атрибута name(a) и домена атрибута dom(a), т. е.: В этом определении вместо привычного знака
«,» (как в стандартных определениях упорядоченных пар) используется «:».
Это делается для того, чтобы подчеркнуть ассоциацию домена атрибута и
типа данных атрибута.
Приведем несколько примеров различных атрибутов:
а1 = (Курс: {1, 2, 3, 4, 5});
а2 = (МассаКг: {x | type(x) = real, x 0});
а3 = (ДлинаСм: {x | type(x) = real, x 0});
Заметим, что у атрибутов а2 и а3
домены формально совпадают. Но семантическое значение этих атрибутов
различно, ведь сравнивать значения массы и длины бессмысленно. Поэтому
домен атрибута ассоциируется не только с типом допустимых значений, но и
семантическим значением.
В табличной форме представления отношений атрибут
отображается как заголовок столбца таблицы, и при этом домен атрибута не
указывается, но подразумевается. Это выглядит следующим образом: Нетрудно заметить, что здесь каждый из заголовков a1, a2, a3 столбцов таблицы, представляющей какое-то отношение, является отдельным атрибутом.
|