1
|
- Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych,
perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.
|
2
|
- Perspektywa (ang. view) jest strukturą logiczną udostępniającą wybrane
informacje przechowywane w relacjach bazy danych
- Własności
- definiowana w oparciu o relacje (relacje bazowe) lub inne perspektywy
(perspektywy bazowe),
- nie posiada własnych danych, nie jest materializowana na dysku
- przechowywana w postaci zapytania
- Cel stosowania
- ograniczenie dostępu do danych - zabezpieczenie przed nieautoryzowanym
dostępem
- uproszczenie schematu bazy danych, uproszczenie zapytań
- uniezależnienie aplikacji od zmian w strukturze bazy danych
- prezentowanie danych w inny sposób niż dane w relacjach i perspektywach
bazowych (m.in. zmiana nazw atrybutów, formatów danych, itp.)
- dodatkowa kontrola poprawności wprowadzanych danych (perspektywy z
kontrolą ograniczeń integralnościowych)
|
3
|
- proste
- Oparte na jednej relacji bazowej
- Nie zawierają: operatorów zbiorowych, operatora DISTINCT, funkcji
grupowych i analitycznych, grupowania, sortowania, klauzul CONNECT BY i
START WITH, kolekcji i podzapytań w klauzuli SELECT
- złożone
- Oparte na wielu relacjach i perspektywach bazowych
- Wykorzystują operatory zbiorowe, funkcje, grupowanie, sortowanie,
połączenia, funkcje analityczne, itd.
- Perspektywy proste mogą służyć do wstawiania, modyfikowania i usuwania
krotek z relacji bazowej. Perspektywy złożone służą tylko i wyłącznie do
odczytu (istnieją nieliczne wyjątki od tej reguły).
|
4
|
- Perspektywa jest modyfikowalna (ang. updatable) jeśli nie zawiera:
operatorów zbiorowych, operatora DISTINCT, funkcji grupowej lub
analitycznej, klauzul GROUP BY, ORDER BY, CONNECT BY, START WITH,
połączeń (z pewnymi wyjątkami).
- Jeśli perspektywa zawiera formuły lub pseudokolumny to polecenia INSERT
i UPDATE nie mogą dotyczyć tych pseudokolumn.
- Jeśli perspektywa zawiera połączenie to operacja DML musi dotyczyć tylko
jednej relacji bazowej a ponadto:
- Dla operacji INSERT perspektywa musi prezentować wszystkie atrybuty
klucza podstawowego i wszystkie atrybuty wymagane relacji zachowującej
klucz (key-preserved table).
- Dla operacji UPDATE wszystkie modyfikowane atrybuty muszą pochodzić z
relacji zachowującej klucz.
- Dla operacji DELETE operacja połączenia może dotyczyć tylko jednej
relacji zachowującej klucz.
- Relacja zachowuje klucz, jeśli każda unikalna wartość w relacji jest też
unikalna w perspektywie.
|
5
|
|
6
|
- Perspektywa złożona niemodyfikowalna oparta na jednej relacji
- perspektywa jest niemodyfikowalna, ponieważ zawiera funkcje agregujące
oraz klauzulę GROUP BY
|
7
|
- Perspektywa złożona niemodyfikowalna oparta na wielu relacjach bazowych
- perspektywa jest niemodyfikowalna ponieważ żadna z trzech tabel nie
zachowuje kluczy, krotka z każdej tabeli występuje w perspektywie
wielokrotnie
|
8
|
- Perspektywa złożona modyfikowalna oparta na wielu relacjach bazowych
- perspektywa jest modyfikowalna ponieważ tabela Pracownicy zachowuje
klucz, każdy pracownik występuje w perspektywie co najwyżej raz
|
9
|
- Perspektywa weryfikująca ograniczenia
- Polecenie modyfikujące dane udostępniane przez perspektywę zostanie
odrzucone, jeśli w wyniku jego działania zbiór rekordów perspektywy
zostałby pomniejszony
|
10
|
|
11
|
- opis zdefiniowanych perspektyw
- informacje o możliwości uaktualniania danych dostępnych przez
perspektywę
|