Belangrijk
Vertalen is een inspanning van de gemeenschap waaraan u deel kunt nemen. Deze pagina is momenteel voor 88.89% vertaald.
15.5. Les: Weergaven
Wanneer u een query schrijft, spendeert u veel tijd en moeite om die te formuleren. Met weergaven kunt u de definitie van een query in SQL opslaan in een opnieuw te gebruiken ‘virtuele tabel’.
Het doel voor deze les: Een query al een weergave op te slaan.
15.5.1. Een weergave maken
U kunt een weergave net zo behandelen als een tabel, maar de gegevens ervan vinden hun oorsprong in een query. Laten we, gebaseerd op bovenstaande, een eenvoudige weergave maken:
create view roads_count_v as
select count(people.name), streets.name
from people, streets where people.street_id=streets.id
group by people.street_id, streets.name;
As you can see the only change is the create view roads_count_v as part
at the beginning. We can now select data from that view:
select * from roads_count_v;
Resultaat:
count | name
-------+-------------
1 | Main Road
2 | High street
1 | Low Street
(3 rows)
15.5.2. Een weergave aanpassen
Een weergave staat niet vast en bevat geen ‘echte gegevens’. Dit betekent dat u hem eenvoudig kunt wijzigen zonder dat dat enige impact heeft op de gegevens in uw database:
CREATE OR REPLACE VIEW roads_count_v AS
SELECT count(people.name), streets.name
FROM people, streets WHERE people.street_id=streets.id
GROUP BY people.street_id, streets.name
ORDER BY streets.name;
(Dit voorbeeld toont ook de best practice conventie voor het gebruiken van UPPER CASE voor alle sleutelwoorden van SQL.)
You will see that we have added an ORDER BY clause so that our view rows
are nicely sorted:
select * from roads_count_v;
count | name
-------+-------------
2 | High street
1 | Low Street
1 | Main Road
(3 rows)
15.5.3. Een weergave verwijderen
Als u een weergave niet langer nodig heeft, kunt u die op deze manier verwijderen:
drop view roads_count_v;
15.5.4. Conclusie
Met behulp van weergave kunt u een query opslaan en toegang krijgen tot de resultaten daravan, als was het een tabel.
15.5.5. Wat volgt?
Soms, bij het wijzigen van gegevens, wilt u dat uw wijzigingen ook ergens anders in de database effect hebben. De volgende les zal u tonen doe dat te doen.