Menu schließen

Referat: SQL - Structured Query Language

Alles zu Sonstige

Gliederung


Einleitung/Erläuterung des Begriffes
a) Entstehung und Geschichte b) SQL Versionshistorie
Programmiersprache anhand von Beispielen
DQL (Data Query Language)
DML (Data Manipulation Language)
DDL (Data Definition Language)
DCL (Data Control Language)

Quellenangaben
Einleitung/Erläuterung des Begriffes SQL ist eine in den achtziger Jahren entstandene Programmiersprache zur Erstellung und Bearbeitung von relationalen Datenbanken. Ihre Syntax ist an die englische Umgangssprache angelehnt. Sie hat sich unter ständig durchgeführten Optimierungen und Verbesserungen bis heute zum QuasiStandard durchgesetzt.
a) Entstehung und Geschichte Vor und während der Entstehungsphase von SQL standen die Datenbankprogrammierer vor einem Problem. Immer mehr Daten wurden digitalisiert und zu immer größeren Datentabellen hinzugefügt. Jedoch blieb es nicht dabei sehr viele Datensätze in einer Tabelle zusammenzustellen, sondern vielmehr darum möglichst viele Datentabellen durch verschiedene Beziehungen untereinander zu verknüpfen. Die derzeit verwendeten Programmiersprachen, ließen jedoch nur die Erstellung von hierarchischen Datenbanken zu. Eine Datenbank sollte allerdings ein möglichst genaues Abbild der Realität liefern. Dem konnte allerdings dieser Datenbanktyp nur äußerst unzureichend entsprechen. Bei jeder Datenbankentwicklung wird zuerst ein so genanntes ERM (Entity Relationship Model) erstellt. Ausgeschrieben und übersetzt beschreibt es den genauen Sinn und Zweck einer Datenbank. Eine Datenbank basiert auf einem Modell der Beziehungen von Gegenständen. Am wichtigsten sind hierbei die besagten Beziehungen. Es gilt also diese zu optimieren. Intensive Forschungen brachten 1970 im Forschungslabor in San Jose (Kalifornien) erste Ergebnisse. Dr. Edgar F. Cott (* 1923 in Portland, † 18. April 2003) legte mit dem Artikel „A relational Model of Data for Large Shared Data Banks“ entscheidende Grundlagen für die Entstehung der neuen Datenbankgeneration. Relationale Datenbankstrukturen sollten dafür sorgen, dass das Datenbankmodell der Wirklichkeit näher kommt. Für das Verfassen des Artikels erhielt der Forscher 1981 den TuringAward, der weltweit als höchster Preis der Informatik bekannt ist. Auf der Basis dieses Artikels wurde die Programmiersprache SEQUEL geschaffen. Sie konnte allerdings derzeit noch nicht von Endbenutzern verwendet werden.Die 1974 entstandene Sprache war, um ein Beispiel aus dem Alltag zu nehmen, nur ein Automotor auf Basis der Konstruktionsanleitung von Dr. E. Cott und diente in dieser Form ausschließlich dem Selbstzweck. Jedoch wurde SEQUEL erweitert und 1876 entstand auf ihrer Basis eine zweite optimierte und erweiterte Version. Diese wurde jedoch aus rechtlichen Gründen nicht SEQUEL /2, sondern SQL2 genannt. Die erste praktische Anwendung fand die Sprache 1977 im dem auch von IBM herausgegebenen Prototyp System R. Diese Implementierung stellte, um das praktische Beispiel wieder aufzunehmen, das gesamte Fahrzeug dar, in das der Motor eingebaut wurde. System R war voll funktionsfähig, arbeitete weitgehend stabil und alle wichtigen Befehle waren enthalten. Daher fand ihr Entwurf in der Softwareindustrie so großen Anklang, dass sehr viele Unternehmen verschiedenste SQL-Implementierungen anboten. Ein sehr erfolgreiches Produkt schuf 1980 die Relational Systems Software Inc.. Die Datenbanksoftware ist auch heute noch bekannt unter dem Namen ORACLE. Dieses Produkt erlangte so viel Bekanntheit, dass die Firma kurze Zeit später eine Namensänderung in Oracle Inc. durchführte. Jedoch musste diese Firma wie alle Anderen, die Implementierungen anboten, Lizenzgebühren an IBM abführen. Ein Jahr später folgte dann IBM selbst mit dem allerdings weniger bekannten SQL/DS.
Nun stellte sich erneut ein Problem dar. Es entstand ein Wirrwarr im Sprachen- und Befehlsdschungel. Da jede Firma unterschiedliche Befehle und Dialekte anwandte, beauftragte das ANSI (American National Standards Institute) 1982 eine Standardisierung der Sprache. Diese wurde allerdings erst vier Jahre später durchgeführt, so dass in der Zwischenzeit noch DB2 von IBM, INGRIS und SYBASE von weiteren Firmen veröffentlicht wurden. Die bei der Standardisierung normierte SEQUEL Version wurde SQL1 genannt. Ein Jahr später wurde diese Version auch von der International Organization for Standardization zum ISO-Standard erklärt. Nun konnten kleine Änderungen der Sprache nicht mehr unübersichtlich von verschiedenen Herstellern in vielen Schritten durchgeführt werden. Sondern wurden gesammelt, geprüft und jeweils in eine neue ANSI/ISO Norm übernommen. Die erste Erweiterung wurde nur nach dem Erscheinungsjahr benannt: SQL89. Da die wichtigste Änderung die Integration des sog. Integrity Enhancement Features (IEF) war, welches ich gleich noch in der SQL Versionshistorie erläutern werde, ist es auch als SQL1 + IEF bekannt. Drei Jahre später folgte dann SQL2 und 1999 dann der jetzige Standard SQL3.
b) SQL Versionshistorie Der Fortschritt von SQL kann am besten anhand einer Pyramide dargestellt werden, da diese auch veranschaulicht, dass es sich um einen stufenweisen Aufbau handelt. Die Grundlagen der SEQUEL Befehle aus dem Bestand der DQL, also Datenabfragesprache sind natürlich auch in der neuesten Version SQL3 enthalten. Die Spitze der Pyramide, also die erste Version enthielt nichts weiter als die eben erwähnte DQL. Zur Erläuterung der Bedeutung der Sprachenuntergruppen D(?(L komme ich im nächsten Punkt. SQL1 oder auch SQL-86 wurde dann, wie in der Pyramide zu erkennen, um alle weiteren Sprachuntergruppen (DDL, DML, DCL) ergänzt. SQL-89 oder auch SQL1 + IEF erhielt wiederum, wie der Name schon sagt, das Integrity Enhancement Feature; dieses verbesserte die Datenintegrität, indem es Datenredundanzen und Inkonsistenzen durch Überprüfungsvorgänge vor jedem Schreibvorgang verhinderte. Das vermeidet unnötige Wartungsvorgänge und sorgt für eine sauberere Datenbank.
Der nächste Schritt führt die Entwickler zu SQL2 (SQL-92). Zum einen wurde der Sprachentwurf von SQL verbessert und zum anderen wurde den bisherigen Features Embedded SQL (ESQL) hinzugefügt. Mit dessen Hilfe erlaubt der Quelltext nun SQLCode in eine strukturierte oder objektorientierte Programmiersprache einzubinden. So kann eine der derzeit gängige Sprachen C/C++, COBOL, Ada oder Pascal um ein oder mehrere Funktion von SQL erweitert werden. Von den weitreichenden Änderungen von SQL3, die nun folgen, werde ich allerdings nur die Wichtigsten erläutern: Das Hinzufügen von abstrakten Datentypen und Objektorientierung macht das in der Vor-Version eingeführte ESQL weitgehend überflüssig. Die neue Version ist nun auch selbst in der Lage mit abstrakten Datentypen und Objektorientierung zu arbeiten. Ein anderes Feature ergänzt die Datenbank um die 4. Dimension – Die Zeit. Eine so genannte temporale Datenbank ist in der Lage dem Benutzer auch die vor der Veränderung existierenden Daten anzuzeigen. Man kann zum Beispiel die alte Post- oder Mailadresse eines Kunden bis zu einem definierten Zeitpunkt einsehen, auch wenn man sie vor der Änderung nicht explizit extrahiert hat. Ein weiteres Feature ermöglicht Multimedia-Integration. Bilder, Sounds und Videos sind nun kein unüberwindbares Hindernis mehr für Datenbanken der neuen Generation. Zudem ist durch Remote-Data-Access (RDA) auch ohne weiteres Fernzugriff auf die Daten möglich. Programmiersprache anhand von Beispielen

a) DQL (Data Query Language)
Bei dieser Sprachuntergruppe handelt es sich um eine reine Datenabfragesprache. Sie ist nicht in der Lage die Datensätze in irgendeiner Weise zu verändern, sondern kann sie nur auf verschiedenste Weise zusammenstellen. Die unterschiedlichen Implementierungen bieten hierzu vielerlei Möglichkeiten. Daten können sowohl als einfache nach dem Alphabet sortierte Liste, als auch in Form einer Kreuztabelle oder Datendiagramm dargestellt werden. Zur Erläuterung habe ich ein Beispiel ausgewählt, welches den Namen und die Postadressen aus einer Adressliste zunächst zusammen mit dem Gehalt aus der Gehaltstabelle in einer Liste darstellt und das Layout und die Spaltenbezeichnungen nach bestimmten Kriterien gestaltet. Im letzen Schritt wird die eigentliche Auswahlabfrage nach definierten Kriterien vorgenommen. Nun folgt eine Darstellung der einzelnen Codes, welche in jedem Schritt um weitere Befehle ergänzt werden. Diese werden nachfolgend erläutert. (Hierbei sind alle neu eingefügten Befehle fett gedruckt; Befehle sind immer in GROSSBUCHSTABEN geschrieben; Programmcode und Feldnamen in der Beschreibung kursiv.
SELECT Name, Vorname, Straße, Hausnummer, Wohnort, PLZ FROM tblAdressen; Dieses Kommando zeigt alle Datensätze der angegebenen Datenfelder aus der Tabelle mit der Bezeichnung tblAdressen an. Abgeschlossen wird jeder Befehl mit einem Semikolon.
SELECT Name, Vorname, Straße, Hausnummer, Wohnort, PLZ FROM tblAdressen ORDER BY Name, Vorname; Dieser Befehl stellt die Daten zudem nach dem Alphabet sortiert dar. Zunächst erfolgt die Sortierung nach dem Feld Name und dann nach dem Feld Vorname. Wird dem Befehl nachfolgend der Parameter DESC (eng. descending = absteigend) hinzugefügt, wird absteigend sortiert. Wird nichts oder ASC (eng. ascending = aufsteigend) hinzugefügt, sortiert das Datenbankprogramm aufsteigend.
SELECT Name, Vorname, Straße || ' ' || Hausnummer "Strasse/Nr.", Wohnort, PLZ "Postleitzahl" FROM tblAdressen ORDER BY Name, Vorname; In diesem Erklärungsschritt werden gleich zwei neue Befehle erläutert. Der erste Befehl sorgt dafür, dass für die Ziffern PLZ ein so genannter Aliasname eingesetzt wird. Nun steht als Spaltenüberschrift anstatt der Abkürzung PLZ das ausgeschriebene Wort Postleitzahl. Der andere Befehl fügt die zwei Felder Straße und Hausnummer zu einem einzigen Feld mit der Bezeichnung Straße/Nr. zusammen. Die Zeichenfolge zwischen den beiden Anführungszeichen gibt den Separator an. Bei der Kombination Name, Vorname könnte beispielsweise das Leerzeichen um ein führendes Komma ergänzt werden (also || ', ' || ).
SELECT tblAdressen.Name, tblAdressen.Vorname, tblAdressen.Straße || ' ' || tblAdressen.Hausnummer "Strasse/Nr.", tblAdressen.Wohnort, tblAdressen.PLZ "Postleitzahl" tblGehaltsliste.Gehalt FROM tblAdressen, tblGehaltsliste ORDER BY Name, Vorname; Dieser Befehl fügt den Datenfeldern der bisherigen DatentblAdressenbellen auch noch das Feld Gehalt aus der bereits in der Einleitung angekündigten Gehaltsliste hinzu. Da nun mit zwei Adressenbellen gearbeitet wird, muss jeder Feldname um die Datenblattherkunft ergänzt werden, um dem Datenbankprogramm mitzuteilen, wo die Information steht.
SELECT tblAdressen.Name, tblAdressen.Vorname, tblAdressen.Straße || ' ' || tblAdressen.Hausnummer "Strasse/Nr.", tblAdressen.Wohnort, tblAdressen.PLZ "Postleitzahl" tblGehaltsliste.Gehalt FROM tblAdressen, tblGehaltsliste ORDER BY Name, Vorname; WHERE tblAdressen.Name = 'Bohlen' AND tblAdressen.Vorname = 'Dieter' AND tblGehaltsliste.Gehalt > 20.000 Nach der Durchführung der gesamten „optischen Operationen“ gelangen wir nun zur eigentlichen Auswahl. Diese wird ausgeführt, indem in den letzten Befehlszeilen jeweils die Bedingungen eingesetzt werden. Im Beispiel sind relativ einfache Bedingungen beschrieben, jedoch kann alles Denkbare eingefügt werden. Dazu zählen verschachtelte WENN Funktionen und verschiedenste mathematische Aggregatfunktionen wie MITTELWERT, MAX, MIN und weitere. Die erste Bedingung wird immer mit WHERE eingeführt, wobei folgende, je nach Bedarf, entweder mit AND oder OR ergänzt werden. Bei Ersterem müssen alle Bedingungen erfüllt werden, bei Letzterem nur Eine.
In meiner Beschreibung habe ich nur ein einfaches Beispiel aus den am häufigsten verwendeten Funktionen zusammengestellt. In der Praxis sind noch sehr viel mehr Befehle verfügbar und werden auch eingesetzt und zu SQLCode zusammengestellt.
b) DML (Data Manipulation Language)
Diese Sprachuntergruppe hat weitaus mehr Macht, als zuvor beschriebene. Mit ihrer Hilfe kann der Datenbestand nicht nur selektiv eingesehen werden, sondern auch manipuliert, also verändert werden. Oft wird ein Veränderungsbefehl mit den bereits bekannten DQL Befehlen WHERE und AND kombiniert, um die zu verändernden Daten zusammenzustellen. Wie zuvor werde ich einige Sprachbefehle zu einem einfachen Beispiel bezüglich der Person „Dieter Bohlen“ zusammenstellen.
DELETE FROM tblAdressen WHERE Name = "ab del Farrag" AND Vorname = "Nadja" Im ersten Schritt wird zunächst einmal die Ex-Freundin Nadja aus dem Adressbestand entfernt. Der angewandte Befehl löscht zunächst alle Datensätze in denen der Name mit "ab del Farrag" und der Vorname mit "Nadja" übereinstimmt. Wie zuvor können Bedingungen je nach Bedarf mit AND oder OR kombiniert werden.
INSERT INTO tblAdressen (Name, Vorname, Straße, Hausnummer) VALUES ('Küster', 'Stefanie', 'Küstenweg', 5); Da wir nun seine Exfreundin entfernt habe, ist Platz für eine Neue. Stefanie Küster, besser bekannt als Estefania wird nun unserem Datenbestand hinzugefügt. Dazu verwendet man den Befehl INSERT INTO. Zunächst einmal gibt man an welche Datenfelder in welcher Datentabelle ein neuer Datensatz hinzugefügt werden soll und nach VALUES werden die einzufügenden Werte nach zuvoriger Reihenfolge definiert. Dies stellt sicher, dass der Name auch in dem Feld Name erscheint und nicht etwa im Feld Hausnummer Konflikte mit der Datentypdefinition verursacht. Des Weiteren ist wichtig alle Textstrings in einfache Anführungszeichen zu setzen. Zahlenformate wie Hausnummer und Datumsformate benötigen diese nicht.
UPDATE tblGehaltsliste SET Gehalt = 7000, Arbeitsstd.= NULL WHERE Name = 'Küster' Als letztes wird der UPDATE Befehl vorgestellt. Er ist in der Lage Daten in zuvor bestehenden Datensätzen zu aktualisieren bzw. neu zu schreiben. Der Befehl wird mit UPDATE und der Auswahl der Datentabelle eingeleitet und gibt nach SET die Felder an, in denen neue Werte eingefügt werden sollten. Das Gehalt wird in allen Feldern, in denen der Name Küster ist, auf 7000 gesetzt. Des Weiteren wird auch der Wert im Feld Arbeitsstd. gleich Null gesetzt. Dieser Befehl bewirkt eine Löschung des Feldes.
Die Sprachuntergruppe besitzt noch weitere Befehle, die nur für den Eingriff in eine „lebende Datenbank“ erforderlich sind. Damit ist eine Datenbank gemeint, die zur Zeit der Bearbeitung in Betrieb ist. Dies könnte die SQL-Datenbank eines Online Auktionshauses sein, oder auch die einer Suchmaschine. Hierbei ist es sehr wichtig während einer Editierungs-Operation den Schreibzugriff auf die Daten zu sperren. Hierzu sind zwei Befehle sehr praktisch. Sehr hilfreich ist der Befehl COMMIT. Mit ihm wird eine Befehlskette eingeleitet. Bei seiner Eingabe werden die Änderungen an der Datenbank vorerst nur in einer internen Datenbankkopie durchgeführt. Jeder User bekommt noch die Datensätze zu sehen, die vor der Operation vorhanden waren und hat keine Schreibberechtigung. Sobald der Datenbankbearbeiter den COMMIT Befehl erneut eingibt, werden die Änderungen überschrieben und der normale Betrieb bearbeiteten Datenfelder kann fortgesetzt werden. Sehr praktisch ist, dass immer nur ein kleiner Teil oder maximal eine Datentabelle gesperrt ist; nie aber die gesamte Datenbank. Des Weiteren ist auch der Befehl ROLLBACK sehr gut zu gebrauchen. Mit seiner Hilfe können alle seit der ersten Eingabe von COMMIT durchgeführten Änderungen rückgängig gemacht werden. Der zweite äußerst nützliche Befehl ist LOCK TABLE. Dieser sperrt eine gesamte Datentabelle. Er kann eingesetzt werden, wenn sehr viele Änderungen an einer Datentabelle durchzuführen sind, oder aber auch im Notfall bei massenhaften auftretenden unautorisierten Manipulationen.
c) DDL (Data Definition Language)
Dies ist die Untergruppe der SQL-Programmiersprache die für die Datendefinition zuständig ist. Die meisten Operationen arbeiten mit dem Hinzufügen oder Entfernen von Tabellenspalten oder ganzen Tabellen. Im Beispiel wird eine weitere Datentabelle für die Eingabe aller Alben von unserem‚Gott der PopMusik’ Dieter Bohlen erzeugt.
CREATE TABLE tblAlben (Nr INTEGER primary key, Titel varchar (20), Erscheinungsdatum, DATETIME Not Null) UNIQUE (Nr); CREATE SEQUENCE Nr INCREMENT BY 1 MINVALUE 1; Dieser, zunächst sehr lang und unübersichtlich wirkende Befehl, hat bei genauerer Betrachtung eine eindeutige Syntax. Nach CREATE TABLE folgt zunächst der Datentabellenname und eingeklammert die Bezeichnung der Datenfelder. Nach jedem Datenfeldnamen folgt die Angabe des Datentyps und eventuell der String primary key falls das Feld als Primärschlüssel definiert werden soll. Die Datentypbezeichnungen sind leider trotz der 1982 durchgeführten ANSI-Standardisierung nicht einheitlich. Für MS Access gelten die in der Fußnote angegebenen. Nach Angabe aller Datenfelder erfolgt noch in der Klammer die Angabe von Not Null, um Eingaben in allen Feldern zu erzwingen. Der Zweite Befehl erzeugt für das Feld Nr einen AutoWert, der von dem Minimalwert(MINVALUE) 1 in 1er Schritten(INCREMENT) aufgezählt wird.
ALTER TABLE tblAlben ADD Verkaufszahlen INTEGER Dieser Befehl fügt der soeben erstellten Datentabelle ein weiteres Datenfeld mit der Bezeichnung „Verkaufszahlen“ hinzu. Der Datentyp wird auf INTEGER festgelegt.
d) DCL (Data Control Language)
Diese Sprachuntergruppe ist für die Datenkontrolle zuständig. Zu Deutsch: Rechteverwaltung. Mit ihrer Hilfe kann der Datenbankadministrator Rechte vergeben oder entziehen. In unserem Beispiel entziehe ich Dieter Bohlen alle Rechte an allen behandelten Datentabellen und gewähre sie dem Benutzer GOB3. Dies geschieht in zwei Schritten.
REVOKE SELECT, DELETE, UPDATE ON tblAdressen, tblGehaltsliste, tblAlben FROM D.Bohlen; Mit diesem Befehl entziehe ich dem Benutzer D.Bohlen alle Rechte an den drei Beispieltabellen. Anstatt ALL lassen sich jedoch auch einzelne Rechte definieren. Diese sind in der rechtsseitigen Tabelle zu erkennen.
Recht Anweisung Alle Rechte eines Datenbankobjekts ALL Recht zum Lesen von Datensätzen SELECT Recht zum Ändern von Datensätzen UPDATE Recht zum Einfügen von Datensätzen INSERT Recht zum Löschen von Datensätzen DELETE Recht zum Definieren von referenzieller Integrität REFERENCES Recht um Tabellen nachträglich zu verändern ALTER Recht zum Löschen von Datenbankobjekten DROP Recht zum Erstellen von Datenbankobjekten CREATE INSERT INTO user (host, user, password) VALUES (“localhost”, “GOB3”,PASSWORD(“Schule”)); Dieser Befehl ist im Grunde genommen ein DML Befehl. Allerdings arbeitet er nicht mit irgendeiner Datentabelle, sondern mit jener, die die Benutzerrechte festlegt. Diese definiert Loginnamen und Passwörter und je nach Bedarf auch Email-Adressen und Telefonnummern der Benutzer. In diesem Fall weisen wir dem Benutzer GOB3, der sich nur lokal anmelden darf (localhost) das Passwort Schule zu. Mit diesem kann er sich zukünftig einloggen, hat aber noch keine Lese- oder Bearbeitungsrechte.
GRANT ALL ON tblAdressen, tblGehaltsliste, tblAlben TO GOB3; Dieser Befehl weist unserem soeben erstellten Benutzer alle Rechte an den Datentabellen zu.

