SQLite - widoki

Widok to nic innego jak instrukcja SQLite, która jest przechowywana w bazie danych z powiązaną nazwą. W rzeczywistości jest to kompozycja tabeli w postaci predefiniowanego zapytania SQLite.

Widok może zawierać wszystkie wiersze tabeli lub wybrane wiersze z jednej lub wielu tabel. Widok można utworzyć z jednej lub wielu tabel, w zależności od zapisanego zapytania SQLite w celu utworzenia widoku.

Widoki, które są rodzajem wirtualnych tabel, pozwalają użytkownikom -

  • Strukturyzuj dane w sposób naturalny lub intuicyjny dla użytkowników lub klas użytkowników.

  • Ogranicz dostęp do danych tak, aby użytkownik mógł zobaczyć 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 i dlatego możesz nie być w stanie wykonać instrukcji DELETE, INSERT lub UPDATE w widoku. Możesz jednak utworzyć wyzwalacz w widoku, który jest uruchamiany przy próbie USUNIĘCIA, WSTAWIENIA lub AKTUALIZACJI widoku i zrobić to, czego potrzebujesz w treści wyzwalacza.

Tworzenie widoków

Widoki SQLite są tworzone przy użyciu CREATE VIEWkomunikat. Widoki SQLite można tworzyć z pojedynczej tabeli, wielu tabel lub innego widoku.

Poniżej przedstawiono podstawową składnię CREATE VIEW.

CREATE [TEMP | TEMPORARY] VIEW view_name AS
SELECT column1, column2.....
FROM table_name
WHERE [condition];

Możesz dołączyć wiele tabel do instrukcji SELECT w podobny sposób, jak używasz ich w normalnym zapytaniu SQL SELECT. Jeśli obecne jest opcjonalne słowo kluczowe TEMP lub TEMPORARY, widok zostanie utworzony w tymczasowej bazie danych.

Przykład

Weź pod uwagę tabelę FIRMA z następującymi rekordami -

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

Poniżej znajduje się przykład tworzenia widoku z tabeli COMPANY. Ten widok będzie używany tylko do kilku kolumn z tabeli COMPANY.

sqlite> CREATE VIEW COMPANY_VIEW AS
SELECT ID, NAME, AGE
FROM  COMPANY;

Możesz teraz wykonywać zapytania COMPANY_VIEW w podobny sposób, jak kwerendy dotyczące rzeczywistej tabeli. Oto przykład -

sqlite> SELECT * FROM COMPANY_VIEW;

Spowoduje to następujący wynik.

ID          NAME        AGE
----------  ----------  ----------
1           Paul        32
2           Allen       25
3           Teddy       23
4           Mark        25
5           David       27
6           Kim         22
7           James       24

Upuszczanie widoków

Aby usunąć widok, po prostu użyj instrukcji DROP VIEW z rozszerzeniem view_name. Podstawowa składnia DROP VIEW jest następująca -

sqlite> DROP VIEW view_name;

Poniższe polecenie usunie widok COMPANY_VIEW, który utworzyliśmy w ostatniej sekcji.

sqlite> DROP VIEW COMPANY_VIEW;