1 ...6 7 8 10 11 12 ...69 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), (Фамилия: ‘Иванов’)};
Если говорить об операции проекции в терминах таблиц, то проекция Сессия [№ зачетной книжки, Фамилия] исходного отношения – это таблица Сессия, из которой вычеркнуты все столбцы, кроме двух: № зачетной книжки и Фамилия. Кроме того, все дублирующиеся строки также удалены.
3. Унарная операция переименования
И последняя унарная операция, которую мы рассмотрим, – это операция переименования атрибутов. Если говорить об отношении как о таблице, то операция переименования нужна для того, чтобы поменять названия всех или некоторых столбцов.
Оператор переименованиявыглядит следующим образом: ρ<���φ >, здесь φ — функция переименования.
Эта функция устанавливает взаимно-однозначное соответствие между именами атрибутов схем S и Ŝ, где соответственно S — схема исходного отношения, а Ŝ — схема отношения с переименованными атрибутами. Таким образом, оператор ρ < φ> в применении к отношению r ( S ) дает новое отношение со схемой Ŝ , состоящее из кортежей исходного отношения только с переименованными атрибутами.
Запишем операцию переименования атрибутов в терминах систем управления базами данных:
ρ < φ > r ( S ) ≡ ρ < φ > r = { ρ < φ > t ( S )| t ∈ r };
Приведем пример использования этой операции:
Рассмотрим уже знакомое нам отношение Сессия, со схемой:
S: Сессия (№ зачетной книжки, Фамилия, Предмет, Оценка);
Введем новую схему отношения Ŝ, с другими именами атрибутов, которые мы бы хотели видеть вместо имеющихся:
Ŝ : (№ ЗК, Фамилия, Предмет, Балл);
Например, заказчик базы данных захотел в вашем готовом отношении видеть другие названия. Чтобы воплотить в жизнь этот заказ, необходимо спроектировать следующую функцию переименования:
φ : (№ зачетной книжки, Фамилия, Предмет, Оценка) → (№ ЗК, Фамилия, Предмет, Балл);
Фактически, требуется поменять имя только у двух атрибутов, поэтому законно будет записать следующую функцию переименования вместо имеющейся:
φ : (№ зачетной книжки, Оценка) →(№ ЗК, Балл);
Далее, пусть дан также уже знакомый нам кортеж принадлежащий отношению Сессия:
t 0( S ) ∈ r ( S ) : {(№ зачетной книжки: 100), (Фамилия: ‘Иванов’), (Предмет: ‘Базы данных’), (Оценка: 5)};
Применим оператор переименования к этому кортежу:
ρ<���φ> t 0( S ) : {(№ ЗК: 100), (Фамилия: ‘Иванов’), (Предмет: ‘Базы данных’), (Балл: 5)};
Итак, это один из кортежей нашего отношения, у которого переименовали атрибуты.
В табличных терминах отношение
ρ < № зачетной книжки, Оценка →«№ ЗК, Балл > Сессия —
это новая таблица, полученная из таблицы отношения «Сессия», переименованием указанных атрибутов.
Читать дальше
Конец ознакомительного отрывка
Купить книгу