Проекцией отношения А по атрибутам X, Y,..., Z, где каждый из атрибутов принадлежит отношению А
A [ X, Y, …, Z ] называется отношение с заголовком {X, Y,..., Z} и телом, содержащим множество всех кортежей {Х:х, Y:y,..., Z:z}, таких, для которых в отношении А значение атрибута Х равно х, атрибута Y равно y, ..., атрибута Z равно z.
Таким образом, с помощью оператора проекции получено "вертикальное" подмножество данного отношения, т.е. подмножество, получаемое исключением всех атрибутов, не указанных в списке атрибутов, и последующим исключением дублирующих кортежей (рис. 4.7).
A
CityNo | CityName | RgNo |
Желтые Воды | ||
Кривой Рог | ||
Пятихатки | ||
Львов |
A [CityName]
CityName |
Желтые Воды |
Кривой Рог |
Пятихатки |
Львов |
рис. 4.7 Исходное отношение A и результат операции проекции отношения A по атрибуту CityName.
Никакой атрибут не может быть указан в списке атрибутов более одного раза. Синтаксис позволяет опустить список атрибутов совсем (вместе с квадратными скобками). Действие такой операции эквивалентно указанию списка всех атрибутов исходного отношения, т.е. такая операция представляет собой тождественную проекцию. Другими словами, имя отношения является допустимым реляционным выражением. Проекция вида R[ ], т.е. такая, в которой список атрибутов не пропущен, но пустой, тоже допустима. Она представляет собой "нулевую" проекцию.