Professional Documents
Culture Documents
Zajęcia NR 6 MI14
Zajęcia NR 6 MI14
Zajęcia NR 6 MI14
imie
nazwisko przedmiot kategoria ocena data
sprawdzia
Anna Nowak WF bardzo dobry 2020-09-22
n
Anna Nowak Fizyka kartkówka bardzo dobry 2020-09-24
Anna Nowak Matematyka kartkówka dopuszczajacy 2020-09-21
sprawdzia
Ewa Kos WF celujacy 2020-09-22
n
Ewa Kos Fizyka kartkówka celujacy 2020-09-24
Ewa Kos Matematyka kartkówka dopuszczajacy 2020-09-21
Jan Kowalski Matematyka kartkówka dostateczny 2020-09-21
sprawdzia
Jan Kowalski WF bardzo dobry 2020-09-22
n
Jan Kowalski Fizyka kartkówka dobry 2020-09-24
Jeżeli chcemy wielokrotnie generować takie same zapytania a w dodatku je filtrować na podstawie
np. zakresów dat, lub skomplikowane zapytania miałyby być częścią kodu PHP aplikacji
internetowej,
i w przypadku zmian struktury bazy danych, konieczna byłaby ingerencja w skrypt PHP aplikacji
internetowej, dobrze jest zapisać zapytanie do bazy. Powstają wtedy obiekty zwane WIDOKAMI
(ang. VIEWS).
Widok bazy danych to nic innego jak wirtualna tabela, która nie zawiera samych danych, ale
odwołuje się do danych zawartych w innych tabelach.
Widoki mogą one stanowić dodatkową programistyczną warstwę abstrakcyjną pomiędzy
aplikacją web a właściwym zapytaniem SQL, co daje programistom dodatkową elastyczność.
Jednak widoki mogą nam ułatwić wiele innych zadań.
Stosowanie widoków daje nam możliwość ograniczenia dostępności poufnych informacji.
Załóżmy, że tabela osoby zawiera o wiele więcej kolumn niż imię i nazwisko, a są to przykładowo
poufne kolumny takie jak numer pesel, czy numery kart kredytowych, które nie będą potrzebne
w zapytaniach do bazy.
Możemy też tworzyć różne widoki, oparte na tych samych tabelach, lecz umożliwiające dostęp
wyłącznie do wybranych kolumn tych tabel.
Dodatkowym atutem stosowania widoków, w przypadku baz danych złożonych z wielu tabel
(kilkudziesięciu albo nawet kilkuset), w których występują bardzo złożone relacje danych, jest
możliwość tworzenia idealnie zoptymalizowanych zapytań zawierających różnego rodzaju
skomplikowane łączenia i udostępniania ich mniej doświadczonym użytkownikom, w celu
ograniczenia obciążeń serwera wynikających z nieodpowiednio sformułowanych zapytań.
Zalety korzystania z widoków MariaDB
Prostota
Widoki umożliwiają hermetyzację złożonych zapytań ze sprzężeniami w celu uproszczenia
dostępu do tabeli. Zamiast wpisywać długie i złożone zapytanie w wielu aplikacjach, możesz
utworzyć widok na podstawie zapytania i użyć nazwy widoku w aplikacjach.
Bezpieczeństwo
Jeśli chodzi o bezpieczeństwo, możesz przyznać kontu użytkownika dostęp do częściowych
danych tabel bazowych za pośrednictwem widoku. W ten sposób możesz ukryć poufne dane
przed użytkownikami, którzy nie mają uprawnień do ich przeglądania.
Spójność
Widoki mogą służyć do hermetyzacji logiki biznesowej i formuł oraz zapewniania ich spójności we
wszystkich aplikacjach.
Składnia instrukcji CREATE VIEW
CREATE
[OR REPLACE]
[ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
[DEFINER = { user | CURRENT_USER | role | CURRENT_ROLE }]
[SQL SECURITY { DEFINER | INVOKER }]
VIEW [IF NOT EXISTS] view_name [(column_list)]
AS instrukcja SELECT
[WITH [CASCADED | LOCAL] CHECK OPTION]
Przykłady widoków
Tworzenie widoku UczniowieKlasami:
CREATE VIEW UczniowieKlasami AS
SELECT imie, nazwisko, nazwa
FROM uczniowie INNER JOIN Klasy ON
uczniowie.klasa=klasy.KlasaId
ORDER BY nazwa
Usuwanie widoku
DROP VIEW UczniowieKlasami