Werkzeug “Create Database View” anwenden

frlau

Neuer Benutzer
Beiträge
1
Aufgabenstellung:
  1. Probieren Sie folgende SQL-Abfrage in pgAdmin zu formulieren.
  2. Machen Sie eine Liste mit allen Pflanzen des Kurses “UÖ Stauden Gärtnerisch”. Die Liste soll dabei die ID der Spezies, die Gattung, Art und Sorte der Pflanze sowie den Namen des Kurses und den Standort (Attribut shape) enthalten. Speichern Sie diese Abfrage als View mit dem Namen “pdb.view_kursliste_stauden_gaertnerisch_studentNr” in der Datenbank.
--> Dabei soll die Tabelle "pdb.spezies" mit den Tabellen "pdb.gattungen", "pdb.arten", "pdb.sorten" und "pdb.pflanzen" verknüpft werden.
Die Tabelle "pdb.spezies" besitzt die Attribute "id_spezie", "id_gattung", "id_art", "id_sorte", "id_wuchsform", "einheimisch" und "bemerkung"
Von der Tabelle "pdb.gattungen" soll das Attribut "name_gattung" verwendet werden
Von der Tabelle "pdb.arten" soll das Attribut "name_art" verwendet werden
Von der Tabelle "pdb.sorten" soll das Attribut "name_sorte" verwendet werden
Von der Tabelle "pdb.pflanzen" sollen die Attribute "id_spezie" und "shape" verwendet werden.
Die Tabelle "pdb.verkn_kurse_pflanzen" soll mit den Tabellen "pdb.pflanzen" und "pdb.kurse" verknüpft werden.
Die Tabelle "pdb.verkn_kurse_pflanzen" besitzt die Attribute "id_pflanze", "id_kurs" und "objectid"
Die Tabelle "pdb.pflanzen" besitzt die Attribute "objectid", "id_spezie", "gdb_geomattr_data" und "shape"
Von der Tabelle "pdb.kurse" soll das Attribut "name_kurs" verwendet werden.
Erstelle einen SQL code für pgAdmin für oben genannte Aufgabenstellung.
Mit meinem aktuellen SQL-Code entsteht zwar kein ERROR, die Tabelle wird aber leer wiedergegeben:


CREATE VIEW pdb.view_kursliste_stauden_gaertnerisch_13 AS
SELECT
pdb.spezies.id_spezie,
pdb.gattungen.name_gattung,
pdb.arten.name_art,
pdb.sorten.name_sorte,
pdb.pflanzen.shape,
pdb.kurse.name_kurs,
pdb.verkn_kurse_pflanzen.id_pflanze

FROM
pdb.spezies
INNER JOIN pdb.gattungen ON pdb.spezies.id_gattung = pdb.gattungen.id_gattung
INNER JOIN pdb.arten ON pdb.spezies.id_art = pdb.arten.id_art
INNER JOIN pdb.sorten ON pdb.spezies.id_sorte = pdb.sorten.id_sorte
INNER JOIN pdb.pflanzen ON pdb.spezies.id_spezie = pdb.pflanzen.id_spezie
INNER JOIN pdb.verkn_kurse_pflanzen ON pdb.pflanzen.objectid = pdb.verkn_kurse_pflanzen.objectid
INNER JOIN pdb.kurse ON pdb.verkn_kurse_pflanzen.id_kurs = pdb.kurse.id_kurs

WHERE
pdb.kurse.name_kurs = 'UÖ Stauden Gärtnerisch';

Wo könnte das Problem liegen? Die Tabellen habe ich bereits alle überprüft, sie sind alle vollständig.
Hier noch eine Darstellung der Tabellen, wie sie miteinander verknüpft sein sollten (leider sehr unscharf):

Screenshot 2023-11-10 at 11.01.07.png
 
Werbung:
Werbung:
Die Tabellen habe ich bereits alle überprüft, sie sind alle vollständig.
Vollständig vorhanden und Spalte für Spalte so wie sie verlangt werden?
Oder vollständig befüllt?
Je nach Datenmodell kann ein falscher / fehlender Datensatz bei diesem View zu einem leeren Ergebnis führen.

Du könntest schrittweise Tabellen aus der Abfrage entfernen und schauen, ob dann ein Ergebnis angezeigt wird.
Du könntest die Where Clause großzügiger gestalten oder weglassen.
 
Zurück
Oben