Inhoud
- Waarom weergaven gebruiken?
- Een weergave maken
- Een weergave wijzigen
- Een weergave verwijderen
- Weergaven versus gematerialiseerde weergaven
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 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 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: 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.
KIES voornaam, achternaam, werknemer-ID
VAN werknemers
WAAR status = 'FT'; Een weergave wijzigen
SELECT voornaam, achternaam, werknemer-ID, telefoon
VAN werknemers
WAAR status = 'FT'; Een weergave verwijderen
Weergaven versus gematerialiseerde weergaven