Skip to main content

Part of the book series: eXamen.press ((EXAMEN))

  • 16k Accesses

Zusammenfassung

In Abschn. 4.4 haben wir die fundamentalen Anweisungen der DDL beschrieben. Mit der DDL beschreiben wir die logische Datenorganisation. Um mit den Daten zu arbeiten – sie anzusehen und zu ändern – benutzen wir die DML (Data Manipulation Language). Obwohl von der ursprünglichen Wortbedeutung unterschiedlich, wird die DML auch als Query Language oder Abfragesprache bezeichnet.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 29.95
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 39.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Der ursprüngliche Entwurf der Abfragesprache hieß auch SEQUEL für Structured English QUEry Language. Die umgangssprachliche Verständlichkeit verschwindet aber, wenn wir mehrere Tabellen verknüpfen oder andere komplexe Operationen anwenden.

  2. 2.

    Wir empfehlen dieses Beispiel hier nicht als Übung.

  3. 3.

    Zur Unterscheidung der Begriffe Tupel, Zeile, Attribut, Spalte, Relation und Tabelle vgl. Abschn. 3.1.

  4. 4.

    Dieses ist in den verschiedenen Systemen unterschiedlich realisiert. In Oracle und Sybase ist es etwa das RESOURCE-Privileg.

  5. 5.

    Die in den Befehlen eingesetzten Werte beziehen sich auf unsere Beispieltabellen, die im Anhang wiedergegeben sind. Es wird dazu geraten, diese Beispieltabellen für die eigenen Übungen zu verwenden, da so unmittelbar ein Vergleich der eigenen Ergebnisse mit den in diesem Buch dargestellten Lösungen möglich ist.

  6. 6.

    Um eine Tabelle vollständig aus der Datenbank zu entfernen, ist die DROP TABLE-Anweisung anzuwenden.

  7. 7.

    Soll eine Löschung zurückgenommen werden, kann dies u. U. mit ROLLBACK erreicht werden. In den folgenden Kapiteln bleiben die Tupel in der Kundentabelle als Beispielwerte erhalten.

  8. 8.

    [MaUn13] „Anwendungsentwicklung mit Datenbanken“.

  9. 9.

    SQL verarbeitet prinzipiell Tabellen, wovon Relationen ein Spezialfall sind. Genaueres dazu findet sich in Abschn. 7.2.

  10. 10.

    Hierbei gelten Nullmarken in verschiedenen Tupeln als gleich.

  11. 11.

    „Undefiniert“ heißt, dass durch die SQL-Norm keine bestimmte Reihenfolge der Zeilen festgelegt ist. Bei genauer Kenntnis der Arbeitsweise eines speziellen DBMS ist die Reihenfolge vorhersagbar. Sie kann sich aber schon von Version zu Version desselben Systems ändern.

  12. 12.

    primitiv ist hier im Gegensatz zu komplex zu sehen: Primitive logische Ausdrücke sind die ursprünglichen Bedingungen, aus denen komplexe logische Ausdrücke zusammengesetzt werden können.

  13. 13.

    Vgl. [Mesc71, S. 32].

  14. 14.

    Zu dem „unechten“ Wahrheitswert UNKNOWN findet sich in Abschn. 5.2.2 und 5.2.3 Näheres.

  15. 15.

    Hier steht in der Darstellung von Nullmarken die Angabe <null>, was vom Frontend-Tool SquirreL eingesetzt wird. Bei anderen Systemen erscheint hier ggf. keine Ausgabe. Die Darstellung der Ergebnisse ist keine Leistung des Datenbanksystems, sondern des entsprechenden Endanwender-Programms. Bei einigen Systemen lässt sich die Darstellung anpassen.

  16. 16.

    Zur Einführung der logischen Operatoren vgl. Abschn. 5.1.1. Die dreiwertige Logik im Zusammenhang mit Nullwerten ist in Abschn. 5.2.3 beschrieben.

  17. 17.

    Dieses ist sinnvoll, da man mit Postleitzahlen nicht rechnen will. Außerdem gibt es Postleitzahlen mit führenden Nullen, welche bei numerischen Zahltypen in der Regel weggelassen werden. Wenn man einen Postleitzahlbereich, also z. B. alle Postleitzahlen, die mit „28“ beginnen in einer Abfrage sucht, ist das mit PLZ LIKE „28 %“ sehr einfach und übersichtlich – die entsprechende Formulierung für numerische Postleitzahlen würde lauten PLZ/1000 = 28, während der PLZ-Bereich „275“ durch PLZ/100 = 275 abzufragen wäre. Dieses ist sicher nicht so übersichtlich wie die Formulierung mit LIKE und Zeichenketten.

  18. 18.

    Man kann dieses Problem auch mit IN lösen, siehe oben.

  19. 19.

    Vgl. Abschn. 3.1.1 und 3.1.3.

  20. 20.

    In der Regel gibt es auch eine Funktion LENGTH, mit der die Länge einer Zeichenfolge bestimmt werden kann. Allerdings hat die Einführung von Unicode und unterschiedlichen internen Darstellungen der Zeichenfolgen dazu geführt, dass ein Zeichen nicht immer in einem Octet (offizielle Bezeichnung für „Byte“) gespeichert wird. So kann es sein, dass LENGTH(„Günter“) den Wert 7 ergibt (während CHAR_LENGTH auch Umlaute und andere Sonderzeichen jeweils als ein Zeichen zählt).

  21. 21.

    Erläuterung hierzu:

    Der 1. Januar 1900 war ein Montag. Die Differenz zu dem gesuchten Datum ist die Anzahl der Tage seit diesem Montag, der Divisionsrest durch 7 somit die Anzahl der Tage seit dem letzten Montag, also 0 für Montag, 1 für Dienstag, …, 6 für Sonntag. Da aber nach der ISO-Norm der Montag den Wert 1 hat, Dienstag den Wert 2 etc. muss noch 1 dazu addiert werden. Es empfiehlt sich, bei häufigerer Benutzung hierfür eine Funktion zu definieren. Benutzerdefinierte Funktionen werden im Fortsetzungsband dieses Werks: „Anwendungsentwicklung mit Datenbanken“ behandelt.

  22. 22.

    Vgl. Abschn. 2.4.5.

  23. 23.

    Sybase SQL Anywhere weist auf die Eliminierung von Nullmarken mit einer Fehlermeldung hin. Wir halten dies nicht für angebracht, da es sich hier nicht um einen Fehler handelt. Die Ergebnisse werden aber korrekt ermittelt und angezeigt.

  24. 24.

    Außer Spalten aus der GROUP BY-Klausel, wenn diese verwendet wird. Mehr dazu im nächsten Abschnitt. Eine weitere Möglichkeit ist die in SQL:2003 eingeführte PARTITION-Klausel.

  25. 25.

    Zu beachten ist allerdings, dass SUM und AVG nur auf numerische Ausdrücke angewandt werden dürfen.

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Michael Unterstein Prof. Dr. or Günter Matthiessen Prof. Dr. .

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Unterstein, M., Matthiessen, G. (2012). SQL mit einer Relation. In: Relationale Datenbanken und SQL in Theorie und Praxis. eXamen.press. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-28986-6_6

Download citation

Publish with us

Policies and ethics