Базы данных

Определение схемы и образец таблицы для класса Movie


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

Допустимые в реляционных моделях домены ограничиваются неделимыми, или атомарными значениями, т.е. каждый домен должен принадлежать к некоторому типу, который не может быть разделен на более простые значения. Числа, строки и даты считаются атомарными. В действительности, строки состоят из символов, а даты — из года, месяца и дня. Тем не менее, строки и даты считаются атомарными потому, что в рамках модели на их компоненты нельзя сослаться непосредственно. В принципе, в реляционном моделировании разработчик волен определить в качестве атомарного любой набор значений. Однако если некоторый составной домен обозначен как атомарный, становится намного сложней манипулировать его компонентами в системе с базой данных.

Атрибуты address и otherUsers класса сущностей Customer (2.2) не должны рассматриваться как атомарные. Пользователь системы должен располагать возможностью поиска клиентов из некоторого города или по значению ZIP-кода, а также возможностью запросить у системы, принадлежит ли некоторое лицо к списку лиц, которым разрешено использование определенного счета клиента. Трактуя эти атрибуты как атомарные, невозможно непосредственно представить эти операции как операции системы баз данных; для их реализации потребовалось бы дополнительное программирование. Предположим, что атрибут otherUsers определен как атомарный строковый атрибут. Отдельные имена хранятся в одной строке и разделяются запятыми. Попытка определить, входит ли некоторый человек в список, является в этом случае сложной операцией поиска по образцу. Попытка изменить значение может оказаться еще более сложной.

Комментарии закрыты