BD-1st-2.4-lab8.tresc-1.1-Slajd13
Tworzenie i usuwanie perspektyw
Perspektywę można utworzyć za pomocą polecenia CREATE VIEW. Ogólną składnię polecenia tworzącego perspektywy przedstawiono na przykładzie (1). Polecenie rozpoczyna się od słów kluczowych CREATE VIEW, po którym podaje się nazwę tworzonej perspektywy, następnie (opcjonalnie) listę nazw atrybutów tworzonej perspektywy, słowo kluczowe AS, zapytanie definiujące perspektywę i opcjonalnie słowa kluczowe WITH CHECK OPTION. Należy tutaj zaznaczyć, że zapytanie definiujące perspektywę może się odwoływać do innych perspektyw utworzonych wcześniej.
Przykład (2) pokazuje polecenie tworzące perspektywę PROFESOROWIE, o atrybutach NAZWISKO i PLACA. W atrybucie NAZWISKO znajdują się nazwiska pracowników zatrudnionych na etacie PROFESOR, a w atrybucie PLACA znajduje się łączna, podstawowa i dodatkowa, płaca pracownika. W sytuacji, kiedy nie poda się listy nazw atrybutów perspektywy, nazwy te są generowane automatycznie na podstawie wyrażeń w klauzuli SELECT definiującej perspektywę. Jeżeli w klauzuli SELECT znajdują się wyrażenia, najlepiej jest nadać im aliasy. Wówczas atrybuty perspektywy będą miały nazwy identyczne z aliasami wyrażeń w klauzuli SELECT.
Przykład (3) pokazuje ogólną składnię polecenia usuwającego perspektywę. Polecenie rozpoczyna się od słów kluczowych DROP VIEW, po którym podaje się nazwę perspektywy do usunięcia i opcjonalnie słowa kluczowe RESTRICT albo CASCADE. Słowo kluczowe RESTRICT oznacza, że jeżeli istnieją inne perspektywy, korzystające z perspektywy, którą chcemy usunąć, to polecenie ma zakończyć się błędem. Takie zachowanie jest domyślne, a zatem użycie słowa RESTRICT jedynie poprawia czytelność poleceń. Słowo kluczowe CASCADE oznacza, że wszystkie perspektywy korzystające z usuwanej perspektywy są również usuwane. W SZBD Oracle 10g nie zaimplementowano jeszcze przewidzianej w standardzie funkcjonalności związanej z opcjami RESTRICT i CASCADE. Próba dodania tych słów do polecenia DROP VIEW kończy się błędem informującym o błędnej składni polecenia. Użycie polecenia DROP VIEW zakończy się zawsze sukcesem, niezależnie, czy istnieją inne perspektywy korzystające z usuwanej perspektywy, czy nie. Perspektywy korzystające z usuwanej perspektywy nie są jednak usuwane, ale zaznaczane jako niepoprawne i nie jest możliwe korzystanie z nich. Przykład (4) pokazuje polecenie usuwające perspektywę PROFESOROWIE.