Коллектив авторов

Базы данных: конспект лекций


Скачать книгу

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

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

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

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

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

      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)| tr};

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

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

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

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

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

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

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

      Фактически,