![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Лекция № 4. Реляционная алгебра. Унарные операцииСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Реляционная алгебра, как нетрудно догадаться, – это особая разновидность алгебры, в которой все операции производятся над реляционными моделями данных, т. е. над отношениями. В табличных терминах отношение включает в себя строки, столбцы и строку – заголовок столбцов. Поэтому естественными унарными операциями являются операции выбора определенных строк или столбцов, а также смены заголовков столбцов – переименования атрибутов.
Унарная операция выборки
Первой унарной операцией, которую мы рассмотрим, является операция выборки – операция выбора строк из таблицы, представляющей отношение, по какому‑либо принципу, т. е. выбор строк‑кортежей, удовлетворяющих определенному условию или условиям. Оператор выборки обозначается σ < 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).
Нам необходимо из исходного отношения‑операнда выделить те кортежи, в которых содержится информация о студентах, сдавших предмет «Информатика» не ниже, чем на три балла. Пусть также дан следующий кортеж из этого отношения:
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)| 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'. Далее, пусть нам дан кортеж t 0(S) из исходного отношения:
t 0(S) ∈ r (S): {(№ зачетной книжки: 100), (Фамилия: ‘Иванов’), (Предмет: ‘Базы данных’), (Оценка: 5)};
Значит, проекция этого кортежа на данную подсхему S' будет выглядеть следующим образом:
t 0(S) S': {(№ зачетной книжки: 100), (Фамилия: ‘Иванов’)};
Если говорить об операции проекции в терминах таблиц, то проекция Сессия [№ зачетной книжки, Фамилия] исходного отношения – это таблица Сессия, из которой вычеркнуты все столбцы, кроме двух: № зачетной книжки и Фамилия. Кроме того, все дублирующиеся строки также удалены.
|
|||||||||||||||||||||
Последнее изменение этой страницы: 2017-01-27; просмотров: 485; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.98.100 (0.011 с.) |