Quellenangaben
Insbesondere Geschichte von SQL und teilweise Versionshistorie und Beispiele http://de.wikipedia.org/wiki/SQL
Pyramide der Versionen Informationen über Fachbegriffe RDA, IEF, usw. über versch. Google Resultate) http://rnvs.informatik.tu-chemnitz.de/proseminare/www03/doku/datenbank/datenbanken.html Informationen über das Liebesleben der Beispielfigur Dieter Bohlen http://www.bohlen-fanpage.de/lebenslauf.php
Praktische Beispiele http://www.torsten-horn.de/techdocs/sql.htm
Gute Bespiele zu DCL http://www.it-academy.cc/content/article_browse.php?ID=0000001293
(Angeben sind nur die ‚Hauptquellen’. Wie schon beschrieben recherchierte ich Detailinformationen zu Fachbegriffen und bestimmten Themen über verschiedene Seiten, die ich über die internationale Google-Suche gefunden habe, da auf keiner Seite eindeutige Begriffsdefinitionen angegeben wurden.)
Bezeichnung von Zeichen bis Zeichen Komma Speicher Byte 0 255 - 1 Byte Integer -32.768 +32.767 - 2 Byte LongInteger ca. -2Mia. ca. +2Mia. - 4 Byte Single -3,5*1038 +3,5*1038 7 4 Byte Double 1,797*10308 1,797*10308 15 8 Byte Dezimal -1038 1038 28 12 Byte Datetime - - - - Char(n) - - - - Varchar(n) - - - - Longchar - - - 64KByte NOW() - - - -
1/6 GOB3 Tobias Twardon WIO Referat SQL 29.05.2004 12:14
© 2004 Tobias@twardon.de
Inhalt
In diesem Referat gehe ich genau auf die Programmiersprache SQL ein.
Hierbei werden folgende Punkte berücksichtigt:
1. Einleitung/Erläuterung des Begriffes
2.a) Entstehung und Geschichte
b)SQL Versionshistorie
3. Programmiersprache anhand von Beispielen
a) DQL (Data Query Language)
b) DML (Data Manipulation Language)
c) DDL (Data Definition Language)
d) DCL (Data Control Language)
4. Quellenangaben (Aussschließlich das Internet) (2671 Wörter)
Hochgeladen
12.10.2004 von unbekannt
Optionen
Referat herunterladen: PDFPDF, Download als DOCDOC
  • Bewertung 4.1 von 5 auf Basis von 19 Stimmen
  • 1
  • 2
  • 3
  • 4
  • 5
4.1/5 Punkte (19 Votes)



Seite drucken | Melden
Kostenlos eine Frage an unsere Informatik-Experten stellen:

Wenn du dieses Dokument verwendest, zitiere es bitte als: "SQL - Structured Query Language", https://e-hausaufgaben.de/Referate/D4062-Datenbankprogrammierung-SQL-Structured-Query-Language.php, Abgerufen 18.11.2019 20:38 Uhr

Es handelt sich hier um einen fremden, nutzergenerierten Inhalt für den keine Haftung übernommen wird.
Download: PDFPDF, Download als DOCDOC
ÄHNLICHE DOKUMENTE:
PASSENDE FRAGEN: