Бесплатная техническая библиотека КОНСПЕКТЫ ЛЕКЦИЙ, ШПАРГАЛКИ
Базы данных. Реляционная алгебра. Унарные операции (самое важное) Справочник / Конспекты лекций, шпаргалки Оглавление (развернуть) Лекция № 4. Реляционная алгебра. Унарные операции Реляционная алгебра, как нетрудно догадаться, - это особая разновидность алгебры, в которой все операции производятся над реляционными моделями данных, т. е. над отношениями. В табличных терминах отношение включает в себя строки, столбцы и строку - заголовок столбцов. Поэтому естественными унарными операциями являются операции выбора определенных строк или столбцов, а также смены заголовков столбцов - переименования атрибутов. 1. Унарная операция выборки Первой унарной операцией, которую мы рассмотрим, является операция выборки - операция выбора строк из таблицы, представляющей отношение, по какому-либо принципу, т. е. выбор строк-кортежей, удовлетворяющих определенному условию или условиям. Оператор выборки обозначается σ<P>, условие выборки - P<S>, т. е., оператор σ берется всегда с определенным условием на кортежи P, а само условие P записывается зависящим от схемы отношения S. С учетом всего этого сама операция выборки над схемой отношения S применительно к отношению r будет выглядеть следующим образом: σ<P>r(S) ≡ σ<P>r = {t(S) |t ∈ r & P<S>t} = {t(S) |t ∈ r & IfNull(P<S>t, False}; Результатом этой операции будет новое отношение с той же схемой отношения S, состоящее из тех кортежей t(S) исходного отношения-операнда, которые удовлетворяют условию выборки P<S>t. Понятно, что для того, чтобы применить какое-то условие к кортежу, необходимо подставить значения атрибутов кортежа вместо имен атрибутов. Чтобы лучше понять принцип работы этой операции, приведем пример. Пусть дана следующая схема отношения: S: Сессия (№ зачетной книжки, Фамилия, Предмет, Оценка). Условие выборки возьмем такое: P<S> = (Предмет = ‘Информатика’ and Оценка > 3). Нам необходимо из исходного отношения-операнда выделить те кортежи, в которых содержится информация о студентах, сдавших предмет "Информатика" не ниже, чем на три балла. Пусть также дан следующий кортеж из этого отношения: t0(S) ∈ r(S): {(№ зачетной книжки: 100), (Фамилия: ‘Иванов’), (Предмет: ‘Базы данных’), (Оценка: 5)}; Применяем наше условие выборки к кортежу t0, получаем: P<S>t0 = (‘Базы данных’ = ‘Информатика’ and 5 > 3); На данном конкретном кортеже условие выборки не выполняется. А вообще результатом этой конкретной выборки σ<Предмет = 'Информатика' and Оценка > 3 > Сессия будет таблица "Сессия", в которой оставлены строки, удовлетворяющие условию выборки. 2. Унарная операция проекции Еще одна стандартная унарная операция, которую мы изучим, - это операция проекции. Операция проекции - это операция выбора столбцов из таблицы, представляющей отношение, по какому-либо признаку. А именно машина выбирает те атрибуты (т. е. буквально те столбцы) исходного отношения-операнда, которые были указаны в проекции. Оператор проекции обозначается [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)|a ∈ def(t) ∩ S’}, S' ⊆S. Важно заметить, что дубликаты кортежей из результата исключаются, т. е. в таблице, представляющей новое, результирующее отношение повторяющихся строк не будет. С учетом всего вышесказанного, операция проекции в терминах систем управления базами данных будет выглядеть следующим образом: π<S'>r(S) ≡ π<S’>r ≡ r(S) [S’] ≡ r [S' ] = {t(S) [S’] | t ∈ r }; Рассмотрим пример, иллюстрирующий принцип работы операции выборки. Пусть дано отношение "Сессия" и схема этого отношения: S: Сессия (№ зачетной книжки, Фамилия, Предмет, Оценка); Нас будут интересовать только два атрибута из этой схемы, а именно "№ зачетной книжки" и "Фамилия" студента, поэтому подсхема S' будет выглядеть следующим образом: S' : (№ зачетной книжки, Фамилия). Нужно исходное отношение r(S) спроецировать на подсхему S'. Далее, пусть нам дан кортеж t0(S) из исходного отношения: t0(S) ∈ r(S): {(№ зачетной книжки: 100), (Фамилия: ‘Иванов’), (Предмет: ‘Базы данных’), (Оценка: 5)}; Значит, проекция этого кортежа на данную подсхему S' будет выглядеть следующим образом: t0(S) S': {(№ зачетной книжки: 100), (Фамилия: ‘Иванов’)}; Если говорить об операции проекции в терминах таблиц, то проекция Сессия [№ зачетной книжки, Фамилия] исходного отношения - это таблица Сессия, из которой вычеркнуты все столбцы, кроме двух: № зачетной книжки и Фамилия. Кроме того, все дублирующиеся строки также удалены. 3. Унарная операция переименования И последняя унарная операция, которую мы рассмотрим, - это операция переименования атрибутов. Если говорить об отношении как о таблице, то операция переименования нужна для того, чтобы поменять названия всех или некоторых столбцов. Оператор переименования выглядит следующим образом: ρ<φ>, здесь φ - функция переименования. Эта функция устанавливает взаимно-однозначное соответствие между именами атрибутов схем S и Ŝ, где соответственно S - схема исходного отношения, а Ŝ - схема отношения с переименованными атрибутами. Таким образом, оператор ρ<φ> в применении к отношению r(S) дает новое отношение со схемой Ŝ, состоящее из кортежей исходного отношения только с переименованными атрибутами. Запишем операцию переименования атрибутов в терминах систем управления базами данных: ρ<φ> r(S) ≡ ρ<φ>r = {ρ<φ> t(S)| t ∈ r}; Приведем пример использования этой операции: Рассмотрим уже знакомое нам отношение Сессия, со схемой: S: Сессия (№ зачетной книжки, Фамилия, Предмет, Оценка); Введем новую схему отношения Ŝ, с другими именами атрибутов, которые мы бы хотели видеть вместо имеющихся: Ŝ : (№ ЗК, Фамилия, Предмет, Балл); Например, заказчик базы данных захотел в вашем готовом отношении видеть другие названия. Чтобы воплотить в жизнь этот заказ, необходимо спроектировать следующую функцию переименования: φ : (№ зачетной книжки, Фамилия, Предмет, Оценка) → (№ ЗК, Фамилия, Предмет, Балл); Фактически, требуется поменять имя только у двух атрибутов, поэтому законно будет записать следующую функцию переименования вместо имеющейся: φ : (№ зачетной книжки, Оценка) → (№ ЗК, Балл); Далее, пусть дан также уже знакомый нам кортеж принадлежащий отношению Сессия: t0(S) ∈ r(S): {(№ зачетной книжки: 100), (Фамилия: ‘Иванов’), (Предмет: ‘Базы данных’), (Оценка: 5)}; Применим оператор переименования к этому кортежу: ρ<φ> t0(S): {(№ ЗК: 100), (Фамилия: ‘Иванов’), (Предмет: ‘Базы данных’), (Балл: 5)}; Итак, это один из кортежей нашего отношения, у которого переименовали атрибуты. В табличных терминах отношение ρ < № зачетной книжки, Оценка → "№ ЗК, Балл > Сессия - это новая таблица, полученная из таблицы отношения "Сессия", переименованием указанных атрибутов. 4. Свойства унарных операций У унарных операций, как и у любых других, есть определенные свойства. Рассмотрим наиболее важные из них. Первым свойством унарных операций выборки, проекции и переименования является свойство, характеризующее соотношение мощностей отношений. (Напомним, что мощность - это количество кортежей в том или ином отношении.) Понятно, что здесь рассматривается соответственно отношение исходное и отношение, полученное в результате применения той или иной операции. Заметим, что все свойства унарных операций следуют непосредственно из их определений, поэтому их можно легко объяснить и даже при желании вывести самостоятельно. Итак: 1) соотношение мощностей: а) для операции выборки: | σ<P>r |≤ |r|; б) для операции проекции: | r[S'] | ≤ |r|; в) для операции переименования: | ρ<φ>r | = |r|; Итого, мы видим, что для двух операторов, а именно для оператора выборки и оператора проекции, мощность исходных отношений - операндов больше, чем мощность отношений, получаемых из исходных применением соответствующих операций. Это происходит потому, что при выборе, сопутствующему действию этих двух операций выборки и проекции, происходит исключение некоторых строк или столбцов, не удовлетворивших условиям выбора. В том случае, когда условиям удовлетворяют все строки или столбцы, уменьшения мощности (т. е. количества кортежей) не происходит, поэтому в формулах неравенство нестрогое. В случае же операции переименования, мощность отношения не изменяется, за счет того, что при смене имен никакие кортежи из отношения не исключаются; 2) свойство идемпотентности: а) для операции выборки: σ<P> σ<P>r = σ<P>; б) для операции проекции: r [S’] [S’] = r [S']; в) для операции переименования в общем случае свойство идемпотентности неприменимо. Это свойство означает, что двойное последовательное применение одного и того же оператора к какому-либо отношению равносильно его однократному применению. Для операции переименования атрибутов отношения, вообще говоря, это свойство может быть применено, но обязательно со специальными оговорками и условиями. Свойство идемпотентности очень часто используется для упрощения вида выражения и приведения его к более экономичному, актуальному виду. И последнее свойство, которое мы рассмотрим, - это свойство монотонности. Интересно заметить, что при любых условиях все три оператора монотонны; 3) свойство монотонности: а) для операции выборки: r1 ⊆ r2 ⇒ σ<P> r1 ⇒ σ <P>r2; б) для операции проекции: r1 ⊆ r2 ⇒ r1[S'] ⊆ r2 [S']; в) для операции переименования: r1 ⊆ r2 ⇒ ρ<φ>r1 ⊆ ρ <φ>r2; Понятие монотонности в реляционной алгебре аналогично этому же понятию из алгебры обычной, общей. Поясним: если изначально отношения r1 и r2 были связаны между собой таким образом, что r ⊆ r2, то и после применения любого их трех операторов выборки, проекции или переименования это соотношение сохранится. << Назад: Реляционные объекты данных (Требования к табличной форме представления отношений. Домены и атрибуты. Схемы отношений. Именованные значения кортежей. Кортежи. Типы кортежей. Отношения. Типы отношений) >> Вперед: Реляционная алгебра. Бинарные операции (Операции объединения, пересечения, разности. Операции декартового произведения и естественного соединения. Свойства бинарных операций. Варианты операций соединения. Производные операции. Выражения реляционной алгебры) Рекомендуем интересные статьи раздела Конспекты лекций, шпаргалки: ▪ Контроль и ревизия. Конспект лекций ▪ Психология личности. Шпаргалка Смотрите другие статьи раздела Конспекты лекций, шпаргалки. Читайте и пишите полезные комментарии к этой статье. Последние новости науки и техники, новинки электроники: Застывание сыпучих веществ
30.04.2024 Имплантированный стимулятор мозга
30.04.2024 Восприятие времени зависит от того, на что человек смотрит
29.04.2024
Другие интересные новости: ▪ Микросхема ZL33020 для использования в сети Ethernet ▪ Автомобильные шины следят за своим износом ▪ Intel Core i7-3970X Extreme Edition ▪ Игра в Тетрис избавит от мучительных воспоминаний Лента новостей науки и техники, новинок электроники
Интересные материалы Бесплатной технической библиотеки: ▪ раздел сайта Личный транспорт: наземный, водный, воздушный. Подборка статей ▪ статья Робот Орион. Советы моделисту ▪ статья Ориентирование карты по компасу. Советы туристу ▪ статья Автомобильный УНЧ на микросхеме TDA1562Q. Энциклопедия радиоэлектроники и электротехники ▪ статья Мокрый локоть. Секрет фокуса
Оставьте свой комментарий к этой статье: All languages of this page Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте www.diagram.com.ua |