Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Управление данными (пособие).pdf
Скачиваний:
280
Добавлен:
21.05.2015
Размер:
5.42 Mб
Скачать

7.Реляционная модель. Операции над данными

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

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

7.1.Реляционная алгебра

Основы реляционной алгебры были заложены Коддом. Его первая статья на эту тему появилась в 1970г.

Реляционная алгебра задает набор операторов для выполнения операций над реляционными отношениями.

Восемь основных операторов реляционной алгебры можно разделить на две группы:

операторы, представляющие собой традиционные операции над множествами, а именно: объединение, пересечение, вычитание и декартово произведение;

специальные реляционные операторы: выборка, проекция, соединение и деление.

Сам по себе этот набор операторов не представлял бы большой ценности, если бы реляционная алгебра не обладала свойством замкнутости.

Замкнутость реляционной алгебры, состоит в следующем:

входными операндами, которые принимают операторы реляционной алгебры, являются реляционные отношения;

52

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

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

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

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

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

53

Операции реляционной алгебры. Объединение отношений.

Объединение двух совместных по типу отношений А и В (A UNION B) называется отношение с тем же заголовком, как и в отношении А и В, и с телом состоящим из множества всех кортежей t, принадлежащих А и В или обоим отношениям.

Под совместными по типу отношениями понимают отношения, заголовки которых имеют одно и то же множество атрибутов, и, при этом, соответствующие атрибуты этих заголовков определены на одних и тех же доменах.

Пример

А

КОД

ИМЯ

ФАКУЛЬТЕТ

КУРС

С2

Иванов

Физический

1

С5

Петрова

Химический

2

В

КОД

ИМЯ

ФАКУЛЬТЕТ

КУРС

С5

Петрова

Химический

2

С4

Сидоров

Физический

2

А UNION B

 

 

 

КОД

ИМЯ

ФАКУЛЬТЕТ

КУРС

С2

Иванов

Физический

1

С5

Петрова

Химический

2

С5

Петрова

Химический

2

С4

Сидоров

Физический

2

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

54

Пересечение отношений

Пересечением совместимых по типу отношений А и В (А INTERSECT B) называется отношение с тем же заголовком, как и в отношениях А и В, и с телом, состоящим из множества всех кортежей t, принадлежащих одновременно обоим отношениям А и В.

Пример

Пусть входные отношения А и В имеют тот же вид, что в предыдущем примере, тогда на выходе получим

А INTERSECT B

КОД

ИМЯ

ФАКУЛЬТЕТ

КУРС

С5

Петрова

Химический

2

Вычитание отношений

Вычитанием двух совместимых по типу отношений А и В (А MINUS B) называется отношением с тем же заголовком, как и в отношениях А и В, и с телом, состоящим из множества всех кортежей t, принадлежащих отношению А и не принадлежащих отношению В.

Пример.

Пусть снова входные отношения А и В будут такими

же, как в предыдущих двух примерах. На выходе

операции будем иметь

А MINUS B

КОД

ИМЯ

ФАКУЛЬТЕТ

КУРС

С2

Иванов

Физический

1

Декартово произведение отношений

В теории множеств декартовым произведением двух множеств является множество всех упорядоченных пар элементов, таких, что первый элемент в каждой паре берется из первого множества, а второй элемент в каждой паре берется из второго множества.

Расширение этого определения на произведение двух отношений, которое также является множеством кортежей, имеет следующий вид.

Пусть заданы два отношения А и В. Отношение А представляет собой множество кортежей вида

55

{<A1: ai1>,< A2: ai2>,…< An: ain>}, где i = 1,2,…,M, и M-количество кортежей в отношении А,

{A1,A2,…,An} – множество атрибутов отношения А, а

{ai1,ai2,…,ain} - соответственно множество значений этих атрибутов в i-ом кортеже отношения А,

и отношение В, является множеством кортежей вида

{<B1: bj1>,<B2: bj2>,…<Bk: bjk>}, где j = 1,2,…, L, и L – количество картежей в отношении В,

{B1, B2, …, Bk} – множество атрибутов отношения В, а

{bj1, bj2, …, bjk} – соответственно множество значений этих атрибутов в j-ом кортеже отношения В.

Декартовым произведением двух отношений А и В (A TIMES B) является отношение, заголовком которого является сцепление заголовков отношений А и В, т.е. множество {A1, A2, …, An, B1, B2, …, Bk}, при этом требуется чтобы отношения А и В не имели атрибутов с одинаковыми именами.

Тело этого отношения (декартова произведения) представляет собой множество кортежей, являющихся сцеплением множества всех пар картежей отношений А и В, следующего вида.

{<A1:ai1>,<A2:ai2>,…<An:ain>,<B1:bj1>,<B2:bj2>,…<Bk: bjk>}, т.е. каждый кортеж отношения А, сцепляется с каждым кортежем отношения В.

Отсюда следует, что степень отношения, являющегося декартовым произведением, равна сумме степеней входных отношений, т.е. n+k, а его кардинальное число равно произведению их кардинальных чисел, т.е. M+L.

Пример

A

 

B

 

A TIMES B

 

ИМЯ

 

ДИСЦИПЛИНА

 

ИМЯ

ДИСЦИПЛИНА

Иванов

 

Физика

 

Иванов

Физика

Петров

 

Математика

 

Иванов

Математика

Сидоров

 

Информатика

 

Иванов

Информатика

Попов

 

 

 

Петров

Физика

 

 

 

 

Петров

Математика

 

 

 

 

Петров

Информатика

 

 

 

 

Сидоров

Физика

 

 

 

 

Сидоров

Математика

 

 

 

 

Сидоров

Информатика

 

 

 

 

Попов

Физика

 

 

 

 

Попов

Математика

 

 

 

 

Попов

Информатика

Следует заметить, что с практической точки зрения операция декартова произведения сама по себе не имеет большого значения, так как она не