Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Лекция № 4. Реляционная алгебра. Унарные операции





 

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

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

 

Унарная операция выборки

 

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

Оператор выборки обозначается σ < P >, условие выборкиP < S >, т. е., оператор σ берется всегда с определенным условием на кортежи P, а само условие P записывается зависящим от схемы отношения S. С учетом всего этого сама операция выборки над схемой отношения S применительно к отношению r будет выглядеть следующим образом:

 

σ < P > r (S) σ < P > r = { t (S) | tr & P < S > t } = { t (S) | tr & IfNull (P < S > t, False };

 

Результатом этой операции будет новое отношение с той же схемой отношения S, состоящее из тех кортежей t (S) исходного отношения‑операнда, которые удовлетворяют условию выборки P<S>t. Понятно, что для того, чтобы применить какое‑то условие к кортежу, необходимо подставить значения атрибутов кортежа вместо имен атрибутов.

Чтобы лучше понять принцип работы этой операции, приведем пример. Пусть дана следующая схема отношения:

 

S: Сессия (№ зачетной книжки, Фамилия, Предмет, Оценка).

 

Условие выборки возьмем такое:

 

P < S > = (Предмет = ‘Информатика’ and Оценка > 3).

 

Нам необходимо из исходного отношения‑операнда выделить те кортежи, в которых содержится информация о студентах, сдавших предмет «Информатика» не ниже, чем на три балла.

Пусть также дан следующий кортеж из этого отношения:

 

t 0(S) ∈ r (S): {(№ зачетной книжки: 100), (Фамилия: ‘Иванов’), (Предмет: ‘Базы данных’), (Оценка: 5)};

 

Применяем наше условие выборки к кортежу t 0, получаем:

 

P<S>t 0 = (‘Базы данных’ = ‘Информатика’ and 5 > 3);

 

На данном конкретном кортеже условие выборки не выполняется.

А вообще результатом этой конкретной выборки

 

σ <Предмет = 'Информатика' and Оценка > 3 > Сессия

 

будет таблица «Сессия», в которой оставлены строки, удовлетворяющие условию выборки.

 

Унарная операция проекции

 

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

Оператор проекции обозначается [ S' ] или π<S'>. Здесь S' – подсхема исходной схемы отношения S, т. е. ее некоторые столбцы. Что это означает? Это означает, что у S’ атрибутов меньше, чем у S, потому что в S' остались только те из них, для которых выполнилось условие проекции. А в таблице, представляющей отношение r (S'), строк столько же, сколько их у таблицы r (S), а столбцов – меньше, так как остались только соответствующие оставшимся атрибутам. Таким образом, оператор проекции π< S'> применительно к отношению r (S) дает в результате новое отношение с другой схемой отношения r (S'), состоящее из проекций t (S) [ S' ] кортежей исходного отношения. Как определяются эти проекции кортежей? Проекция любого кортежа t (S) исходного отношения r (S) на подсхему S' определяется следующей формулой:

 

t (S) [ S’ ] = { t (a)| adef (t) ∩ S ’}, S ' ⊆ S.

 

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

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

 

π < S' > r (S) ≡ π < S’ > rr (S) [ S ’] ≡ r [ S' ] = { t (S) [ S’ ] | tr };

 

Рассмотрим пример, иллюстрирующий принцип работы операции выборки.

Пусть дано отношение «Сессия» и схема этого отношения:

 

S: Сессия (№ зачетной книжки, Фамилия, Предмет, Оценка);

 

Нас будут интересовать только два атрибута из этой схемы, а именно «№ зачетной книжки» и «Фамилия» студента, поэтому подсхема S' будет выглядеть следующим образом:

 

S': (№ зачетной книжки, Фамилия).

 

Нужно исходное отношение r (S) спроецировать на подсхему S'.

Далее, пусть нам дан кортеж t 0(S) из исходного отношения:

 

t 0(S) ∈ r (S): {(№ зачетной книжки: 100), (Фамилия: ‘Иванов’), (Предмет: ‘Базы данных’), (Оценка: 5)};

 

Значит, проекция этого кортежа на данную подсхему S' будет выглядеть следующим образом:

 

t 0(S) S': {(№ зачетной книжки: 100), (Фамилия: ‘Иванов’)};

 

Если говорить об операции проекции в терминах таблиц, то проекция Сессия [№ зачетной книжки, Фамилия] исходного отношения – это таблица Сессия, из которой вычеркнуты все столбцы, кроме двух: № зачетной книжки и Фамилия. Кроме того, все дублирующиеся строки также удалены.

 

Унарная операция переименования

 

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

Оператор переименования выглядит следующим образом: ρ<φ >, здесь φ – функция переименования.

Эта функция устанавливает взаимно‑однозначное соответствие между именами атрибутов схем S и Ŝ, где соответственно S – схема исходного отношения, а Ŝ схема отношения с переименованными атрибутами. Таким образом, оператор ρ < φ> в применении к отношению r (S) дает новое отношение со схемой Ŝ, состоящее из кортежей исходного отношения только с переименованными атрибутами.

Запишем операцию переименования атрибутов в терминах систем управления базами данных:

 

ρ < φ > r (S) ≡ ρ < φ > r = { ρ < φ > t (S)| tr };

 

Приведем пример использования этой операции:

Рассмотрим уже знакомое нам отношение Сессия, со схемой:

 

S: Сессия (№ зачетной книжки, Фамилия, Предмет, Оценка);

 

Введем новую схему отношения Ŝ, с другими именами атрибутов, которые мы бы хотели видеть вместо имеющихся:

 

Ŝ: (№ ЗК, Фамилия, Предмет, Балл);

 

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

 

φ: (№ зачетной книжки, Фамилия, Предмет, Оценка) → (№ ЗК, Фамилия, Предмет, Балл);

 

Фактически, требуется поменять имя только у двух атрибутов, поэтому законно будет записать следующую функцию переименования вместо имеющейся:

 

φ: (№ зачетной книжки, Оценка) (№ ЗК, Балл);

 

Далее, пусть дан также уже знакомый нам кортеж принадлежащий отношению Сессия:

 

t 0(S) ∈ r (S): {(№ зачетной книжки: 100), (Фамилия: ‘Иванов’), (Предмет: ‘Базы данных’), (Оценка: 5)};

 

Применим оператор переименования к этому кортежу:

 

ρ<φ> t 0(S): {(№ ЗК: 100), (Фамилия: ‘Иванов’), (Предмет: ‘Базы данных’), (Балл: 5)};

 

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

В табличных терминах отношение

 

ρ < № зачетной книжки, Оценка «№ ЗК, Балл > Сессия –

 

это новая таблица, полученная из таблицы отношения «Сессия», переименованием указанных атрибутов.

 

Свойства унарных операций

 

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

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

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

Итак:

1) соотношение мощностей:

а) для операции выборки: | σ < P > r |≤ | r |;

б) для операции проекции: | r [ S' ] | ≤ | r |;

в) для операции переименования: | ρ < φ > r | = | r |;

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

В случае же операции переименования, мощность отношения не изменяется, за счет того, что при смене имен никакие кортежи из отношения не исключаются;

2) свойство идемпотентности:

а) для операции выборки: σ < P > σ < P > r = σ < P >;

б) для операции проекции: r [ S’ ] [ S’ ] = r [ S' ];

в) для операции переименования в общем случае свойство идемпотентности неприменимо.

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

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

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

И последнее свойство, которое мы рассмотрим, – это свойство монотонности. Интересно заметить, что при любых условиях все три оператора монотонны;

3) свойство монотонности:

а) для операции выборки: r 1 r 2σ < P > r 1 σ < P > r 2;

б) для операции проекции: r 1 r 2 r 1[ S' ] r 2 [ S' ];

в) для операции переименования: r 1 r 2 ρ < φ > r 1ρ < φ > r 2;

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

 

 







ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала...

ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...

Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор...

Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.