XSQL Beispiel Prof T Kudra HTWK Leipzig Nested
XSQL - Beispiel
© Prof. T. Kudraß, HTWK Leipzig Nested Cursor l l erzeugen in SQL-Anfragen die XML-typische Baumstruktur (anstelle von Tabellen) Beispiel: FBEREICH STUDIENGANG SEMESTER BEZEICHNUNG IMN IN 1 Grundlagen der Informatik IMN IN 1 Analysis 1 l Baumstruktur in XML: IMN |-IN |- 1. Semester |- Grundlagen der Informatik |- Analysis 1
© Prof. T. Kudraß, HTWK Leipzig Beispiel Nested Cursor l l Tiefe 1: Gruppierte Auflistung aller Fachbereiche Tiefe 2: Auflistung der Studiengänge pro Fachbereich Tiefe 3: Auflistung der Semester pro Studiengang und Fachbereich Tiefe 4: Auflistung aller Fächer pro Semester und Studiengang und Fachbereich
© Prof. T. Kudraß, HTWK Leipzig Beispiel Nested Cursor (2) l Tiefe 3: Fachbereich → Studiengang → Semester <ROWSET> <ROW num="1"> <FBEREICH>IMN</FBEREICH> <STUDGANG_ROW num="1"> <STUDIENGANG>IN</STUDIENGANG> <SEMESTER_ROW num="1"> <SEMESTER>1</SEMESTER> </SEMESTER_ROW> <SEMESTER_ROW num="2"> <SEMESTER>2</SEMESTER> </SEMESTER_ROW> </SEMESTER> </STUDGANG_ROW> </STUDGANG> </ROW>. . . </ROWSET>
© Prof. T. Kudraß, HTWK Leipzig Beispiel Nested Cursor (3) l l Tiefe 3: Fachbereich → Studiengang → Semester SQL-Befehl mit Nested Cursor (XML-Output vgl. vorige Folie) select f. fbereich, cursor (select fa. studiengang, cursor (select fae. semester from faecher fae where fae. fbereich=f. fbereich and fae. studiengang=fa. studiengang group by fae. semester) as semester from faecher fa where fa. fbereich=f. fbereich group by fa. studiengang) as studgang from faecher f group by f. fbereich l Kommentare: – – GROUP BY verhindert Redundanz im Baum in WHERE-Klausel des Cursors Referenz auf die höheren Ebenen
- Slides: 5