Internet

Gegevenstoegang beheren met weergaven in SQL

Schrijver: John Stephens
Datum Van Creatie: 22 Januari 2021
Updatedatum: 17 Kunnen 2024
Anonim
View in Database | Oracle, SQL Server Views | Types of Views
Video: View in Database | Oracle, SQL Server Views | Types of Views

Inhoud

Databaseweergaven verminderen de complexiteit van de eindgebruikerservaring en beperken de toegang van gebruikers tot gegevens in databasetabellen. In wezen gebruikt een weergave de resultaten van een databasequery om de inhoud van een virtuele databasetabel dynamisch te vullen.

Waarom weergaven gebruiken?

Er zijn twee belangrijke redenen om gebruikers toegang te geven tot gegevens via views in plaats van hen rechtstreeks toegang te geven tot databasetabellen:

  • Weergaven bieden eenvoudige, gedetailleerde beveiliging. Gebruik een weergave om de gegevens te beperken die een gebruiker in een tabel mag zien. Als u bijvoorbeeld een tabel met werknemers heeft en sommige gebruikers toegang wilt geven tot de records van fulltime werknemers, kunt u een weergave maken die alleen die records bevat. Dit is veel eenvoudiger dan het alternatief (het creëren en onderhouden van een schaduwtabel) en zorgt voor de integriteit van de data.
  • Weergaven vereenvoudigen de gebruikerservaring. Weergaven verbergen complexe details van uw databasetabellen voor eindgebruikers die ze niet hoeven te zien. Als een gebruiker de inhoud van een weergave dumpt, ziet hij de tabelkolommen die niet door de weergave zijn geselecteerd en begrijpen ze deze mogelijk niet. Dit beschermt hen tegen de verwarring veroorzaakt door slecht benoemde kolommen, unieke identificatiegegevens en tafelsleutels.

Een weergave maken

Het maken van een weergave is vrij eenvoudig: u hoeft alleen maar een query te maken die de beperkingen bevat die u wilt afdwingen en deze binnen de opdracht CREATE VIEW te plaatsen. Dit is de algemene syntaxis:


MAAK VIEW viewname AS

Geef bijvoorbeeld de volgende opdracht om de weergave van de fulltime werknemer te creëren:

MAAK VIEW fulltime AS
KIES voornaam, achternaam, werknemer-ID
VAN werknemers
WAAR status = 'FT';

Een weergave wijzigen

Het wijzigen van de inhoud van een weergave gebruikt exact dezelfde syntaxis als het maken van een weergave, maar gebruik de ALTER VIEW-opdracht in plaats van de CREATE VIEW-opdracht. Om bijvoorbeeld een beperking aan de fulltime weergave toe te voegen die het telefoonnummer van de werknemer aan de resultaten toevoegt, geeft u de volgende opdracht:

ALTER VIEW fulltime AS
SELECT voornaam, achternaam, werknemer-ID, telefoon
VAN werknemers
WAAR status = 'FT';

Een weergave verwijderen

Het is eenvoudig om een ​​weergave uit een database te verwijderen met de opdracht DROP VIEW. Gebruik bijvoorbeeld de volgende opdracht om de weergave van de fulltime werknemer te verwijderen:


DROP VIEW fulltime;

Weergaven versus gematerialiseerde weergaven

Een weergave is een virtuele tafel. EEN gematerialiseerd uitzicht is diezelfde weergave op schijf geschreven en benaderd alsof het een tabel op zich is.

Wanneer u een query uitvoert op een weergave, wordt de secundaire query die de weergave als bron gebruikt, in realtime uitgevoerd, waarna die resultaten worden teruggevoerd naar de oorspronkelijke hoofdquery. Als uw weergaven uitzonderlijk complex zijn of als uw hoofdquery een groot aantal hash-joins vereist tussen verschillende tabellen en views, wordt uw hoofdquery uitgevoerd met de snelheid van een schildpad.

Een gematerialiseerde weergave versnelt de uitvoering van query's omdat deze functioneert als een vooraf gecompileerde query die naar schijf is geschreven en daarom zo snel als een tabel wordt uitgevoerd. Gematerialiseerde weergaven zijn echter slechts zo goed als de gebeurtenisprocedures die ze vernieuwen. Op de lange termijn, met goed onderhoud, versnellen gematerialiseerde weergaven de zaken met een kleine wisselwerking in de tijd voor het vernieuwen van vertragingen, zonder de noodzaak van een heleboel schaduwtabellen die inactief kunnen worden en ofwel schijfruimte opeten of de vragen van iemand anders ongepast gebruiken.


Artikelen Voor Jou

Keuze Van Lezers

Eén-op-één relaties
Software

Eén-op-één relaties

Eén-op-één-relatie treden op wanneer er precie één record in de eerte tabel i dat overeenkomt met één record in de gerelateerde tabel. Amerikaane taatburger hebben ...
Wat is het verschil tussen Throwback Thursday en Flashback Friday?
Internet

Wat is het verschil tussen Throwback Thursday en Flashback Friday?

Al je tijd doorbrengt op ociale media, heb je gehoord van Throwback Thurday en Flahback Friday. Twitter-gebruiker, Intagrammer of blogger kunnen een afbeelding, video of liedje uit het verleden poten...