Diskussion:Datenbanksprache

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Andere Datenbanksprachen als SQL?[Quelltext bearbeiten]

"[..]Es gibt eine Vielzahl von Datenbanksprachen [..]"

Welche den? Gibt es da mal eine Liste irgendwo?

Ich meine im Artikel sollten dann ruhig auch ein paar konkrete Beispiele genannt werden.--Polli75 13:14, 16. Jun. 2009 (CEST)[Beantworten]


Abfrage gehört zur DML[Quelltext bearbeiten]

Da ist immer immer wieder Leute gibt, die unbedingt DQL hier eintragen wollen. Die Data Query Language als eigenstängige Kategorie der Datenbanksprachen ist weder in der Fachliteratur, noch bei den Herstellern so akzeptiert. Die Abfrage gehört zur DML. Quellen:

  • Elmarsi/Navathe, Datenbanksysteme, Addison-Wesley
  • Date/Darwen, The SQL Standard, Addison-Wesley
  • Gruber, SQL Instant Reference, Sybex
  • Schlageter/Stucky, Datenbanksysteme, Teubner
  • Martin, Einführung in die Datenbanktechnik, Hanser

Und nicht zuletzt in der SQL Norm selbst (ANSI/ISO 9075 Part 2) ist SELECT unter Data Manipulation aufgeführt. Falls jetzt noch jemand das Bedürfnis hat, DQL wiederzuerwecken, dann bitte mit vernünftiger Literaturangabe. Danke. Grüße --EFR 16:22, 28. Jul 2006 (CEST)

Nachtrag: Unter Data Manipulation Language findet sich jetzt auch eine entsprechende Erklärung. DQL resp. Data Query Language werden nach LA-Diskussion darauf weitergeleitet. --EFR 09:00, 10. Aug 2006 (CEST)

Data Storage Description Language[Quelltext bearbeiten]

In mancher literatur taucht auch "Data Storage Description Language". Ist das was ganz anderes, oder wie ich denke nur ein anderer name für die DCL? zb. in: Stahlknecht, P.: "Einführung in die Wirtschaftsinformatik". 7. Auflage, Springer Verlag, Berlin Heidelberg New York 1995. S. 220 (Der vorstehende, nicht signierte Beitrag stammt von 82.239.77.3 (DiskussionBeiträge) 18:28, 30. Jul. 2007)

DSDL gehört zum Netzwerkdatenbankmodell[Quelltext bearbeiten]

Historisch unterscheidet man zwischen Hierarchischen, Netzwerk- und Relationalen Datenmodellen (später kamen noch Objektrelationale und Objektorientierte Datenmodelle hinzu, aber um die soll es hier nicht gehen). Seit 1980 hat sich das Relationale Modell weitestgehend durchgesetzt. Die Datenbanksysteme, mit denen man heute hantiert (PostgreSQL, MySQL, Access usw.) sind praktisch immer relational.

Die Data Storage Description Language (DSDL), nach der du fragst, gehört zusammen mit der Data Definition und der Data Manipulation Language zu einem Standardisierungsvorschlag, der 1978 von der DBTG für die Beschreibung von Netzwerkdatenbanken entwickelt wurde. Dieser Vorschlag basiert auf der allgemeineren ANSI-SPARC-Architektur. Die ANSI-SPARC-Architektur lässt sich auch auf Relationale Datenbanken anwenden, denn auch dort kann man eine interne Ebene (Internal Level), eine konzeptionelle Ebene (Conceptual Level) und eine externe Ebene (External Level) identifizieren. Es ist jedoch falsch, diesen drei Ebenen Sprachen (Languages) zuzuordnen. Natürlich verfügen auch Relationale Datenbanken über eine Schicht zur physischen Datenspeicherung (Data Storage), aber im Rahmen von SQL existiert dafür keine standardisierte Beschreibungssprache (Description Language).

Man muss also unterscheiden: Die ANSI-SPARC-Architektur gilt für alle Datenmodelle, unabhängig von irgendwelchen Sprachen. Das CODASYL/DBTG-Modell benutzt die ANSI-SPARC-Architektur und wendet sie auf Netzwerkdatenbanken an. Dort kommt die Sprache DSDL ins Spiel, die aber wie gesagt nur für Netzwerkdatenbanken gilt. Wenn man von SQL-Sprachen spricht, gilt die klassische Einteilung in DDL, DML und DCL. Eine Beziehung zwischen diesen drei SQL-Sprachkategorien und den drei Ebenen der ANSI-SPARC-Architektur gibt es allerdings nicht, auch wenn sich das aufdrängt. Es wäre also Unsinn, zu sagen, dass die DCL in die unterste Ebene der ANSI-SPARC-Architektur gehören würde. Genauso wäre es Unsinn, den Begriff DSDL zu gebrauchen, wenn man über Relationale Datenbanken spricht.

Mit anderen Worten: Die rechte Spalte in Abb. 5.34 im Buch von Stahlknecht/Hasenkamp, in der genau diese Zuordnung vorgenommen wird, ist falsch. In SQL gibt es weder eine DSDL noch eine „QL“ (SQL ist insgesamt eine „QL“).

Quellen:

--TMg 19:14, 31. Jul. 2007 (CEST)[Beantworten]