Skip to main content

Kontrolowanie dostępu do danych za pomocą widoków w SQL

Fun with Music and Programming by Connor Harris and Stephen Krewson (Może 2024)

Fun with Music and Programming by Connor Harris and Stephen Krewson (Może 2024)
Anonim

Widoki bazy danych pozwalają łatwo zmniejszyć złożoność doświadczenia użytkownika końcowego i ograniczyć możliwość dostępu do danych zawartych w tabelach bazy danych poprzez ograniczenie danych prezentowanych użytkownikowi końcowemu. Zasadniczo widok używa wyników zapytania bazy danych do dynamicznego zapełniania zawartości sztucznej tabeli bazy danych.

Dlaczego warto korzystać z widoków?

Istnieją dwa podstawowe powody, aby zapewnić użytkownikom dostęp do danych za pośrednictwem widoków, zamiast udostępniać im bezpośredni dostęp do tabel bazy danych:

  • Widoki zapewniają proste, szczegółowe zabezpieczenia. Możesz użyć widoku, aby ograniczyć dane, które użytkownik może zobaczyć w tabeli. Na przykład, jeśli masz tabelę pracowników i chcesz zapewnić niektórym użytkownikom dostęp do zapisów pracowników zatrudnionych w pełnym wymiarze godzin, możesz utworzyć widok zawierający tylko te rekordy. Jest to znacznie łatwiejsze niż rozwiązanie alternatywne (tworzenie i utrzymywanie tabeli cienia) i zapewnia integralność danych.
  • Widoki upraszczają obsługę. Widoki ukrywają złożone szczegóły tabel bazy danych od użytkowników końcowych, którzy nie muszą ich widzieć. Jeśli użytkownik zrzuci zawartość widoku, nie zobaczy kolumn tabeli, które nie są wybrane przez widok i mogą one nie być zrozumiałe. Chroni to je przed pomyłkami spowodowanymi przez źle nazwane kolumny, unikalne identyfikatory i klawisze tabel.

Tworzenie widoku

Tworzenie widoku jest dość proste: wystarczy utworzyć zapytanie zawierające ograniczenia, które chcesz wymusić, i umieścić je w poleceniu CREATE VIEW. Oto składnia:

UTWÓRZ WIDOK viewname AS

Na przykład, jeśli chcesz utworzyć widok pełnoetatowych pracowników, o którym mówiłem w poprzedniej sekcji, wydałbyś następujące polecenie:

UTWÓRZ WIDOK na pełny czas ASWYBIERZ first_name, last_name, employee_idOD pracownikówWHERE status = 'FT'

Modyfikowanie widoku

Zmiana zawartości widoku używa dokładnie tej samej składni co tworzenie widoku, ale zamiast polecenia CREATE VIEW używane jest polecenie ALTER VIEW. Na przykład, jeśli chcesz dodać ograniczenie do widoku w pełnym wymiarze czasu, który dodaje numer telefonu pracownika do wyników, możesz wydać następujące polecenie:

ZMIANA WIDOKU na pełny czas ASSELECT first_name, last_name, employee_id, telephoneOD pracownikówWHERE status = 'FT'

Usuwanie widoku

Łatwo usunąć widok z bazy danych za pomocą polecenia DROP VIEW. Na przykład, jeśli chcesz usunąć pełny widok pracowników, użyj następującego polecenia:

DROP VIEW na pełny etat