Книга: Базы данных: конспект лекций
3. Унарная операция переименования
3. Унарная операция переименования
И последняя унарная операция, которую мы рассмотрим, – это операция переименования атрибутов. Если говорить об отношении как о таблице, то операция переименования нужна для того, чтобы поменять названия всех или некоторых столбцов.
Оператор переименования выглядит следующим образом: ?<?>, здесь ? —функция переименования.
Эта функция устанавливает взаимно-однозначное соответствие между именами атрибутов схем S и ?, где соответственно S — схема исходного отношения, а ? — схема отношения с переименованными атрибутами. Таким образом, оператор ?<?> в применении к отношению r(S) дает новое отношение со схемой ?, состоящее из кортежей исходного отношения только с переименованными атрибутами.
Запишем операцию переименования атрибутов в терминах систем управления базами данных:
?<?> r(S) ? ?<?>r = {?<?> t(S)| t ? r};
Приведем пример использования этой операции:
Рассмотрим уже знакомое нам отношение Сессия, со схемой:
S: Сессия (№ зачетной книжки, Фамилия, Предмет, Оценка);
Введем новую схему отношения ?, с другими именами атрибутов, которые мы бы хотели видеть вместо имеющихся:
? : (№ ЗК, Фамилия, Предмет, Балл);
Например, заказчик базы данных захотел в вашем готовом отношении видеть другие названия. Чтобы воплотить в жизнь этот заказ, необходимо спроектировать следующую функцию переименования:
? : (№ зачетной книжки, Фамилия, Предмет, Оценка) ? (№ ЗК, Фамилия, Предмет, Балл);
Фактически, требуется поменять имя только у двух атрибутов, поэтому законно будет записать следующую функцию переименования вместо имеющейся:
? : (№ зачетной книжки, Оценка) ? (№ ЗК, Балл);
Далее, пусть дан также уже знакомый нам кортеж принадлежащий отношению Сессия:
t0(S) ? r(S): {(№ зачетной книжки: 100), (Фамилия: ‘Иванов’), (Предмет: ‘Базы данных’), (Оценка: 5)};
Применим оператор переименования к этому кортежу:
?<?> t0(S): {(№ ЗК: 100), (Фамилия: ‘Иванов’), (Предмет: ‘Базы данных’), (Балл: 5)};
Итак, это один из кортежей нашего отношения, у которого переименовали атрибуты.
В табличных терминах отношение
? < № зачетной книжки, Оценка ? «№ ЗК, Балл > Сессия —
это новая таблица, полученная из таблицы отношения «Сессия», переименованием указанных атрибутов.