Řízení přístupu k datům pomocí pohledů v SQL

Databáze zobrazení snižují složitost zkušeností koncových uživatelů a omezují přístup uživatelů k datům obsaženým v databázových tabulkách. Pohled v zásadě využívá výsledky a databázový dotaz dynamicky naplnit obsah tabulky virtuální databáze.

Proč používat zobrazení?

Existují dva hlavní důvody, proč uživatelům poskytnout přístup k datům prostřednictvím pohledů, a nikoli jim poskytnout přímý přístup k databázovým tabulkám:

  • Pohledy poskytují jednoduché a podrobné zabezpečení. Použijte zobrazení k omezení dat, která má uživatel povoleno vidět v tabulce. Například pokud máte tabulku zaměstnanců a chcete některým uživatelům poskytnout přístup k záznamům zaměstnanců na plný úvazek, můžete vytvořit zobrazení, které obsahuje pouze tyto záznamy. To je mnohem jednodušší než alternativa (vytváření a udržování stínové tabulky) a zajišťuje integritu dat.
  • Pohledy zjednodušují uživatelské prostředí. Pohledy skryjí komplexní podrobnosti databázových tabulek před koncovými uživateli, kteří je nepotřebují vidět. Pokud uživatel vypíše obsah zobrazení, neuvidí sloupce tabulky, které nejsou výběrem vybrány, a nemusí tomu rozumět. To je chrání před záměnou způsobenou špatně pojmenovanými sloupci, jedinečnými identifikátory a
    instagram viewer
    klíče od stolu.

Vytvoření pohledu

Vytvoření pohledu je celkem jednoduché: Jednoduše vytvořte dotaz obsahující omezení, která chcete vynutit, a umístěte jej do příkazu CREATE VIEW. Zde je obecná syntaxe:

VYTVOŘIT ZOBRAZENÍ víwname AS

Chcete-li například vytvořit zobrazení zaměstnance na plný úvazek, zadejte následující příkaz:

VYTVOŘIT ZOBRAZENÍ na plný úvazek AS
VYBRAT křestní jméno, příjmení, identifikátor zaměstnance
OD zaměstnanců
WHERE status = 'FT';

Úprava pohledu

Při změně obsahu pohledu se používá přesně stejná syntaxe jako při vytvoření pohledu, ale místo příkazu CREATE VIEW použijte příkaz ALTER VIEW. Chcete-li například přidat omezení zobrazení na plný úvazek, které k výsledkům přidá telefonní číslo zaměstnance, zadejte následující příkaz:

ZMĚNIT ZOBRAZENÍ na plný úvazek AS
VYBRAT křestní jméno, příjmení, identifikátor zaměstnance, telefon
OD zaměstnanců
WHERE status = 'FT';

Odstranění pohledu

Je snadné odebrat pohled z databáze pomocí příkazu DROP VIEW. Chcete-li například odstranit zobrazení zaměstnance na plný úvazek, použijte následující příkaz:

DROP VIEW na plný úvazek; 

Pohledy vs. Zhmotněné pohledy

Pohled je virtuální tabulka. A zhmotnil pohled je stejný pohled zapsaný na disk a přístupný, jako by to byla tabulka sama o sobě.

Když spustíte dotaz proti pohledu, sekundární dotaz, který zdroji zobrazení provede v reálném čase, pak se tyto výsledky vrátí zpět do původního hlavního dotazu. Pokud jsou vaše pohledy výjimečně složité nebo váš hlavní dotaz vyžaduje velký počet hash spojení mezi několika tabulkami a pohledy, váš hlavní dotaz se provede rychlostí želvy.

Zhmotněné zobrazení urychluje provádění dotazu, protože funguje jako předkompilovaný dotaz zapsaný na disk, a proto se spouští stejně rychle jako tabulka. Zhmotněné pohledy jsou však jen tak dobré jako postupy události, které je aktualizují. Z dlouhodobého hlediska s dobrou údržbou zhmotněné pohledy věci zrychlí s malým kompromisem v době zpoždění obnovy, bez potřebujete spoustu stínových tabulek, které se mohou stát nečinnými a buď sníst místo na disku, nebo získat dotazy někoho jiného nevhodně.

instagram story viewer