Wat is een SQL view?
Een view in SQL is een virtuele tabel. De tabel bevat geen data maar een query die de data dynamisch uit een andere tabel ophaalt wanneer dat nodig is. Wanneer de data in de bijbehorende tabel verandert zal deze data ook in de SQL view worden gewijzigd. Het gebruiken van een view heeft een aantal voordelen zoals:
- Het makkelijker maken van een complexe query. Wanneer je een complexe query hebt waardoor een query onleesbaar kan worden, kun je van de query een view maken. Deze SQL view kun je vervolgens gebruiken in een simpelere SQL statement.
- Het hergebruiken van SQL statements. Nadat de query is geschreven en er een view van is gemaakt kun je de query gemakkelijk hergebruiken zonder dat je de details hoeft te weten van de onderliggende query.
- Voor het beveiligen van data. Een gebruiker kan toegang krijgen tot een subset van een tabel in plaats van de gehele tabel.
- De snelheid voor het uitvoeren van een query verbeteren. Door gebruik te maken van een materialized view wordt het resultaat van een query opgeslagen in de cache als een concrete tabel die kan worden geüpdate vanuit de originele tabel. Dit zorgt voor snellere toegang tot de data.
- Voor het formatteren van data. Een view kan data presenteren op een andere manier dan dat het wordt gepresenteerd in de onderliggende tabel. Wanneer je bijvoorbeeld twee velden wilt samenvoegen zoals Voornaam en Achternaam met een spatie ertussen, dan kun je dit in een SQL statement zetten en er vervolgens een view van maken. Op deze manier hoef je dit maar één keer te doen en kun je de view hergebruiken.
Een nadeel van het gebruiken van een view is:
- Het kan leiden tot vervuiling als er teveel views worden aangemaakt. Het is belangrijk om goed na te denken over wanneer je een view wilt maken. Wanneer je teveel views gebruikt kan het de structuur van de query beïnvloeden. Soms is het dan beter om de query opnieuw te schrijven zonder gebruik te maken van de views.
- Beperkingen voor het updaten van data. Wanneer een gebruiker een rij in de view wilt updaten, zal het DBMS de rij uit de onderliggende tabel moeten updaten. Dit is mogelijk voor simpele views, maar complexe views zijn meestal beperkt tot read-only.
Een view kan op dezelfde manier worden gebruikt als een tabel. Je kunt de view gebruiken in combinatie met een SELECT statement, data filteren en sorteren en een join uitvoeren met een andere tabel of view.
Het beste is om de SQL view zo algemeen mogelijk te houden zodat het vaak kan worden hergebruikt. Wanneer je bijvoorbeeld de gekochte artikelen per order per jaar wilt analyseren, dan is het het beste om het specifieke jaar niet mee te nemen in de view. Je kunt dus een view maken met de gekochte artikelen per order. Vervolgens kun je een SELECT statement gebruiken met in de FROM de naam van de view en met een WHERE clause waarin je het specifieke jaar plaatst. Op deze manier kun je gemakkelijk het jaar veranderen en hoef je geen aparte vergelijkbare views te maken.
Het is belangrijk dat de naam van de view uniek is. De naam mag niet hetzelfde zijn als de naam van een andere tabel of view.
Geef een reactie