BD-1st-2.4-lab8.tresc-1.1-Slajd16
Perspektywy złożone niemodyfikowalne
Perspektywy, które nie spełniają warunków omówionych na dwóch poprzednich slajdach, są perspektywami złożonymi, niemodyfikowalnymi. Na slajdzie przedstawiono dwie przykładowe perspektywy, które są niemodyfikowalne. Przykład (1) pokazuje perspektywę, która przedstawia średnią i maksymalną płacę pracowników na danym etacie, oraz ich liczbę, całość posortowaną według najwyższej płacy w etacie. Ponieważ w perspektywie wykorzystano grupowanie, funkcje grupowe i sortowanie, jest to perspektywa niemodyfikowalna. Przykład drugi pokazuje perspektywę, która nie zawiera operatorów zbiorowych, operatora DISTINCT, funkcji grupowej oraz klauzul GROUP BY i ORDER BY. Rozważmy zatem połączenia wykonywane w zapytaniu tej perspektywy i zastanówmy się, czy któraś z relacji zachowuje klucz. Pierwszym połączeniem jest połączenie naturalne relacji PRACOWNICY z relacją ZESPOLY z warunkiem równościowym zdefiniowanym na atrybucie ID_ZESP. Identyczne połączenie rozważane było już na poprzednim slajdzie (przykład (1)). Ustalono wówczas, że w wyniku tego połączenia klucza nie zachowuje relacja ZESPOLY. Tutaj jest tak samo. Kolejnym połączeniem jest połączenie wyniku poprzedniego połączenia z relacją etaty. Jest to połączenie nierównościowe, w którym placa podstawowa pracownika musi się mieścić w widełkach płacowych skojarzonych z konkretnym etatem. Ponieważ wielu pracowników może mieć identyczną płacę, a dodatkowo jedna płaca może pasować do więcej niż jednej kategorii, to krotki z obu łączonych relacji zostaną zwielokrotnione. W rezultacie żadna z relacji w tej perspektywie nie zachowuje klucza i perspektywa jest niemodyfikowalna.