Een view maken op basis van andere views
Views kunnen worden gemaakt met queries die andere views bevatten. Dit is handig bij een complex schema, bijvoorbeeld door normalisatie, omdat het het aantal benodigde JOINS vermindert. Het grootste aandachtspunt is het bijhouden van afhankelijkheden: hoe het wijzigen of verwijderen van een view andere views kan beïnvloeden.
In de volgende oefeningen blijven we werken met de Pitchfork-reviewsdata. In deze oefening zijn er twee interessante views. top_15_2017 bevat de 15 hoogst beoordeelde reviews die in 2017 zijn gepubliceerd, met de kolommen reviewid, title en score. artist_title geeft een lijst met alle gerecenseerde titels en de bijbehorende artiesten met de kolommen reviewid, title en artist. Op basis van deze views willen we een nieuwe view maken die de hoogst scorende artiesten van 2017 ophaalt.
Deze oefening maakt deel uit van de cursus
Databaseontwerp
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
-- Create a view with the top artists in 2017
___ ___ top_artists_2017 ___
-- with only one column holding the artist field
SELECT artist_title.___ FROM ___
INNER JOIN ___
ON ___.___ = ___.___;
-- Output the new view
SELECT * FROM ___;