Проекция

Пусть задано отношение А с атрибутами X, Y, ... , Z. Тогда проекцией отношения А по атрибутам X, У, ... , Z (что записывается как А {X, Y, ... , Z }) называется отношение, удовлетворяющее следующим требованиям.

■ Его заголовок получается из заголовка отношения А посредством удаления из него всех атрибутов, не входящих в множество {X, Y, ... , Z}.

■ Его тело содержит множество всех кортежей вида {X:x, Y:y, ... , Z:z}, таких, для которых в отношении А значение атрибута X равно х, значение атрибута Y равно у,..., значение атрибута Z равно z.

Таким образом, с помощью оператора проекции создается "вертикальное" подмножество заданного отношения, т.е. подмножество, получаемое путем исключения всех атрибутов, не указанных в заданном списке атрибутов, с последующим исключением дублирующихся кортежей (подкортежей) из того, что осталось от исходного отношения.

Из этого определения можно сделать следующие выводы

1. Никакой атрибут не может быть указан в списке атрибутов более одного раза.

2. Если в списке атрибутов указаны все атрибуты отношения А, то такая проекция представляет собой тождественную проекцию.

3. Проекция вида А{ } (т.е. такая, в которой список атрибутов пуст) также допустима.

Она представляет собой нулевую проекцию.

Несколько примеров операции проекции показано на рис.5. В первом примере (проекция отношения поставщиков по атрибуту CITY), несмотря на то, что исходное отношение S имеет пять кортежей (и, следовательно, пять значений городов), в результирующем отношении присутствует только три города, поскольку дублирующиеся кортежи исключены. Аналогичные замечания можно сделать и для других примеров.

 

Рис.9. Примеры операций проекции.