Tworzenie widoku na podstawie innych widoków
Widoki można tworzyć na podstawie zapytań, które odwołują się do innych widoków. Jest to szczególnie przydatne w przypadku złożonych schematów – na przykład wynikających z normalizacji – ponieważ pozwala ograniczyć liczbę potrzebnych operacji JOINS. Największym wyzwaniem jest śledzenie zależności: modyfikacja lub usunięcie jednego widoku może wpłynąć na inne widoki, które się na nim opierają.
W kilku kolejnych ćwiczeniach będziemy korzystać z danych z recenzji Pitchfork. W tym ćwiczeniu interesują nas dwa widoki. top_15_2017 zawiera 15 recenzji z najwyższymi ocenami opublikowanych w 2017 roku – z kolumnami reviewid, title i score. artist_title zwraca listę wszystkich recenzowanych tytułów wraz z ich wykonawcami – z kolumnami reviewid, title i artist. Na podstawie tych widoków chcemy utworzyć nowy widok pokazujący najwyżej ocenianych wykonawców z 2017 roku.
To ćwiczenie jest częścią kursu
Projektowanie baz danych
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
-- 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 ___;