Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоргалка / 100 на 100.doc
Скачиваний:
41
Добавлен:
26.01.2019
Размер:
3.77 Mб
Скачать

8. Операции реляционной алгебры, используемые в рмд.

Все операции над данными в РМД делятся на 2 группы:

1) операции обновления и обработки кортежей в таблицах отношений

2) операции обработки таблиц отношений.

К первой группе относятся:

1. операция «включить». Здесь требуется задание имени таблицы. Выполняется при условии уникальности значения ключа.

2. операция «удалить». Удаляет один или группу кортежей. Требует задания имени таблицы, имени поля и параметров значений полей, кортежи из которых должны быть удалены.

3. операция «обновить». Заключается в изменении значений неключевых полей у одного или группы кортежей.

Особенностью операций обработки таблиц отношений в РМД является то, что в качестве единичного элемента обработки выступает не запись, а таблица в целом. Поэтому все операции являются операциями над множествами, и их результатом также является множество, то есть новая таблица отношений.

1) операция объединения выполняется над двумя односхемными таблицами. Результирующая таблица содержит все строки операндов, за исключением повторяющихся.

2) операция пересечения – бинарная операция. На входе отношения, содержащие кортежи, которые присутствуют в обоих исходных отношениях.

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

4) операция произведения (декартово). Выполняется над таблицами отношениями с разными схемами. Результат - таблицы отношения с полями из первой и второй таблиц. Кортежи сцепляются последовательно, их количество равно произведению кортежей первой и второй таблицы.

5) выборка (горизонтальное подмножество). На входе используется одно отношение, результат новое отношение, построенное по той же схеме, содержащее подмножество кортежей исходного отношения, удовлетворяющему условию выборки.

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

7) соединение. Имеет сходство с декартовым произведением, но добавлено условие, согласно которому вместо полного произведения всех строк, в результирующее отношение включается только строки, удовлетворяющие определенному отношению между атрибутами соединения соответствующих отношений.

8) операция деления выполняется над двумя таблицами: делимое и делитель. При этом схема таблицы делителя должна состоять из подмножества полей таблицы делимого. Итоговая таблица содержит те поля таблицы делимого, которых нет в таблице делителе. Кортежи итоговой таблицы образуются на основе кортежей 1 таблицы по значениям полей, вошедших в итоговую таблицу при условии, что если взять произведение итоговой таблицы и делителя, то образуются кортежи таблицы делимого.

9. Виды функциональных зависимостей между атрибутами

Для каждой сущности выбираются свойства (атрибуты). Различают следующие атрибуты:

1. Идентифицирующие и описательные атрибуты Идентифици­рующие атрибуты имеют уникальное значение для сущностей данного ти­па и являются потенциальными ключами. Они позволяют однозначно рас­познавать экземпляры сущности.

2. Составные, и простые атрибуты. Простой атрибут состоит из од­ного компонента, его значение неделимо. Составной атрибут является комбинацией нескольких компонентов, возможно, принадлежащих разным типам данных (например, ФИО или адрес).

3. Однозначные и многозначные атрибуты (могут иметь соответст­венно одно или много значений для каждого экземпляра сущности).

4. Основные и производные атрибуты. Значение основного атрибута не зависит от других атрибутов. Значение производного атрибута вычисля­ется на основе значений других атрибутов.

Спецификация атрибута состоит из его названия, указания типа данных и описания ограничений целостности - множества значений (или домена), которые может принимать данный атрибут.

Функциональная зависимость. Атрибут (поле) В таблицы функционально зависит от атрибута А той же таблицы, если каждому зна­чению А в любой заданный момент времени соответствует в точности од­но значение В. Отметим, что А и В могут быть составными - состоять из двух и боле атрибутов.

Математически функциональная зависимость В от А обозначается за­писью: А-> В.

Это означает, что во всех кортежах с одинаковым значением атрибута А атрибут В будет иметь также одно и то же значение.

(Например, ФИО -> Каф, ФИО->Должн, Должн->Оклад, ФИО->Предмет. В данном отношении ключ является составным и состоит из атрибутов ФИО, Предмет, Группа. Если отношение находится в первой нормальной форме, то все неключевые атрибуты функционально зависят от ключа с различной степенью зависимости.

Частичной зависимостью называется зависимость неключевого ат­рибута от части составного ключа.

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

Альтернативным вариантом является полная функциональная зави­симость неключевого атрибута от всего составного ключа. Атрибут В нахо­дится в полной функциональной зависимости от составного поля А, если оно функционально зависит от А и не зависит функционально от любого подмножества поля А.

Например, в отношении атрибут ВидЗан находится в полной функциональной зависимости от составного ключа

Многозначная зависимость. В отношении атрибут В многозначно зависит от атрибута А, если каждому значению А соответствует множест­во значений В, не связанных с другими атрибутами из этого же отношения.

Многозначные зависимости могут быть «один ко многим» (1 : М) «многие к одному» (М : 1) или «многие ко многим» (М : М), обозначаемые соответственно: А В, В -» А, А« - »В.

Транзитивная зависимость. Атрибут А зависит от атрибута В транзитивно, если для атрибутов А, В, С выполняются условия А -> В, В -> С, но обратная зависимость отсутствует.

Например, в отношении транзитивной зависимостью свя­заны атрибуты: ФИО -> Должн -> Оклад

Соседние файлы в папке шпоргалка