Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Горбунов / УП_ОПТ2 / Р5_РОпер.doc
Скачиваний:
29
Добавлен:
16.04.2013
Размер:
1.17 Mб
Скачать
      1. Особая роль ключа реляционного отношения.

Первопричины…по величине неделимы” ЛЕВКИП, пред.500-440гг. до н.э.

Схема ключа K экземпляра а(А) (отношения а со схемой А) является подмножеством атрибутов К = {K1, K2, … KM}A, значения в которых уникально определяют кортеж и никакое собственное подмножество К не обладает этим свойством.Поэтому в экземпляре отношения не существует двух кортежей с совпадающими ключами. Но различные подмножества атрибутов схемы могут быть ключами этого отношения. Явно перечисляемые при описании схемы ключи называются выделенными (остальные называются неявными). Иногда один из выделенных ключей объявляется первичным.

Вседа ли можно данное определение эффективно использовать? В случае представления реального мира на базе формальной логики (исчисления предикатов первого порядка) – да. Но стоит нам использовать «размытую» логику, как все становится совсем не таким простым с понятием ключа.

Другая проблема с ключами состоит в том, что их может быть много у одной сущности. Какие из них выбрать в качестве первичных? Отметим, что любой выбор при использовании ключа, незаметно, но существенно изменяет смысл понятия, определяемого по этому ключу. Все сложные понятия (например «удовлетворение», «счастье», «любовь», «семья») – очень чувствительны к формальной трактовке своих ключей.

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

      1. Операции с доменами атрибутов.

Ничто не возникает из небытия” АНАКСАГОР из Клазомен, ок.500-428гг. до н.э.

Определение доменов – область исследований теоретиков и полигон для разнообразных “улучшений” разработчиков СУБД (Систем Управления Базами Данных). Для чего нужен домен? Принято считать простым определение домена в смысле ограничения на множестве значений используемого типа данных. Но в соглашениях о домене языка SQL, он трактуется значительно шире.

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

В нашей простой БД каждый домен имеет идентификатор, тип данных и описание диапазона допустимых значений. Во втором варианте все они выделены в отдельное реляционное отношение – каталог доменов со схемой newDC. Администратор БД несет отвественность за содержание этого каталога. Очевидно, что операционная среда РБД должна поддерживать все операции с элементами базовых типов данных (их список определяется в системном соглашении). Добавление кортежа домена в экземпляр petry(newDC) не вызывает затруднений. При удалении кортежа домена необходимо понимать, что из соображений целостности данных надо будет удалить все кортежи, использующие его идентификатор в экземплярах каталогов непосредственно (схема newAC) и косвенно (в схемах newAC и EС). Для отслеживания этих условий принято использовать механизм трансакций.

В нашей простой РБД для домена определено понятие диапазона. Следовательно, во всех местах его использования (а это точки контроля ввода значений), мы должны предусмотреть некоторый алгоритм реализации этого понятия. Очевидно, что минимальное и максимальное значения предполагают существование отношений порядка и сравнения для базового типа данных атрибута. Функции реализации при этом параметризируются по типам данных.

Соседние файлы в папке УП_ОПТ2