Benutzer-Werkzeuge

Webseiten-Werkzeuge


db:sql
no way to compare when less than two revisions

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


Vorhergehende Überarbeitung
Nächste Überarbeitung
db:sql [2017/05/13 11:29] roehner
Zeile 1: Zeile 1:
 +=====SQL - Structured Query Language=====
 +
 +SQL ist eine standardisierte Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken. Sie wird von allen relationalen Datenbanksystemen unterstützt. SQL ist eine sehr komplexe Sprache und geht deutlich über die Möglichkeiten der [[Relationenalgebra]] hinaus. 
 +
 +Wir lernen SQL anhand des interaktiven SQL-Tutorials, das der Leistungskurs Informatik 2002/04 als Anwendungsprojekt entwickelt hat. Es steht auf diesen beiden Servern zur Verfügung:
 +
 +  * http://www.imoodle.de/sqltutorial/index.html
 +  * http://www.luo-darmstadt.de/sqltutorial/index.html
 +  * http://www.schulserver.hessen.de/darmstadt/lichtenberg/SQLTutorial/  
 +
 +Der schulserver.hessen.de unterbricht aufgrund erhöhter Sicherheitseinstellungen manchmal die Verbindung. Er hat auch Probleme mit dem Suchoperator %.
 +
 +Ihr lernt selbstständig und eigenverantwortlich anhand der Lektionen und Übungen. Damit das auch gut klappt, richtet ihr euch nach folgender Anleitung: 
 +  *Zur Verfolgung eures eigenen Lernprozesses dokumentiert ihr nach jeder Stunde euren Lernfortschritt, Erfahrungen und Fragen im Lernjournal des [[http://www.imoodle.de/moodle/course/view.php?id=351 |Moodlekurses]].
 +  *Damit ihr nach dieser Einheit gut auf das Gelernte zurückgreifen könnt (wichtig für Klausuren und Prüfungen), erstellt ihr begleitend eine eigene Mindmap. Beispiele findet ihr im SQL-Tutorial. Als Mindmap-Software nehmt ihr [[http://www.xmind.net/de/ |XMind]] ([[http://www.xmind.net/de/download/mac/ |OS X Version]]).
 +  *Aufgaben und Lösungen der Übungslektionen stellt ihr in einem Textdokument zusammen.
 +
 +=====Abfrage einer rekursiven Beziehung=====
 +Das SQL-Tutorial enthält keine rekursiven Beziehungen. Daher folgen hier zwei Beispiele für entsprechende SQL-Abfragen.
 +
 +a) Für die rekursive Beziehung [[Spezielle_Beziehungen#rekursive_Beziehungen|ist_Vorgesetzter_von]] mit der Relation Mitarbeiter(__Personalnummer__, Nachname, Vorname, ↑VorgesetztenPersonalnummer) sollen die Mitarbeiter, die den Vorgesetzten //Paul Schmidt// haben, bestimmt werden. 
 +
 +<WRAP example round>
 +<code>
 +SELECT A.Vorname, A.Nachname
 +FROM Mitarbeiter A, Mitarbeiter B 
 +WHERE A.VorgesetztenPersonalnummer = B.Personalnummer
 +  AND B.Vorname = 'Paul' AND B.Nachname = 'Schmidt'
 + </code>
 +</WRAP>
 +
 +b) Es soll eine Relation mit Nachname und Vorname aller Mitarbeiter erzeugt werden, die zu jedem Mitarbeiter auch Nachname und Vorname des Vorgesetzten enthält.
 +
 +<WRAP example round>
 +<code>
 +SELECT A.Vorname, A.Nachname, B.Vorname, B.Nachname
 +FROM Mitarbeiter A, Mitarbeiter B 
 +WHERE A.VorgesetztenPersonalnummer = B.Personalnummer
 +</code>
 +</WRAP>
 +
 +
 +=====Weblinks=====
 +
 +  * SQL http://de.wikipedia.org/wiki/SQL
 +  * MySQL-Dokumentation http://dev.mysql.com/doc/refman/5.7/en/
  
db/sql.txt · Zuletzt geändert: 2022/11/14 17:55 von rp