ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 17.03.2024
Просмотров: 110
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
- наличие простого, и в то же время сильного математического аппарата, опирающегося главным образом на теорию множеств и математическую логику и обеспечивающего теоретическую основу реляционного подхода к организации баз данных;
- возможность ненавигационного манипулирования данными без необходимости знания конкретной физической организации баз данных во внешней памяти.
Реляционные системы, при всех перечисленных достоинствах, далеко не сразу получили широкое распространение. В то время, как основные теоретические результаты в этой области были получены еще в 70-х, и тогда же появились первые прототипы реляционных систем управления базами данных, долгое время считалось невозможным эффективно реализовывать таких систем. Однако отмеченные выше преимущества реляционного подхода и поэтапное накопление методов и алгоритмов организации реляционных баз данных и управления ими привели к тому, что уже в середине 80-х годов реляционные системы практически вытеснили с мирового рынка более ранние системы управления базами данных, основанные не на реляционном подходе.
Отметим недостатки реляционных систем управления базами:
- присущая этим системам некоторая ограниченность (прямое следствие простоты) при использовании в так называемых нетрадиционных областях (наиболее распространенными примерами являются системы автоматизации проектирования), в которых требуются предельно сложные структуры данных.
- невозможность адекватного отражения семантики предметной области. Иначе говоря, возможности представления знаний о семантической специфике предметной области в реляционных системах существенно ограничены. Исследования, проводимые в настоящее время в области постреляционных систем, главным образом посвящены именно устранению приведенных выше недостатков.
В основном, в реляционной модели рассматриваются три аспекта данных:
структура данных или объекты данных;
целостность данных;
обработка данных или операторы.
Для управления реляционной базой данных Эдгар Кодд ввел реляционные языки обработки данных – реляционную алгебру и реляционное исчисление. Появление реляционных языков дополнительно к реляционной модели, которая сама по себе имела, безусловно, большое значение, явилось серьезным основанием для реляционной революции в области баз данных. Реляционные языки, позволяя манипулировать данными на основе только их логических характеристик, заняли одно из важнейших мест новой модели. В этом вопросе будут рассмотрены оба нововведения сформированные Коддом как язык манипулирования данными и учитывающий и реляционную алгебру и реляционные исчисления.
Реляционная алгебра является процедурным языком для обработки реляционных таблиц. Это означает, что в реляционной алгебре используется пошаговый подход к созданию реляционных таблиц, содержащих ответы на запросы. Огромное внимание, проявляемое к реляционной алгебре, обусловлено тем, что она породила многие термины, часто встречающиеся в коммерческих языках баз данных. Более того, некоторые коммерческие языки баз данных основаны на реляционной алгебре.
Реляционное исчисление – непроцедурный язык. В реляционном исчислении запрос создается путем определения таблицы запроса за один шаг.
Огромное значение реляционного исчисления обусловлено двумя причинами:
- оно базируется на исчислении предикатов формальной логики, которая является эффективным методом определения истинности высказывания на основе истинности его компонентов. Следовательно, реляционное исчисление имеет столь же твердую логическую основу, что и любой существующий язык программирования;
- реляционное исчисление лежит в основе некоторых коммерческих реляционных языков.
Кодд показал логическую эквивалентность реляционной алгебры и реляционного исчисления. Это означает, что любой запрос, который можно сформулировать при помощи реляционного исчисления, также можно сформулировать, пользуясь реляционной алгеброй, и наоборот. Данный факт позволил измерять логическую силу языка запросов. Если язык имеет как минимум те же возможности, что и реляционная алгебра, то он называется реляционно-полным. Таким образом, реляционная алгебра или реляционное исчисление являются эталоном при тестировании логических возможностей коммерческих реляционных языков.
И реляционная алгебра, и реляционное исчисление в том виде, как они были сформулированы Коддом, являются теоретическими языками.
Реляционная алгебра.
Основные операции по обновлению информации в реляционной базе данных – это операции не над отношениями, а над кортежами отношения. В этой теме будут рассмотрены операторы, применяемые к целым отношениям. Операторы реляционной алгебры используют одно или два из существующих отношений для создания нового отношения, которое затем может быть использовано в качестве операнда для нового оператора. Ценность поэтапного создания новых отношений на основе старых трудно переоценить, поскольку оно предоставляет пользователю широчайшие возможности для выполнения множества операций обработки данных. Оно также чрезвычайно уменьшает сложность создание запросов, поскольку позволяет экспериментировать до тех пор, пока не будет найден оптимальный способ решения поставленной задачи.
Напомним, что алгеброй называется множество объектов с заданной на нем совокупностью операций, замкнутых относительно этого множества. Реляционная алгебра или алгебра отношений представляет собой совокупность операций высокого уровня над отношениями. Реляционная алгебра определяет такие операции как: объединение; пересечение; разность; произведение; выбор; создание проекций; соединение; деление.
Первые четыре операции взяты Эдгаром Коддом из математической теории множеств и практически совпадают с операциями теории множеств. Правомерность подобных действий базируется на том факте, что, поскольку реляционные таблицы являются множествами, то вполне естественно, что к ним применимы операции над множествами. Следующие четыре – новые операции, относящиеся только к реляционной модели данных.
Надо помнить тот основополагающий момент, что одной из основных операций при работе с базой данных в реляционной теории является запрос. И выполнение всех перечисленных операций реляционной алгебры всегда направлено именно на реализацию запросов. Поэтому в ней отсутствуют любые конструкции, призванные объявлять, создавать или модифицировать данные.
Запрос – операция над отношениями, результатом которой является отношение. Под системой запросов будем понимать формальную систему для выражения запросов. Запрос с использованием реляционной алгебры задает алгоритм преобразования отношений, приводящий к требуемому результату.
Операции реляционной алгебры делятся на две группы – основные и дополнительные.
Основные операции реляционной алгебры.
Два отношения с одной и той же схемой могут быть рассмотрены как множества одного и того же универсума – множество всех возможных кортежей с этой схемой. К таким двум отношениям могут быть применены булевы операции. К основным операциям относятся следующие булевы операции: объединение, разность, декартово произведение.
Объединение (Union)
Пусть имеются отношения r и s, тогда отношение называется объединением r и s, если каждый кортеж, принадлежащий t, принадлежит или r, или s, или им обоим.
Пример 1
Пусть имеются следующие экземпляры отношений r и s, имеющих одинаковые схемы:
r | | s | ||||||
А | В | С | | D | E | F | ||
1 | 1 | С | | 2 | 3 | а | ||
2 | 2 | B | | 3 | 3 | b | ||
3 | 2 | с | | | | |
Тогда
r UNION s (t= ) | ||
А | В | С |
P | 1 | а |
P | 2 | b |
Q | 2 | с |
Q | 3 | а |
Необходимо сформировать ответ на следующий запрос: какие типы деталей входят в состав обоих изделий? Для достижения этой цели необходимо выполнить операцию результатом которой будет отношение содержащее все детали, которые входят в состав обоих изделий.
t | ||
Код_дет | Название | Вес |
01 | А | 1 |
02 | D | 2 |
03 | В | 2 |
04 | С | 3 |
Разность
Пусть имеются два отношения r и s, тогда отношение t = r - s называется разностью r и s, если каждый кортеж, принадлежащий t, принадлежит r, но не принадлежит s. Операция применяется к отношениям одной арности. Следует отметить, что операция разности является несимметричной операцией, и ее результат будет различным для разного порядка аргументов. В условиях примера 1 предыдущей операции имеем:
r-s | | s-r | ||||||
А | В | С | | D | E | F | ||
Р | 1 | а | | Q | 3 | а | ||
Р | 2 | b | | | | |
Пусть отношение r представляет потребности в некоторых видах деталей, а отношение s - сведения о тех видах деталей, которые фирма может произвести сама, тогда отношение t= r- s содержит сведения о тех видах деталей, которые нужно приобрести.
r – ПОТРЕБНОСТИ | | s – ВОЗМОЖНОСТИ | |||||
Код_дет | Название | Вес | | Код_дет | Название | Вес | |
01 | А | 1 | | 02 | D | 2 | |
02 | D | 2 | | 03 | В | 2 | |
03 | В | 2 | | 04 | С | 3 | |
04 | С | 3 | | | | | |
05 | E | 1 | | | | | |
| t = r - s | | |||||
| Код_дет | Название | Вес | | |||
| 01 | А | 1 | | |||
| 05 | Е | 1 | | |||
| | | | | | | |