poniedziałek, 24 września 2018

SQLite - widoki


SQLite - widoki

Widok to nic innego jak instrukcja SQLite przechowywana w bazie danych o skojarzonej nazwie. Jest to właściwie kompozycja tabeli w postaci predefiniowanego zapytania SQLite.
Widok może zawierać wszystkie wiersze tabeli lub wybrane wiersze z co najmniej jednej tabeli. Widok można utworzyć z jednej lub wielu tabel, które zależą od pisemnej kwerendy SQLite w celu utworzenia widoku.
Widoki stanowiące rodzaj wirtualnych tabel i umożliwiają użytkownikom:
·      Dane struktury w sposób naturalny lub intuicyjny dla użytkowników lub klas użytkowników.
·      Ogranicz dostęp do danych tak, aby użytkownik widział tylko ograniczone dane zamiast pełnej tabeli.
·      Podsumuj dane z różnych tabel, które można wykorzystać do generowania raportów.
Widoki SQLite są tylko do odczytu, a zatem może nie być możliwe wykonanie polecenia DELETE, INSERT lub UPDATE w widoku. Można jednak utworzyć wyzwalacz w widoku uruchamianym przy próbie usunięcia, wstawienia lub aktualizacji widoku i zrobienia tego, co jest potrzebne w treści wyzwalacza.

Tworzenie widoków

Widoki SQLite są tworzone przy użyciu instrukcji CREATE VIEW. Widoki SQLite można tworzyć z pojedynczej tabeli, wielu tabel lub z innego widoku.
Poniżej znajduje się podstawowa składnia CREATE VIEW.
CREATE [TEMP | TEMPORARY] VIEW nazwa_widoku AS
SELECT kolumna1, kolumna2.....
FROM nazwaw_tabeli
WHERE [warunek];
Możesz dołączyć wiele tabel do swojej instrukcji SELECT w podobny sposób, w jaki używasz ich w normalnym zapytaniu SQL SELECT. Jeśli występuje opcjonalne słowo kluczowe TEMP lub TEMPORARY, widok zostanie utworzony w tymczasowej bazie danych.
Przykład
Rozważ tabelę PRACOWNIK z następującymi zapisami -
id          nazwisko    wiek        adres       pensja      plec
----------  ----------  ----------  ----------  ----------  ----------
1           Adam        32          Warszawa    2000.0
2           Piotr       25          Piaseczno   1500.0
3           Tomasz      23          Grodzisk    2000.0
4           Marek       25          Płock       6500.0
5           Dawid       27          Halinów     8500.0
6           Katarzyna   22          Marki       4500.0
7           Jan         24          Kraków      4500.0
8           Paweł       24          Zielonka    3500.0
9           Jan         44          Kobyłka     5000.0
10          Jan         45          Nieporęt    5000.0
Poniżej znajduje się przykład tworzenia widoku z tabeli PRACOWNIK. Ten widok będzie używany tylko do kilku kolumn z tabeli PRACOWNIK.
sqlite> CREATE VIEW PRACOWNIK_WIDOK AS
SELECT ID, NAZWISKO, WIEK
FROM  PRACOWNIK;
Możesz teraz wysłać zapytanie do PRACOWNIK_VIEW w podobny sposób, jak zapytanie do rzeczywistej tabeli. Oto przykład -
sqlite> SELECT * FROM PRACOWNIK_VIEW;
Spowoduje to uzyskanie następującego wyniku.
id          nazwisko    wiek
----------  ----------  ----------
1           Adam        32
2           Piotr       25
3           Tomasz      23
4           Marek       25
5           Dawid       27
6           Katarzyna   22
7           Jan         24
8           Paweł       24
9           Jan         44
10          Jan         45
11          Paweł       32

Usuwanie widoków

Aby usunąć widok, po prostu użyj instrukcji DROP VIEW z nazwa_widoku. Podstawowa składnia DROP VIEW wygląda następująco:
sqlite> DROP VIEW nazwa_widoku;
Następujące polecenie spowoduje usunięcie widoku PRACOWNIK_VIDOK, który utworzyliśmy w ostatniej sekcji.
sqlite> DROP VIEW PRACOWNIK_VIDOK;


Brak komentarzy:

Prześlij komentarz