Sql-und-Xml - Home

Sql-Tutorial

Sql-Tutorial: Lernen Sie Sql und üben Sie die entsprechenden Befehle interaktiv anhand des Sql-interaktiv-lernen

Auf den folgenden Seiten finden Sie ein Sql-Tutorial, das anhand einer einfachen Datenbank die zentralen Prinzipien der beiden Teile von SQL, der Data Manipulation Language (DML) und der Data Definition Language (DDL) verdeutlicht. Die Beispieldatenbank, bestehend aus drei kleinen Tabellen (Artikel.txt, Vertreter.txt, Umsatz.txt) können Sie sich entweder direkt herunterladen und in ein eigenes Datenbank-System einspielen oder Sie nutzen das Sql-interaktiv-lernen aus den Freeware-Tools. In diesem ist eine Access-Datenbank mit den drei Beispieltabellen bereits enthalten. Eine Access-Installation ist zur Nutzung nicht notwendig. Es genügt die .NET1.1-Laufzeitumgebung, der Zugriff auf die Datenbank erfolgt über das Programm.

Falls Sie das Beispiel auf einem Ms-SqlServer oder einem anderen vergleichbaren Datenbank-System verwenden möchten, können Sie das Script create-sql-interaktiv.sql verwenden. Mit dem OSQL.exe können Sie dieses Script ausführen, ein Beispiel finden Sie in der Datei.

Unser Hauptgeschäft:
Neue Lösungen für Ihre Daten

Server-Daten: Die Web - Datenbank als CRM - Lösung ist:

  • die Single-Data-Solution: Alles in einer Datenbank, ein Login.
  • Sie entscheiden, was Ihre Datenbank macht. Diese funktioniert.
  • Sie sparen Ihre Arbeitszeit: Möglichst wenig Zeit am Computer.
  • Einfach für alle Generationen - Internetzugang genügt.
  • Erste Formulare nach ein bis zwei Tagen.
  • Kontakt per Telefon (+49(0)30 420 200 60), Mail oder Kontaktformular
  • Jetzt anmelden!

Ein Hinweis zum Aufbau dieses Tutorials: Bevor Sie sich zu viel mit der Theorie beschäftigen - erarbeiten Sie sich zunächst die praktischen Beispiele zum SELECT-Befehl (DML-I). Sql arbeitet mit Mengen. Sind Ihnen Auswertungen anhand eines überschaubaren, absichtlich kleinen Beispiels geläufig, so lernen Sie die zugrundeliegende relationale Theorie beiläufig.

Auswahl und Aggregation vorhandener Daten (Data Manipulation Language - DML-I)

  • SELECT - der Grundbegriff zur Auswahl von Daten: Sobald Sie Daten auswählen, sei es, um diese direkt anzeigen zu lassen oder sie weiterzuverarbeiten, verwenden Sie den SELECT-Befehl. In der einfachsten Version werden aus einer Tabelle alle oder einige Spalten ausgewählt.
  • Mit WHERE wenige Zeilen auswählen: Sollen von einer Tabelle nicht sämtliche, sondern nur wenige Zeilen zurückgegeben werden, so reduzieren Sie die Zahl der ausgegebenen Zeilen mit einer WHERE-Klausel.
  • Mit JOIN Tabellen kombinieren: Wurden die Regeln für die Normalisierung der Daten eingehalten, so sind die zu einem Datensatz gehörenden Zeilen oftmals über mehrere Tabellen verteilt. Mit einer JOIN - Klausel lassen sich zwei Tabellen zu einer neuen, virtuellen Tabelle zusammenfügen, so daß bsp. Zellen aus verschiedenen Tabellen miteinander multipliziert oder nach fehlenden Einträgen in einer der Tabellen gesucht werden kann.
  • Mit GROUP BY Daten aggregieren und auswerten: Alle bisherigen Techniken wählen aus, verändern die Ausgabezeilen jedoch nicht. Möchten Sie Werte einer Spalte aus mehreren Zeilen addieren, das Maximum in einer Spalte bestimmen oder Umsätze pro Tag und pro Artikel erhalten, so verwenden Sie Aggregatfunktionen und die GROUP-BY - Klausel.
  • Subqueries / Unterabfragen: Unterabfragen, meist Subqueries genannt, werden verwendet, um das Ergebnis einer Abfrage sofort als zusätzlichen Input für eine weitere Abfrage heranzuziehen. Damit lassen sich tieferliegende Strukturen ermitteln, etwa die Frage, welche Artikel oder Vertreter überdurchschnittlich viel zum Umsatz beigetragen haben.

Grundlagen für relationale Datenbank-Systeme und Entwurf der Speicherstruktur

  • Datenbank-Grundbegriffe: Im Bereich der Datenbank-Entwicklung werden grundlegende Unterscheidungen verwendet: Datenbank versus Datenbank-Management-System, die Forderung nach Redundanzfreiheit sowie das Erzwingen der Datenintegrität, der Unterschied zwischen desktop- und serverbasierten DBMS.
  • Organisation der Daten: Tabelle, Zeile und Spalte: Bei der Entwicklung einer relationalen Datenbank kann zunächst von einer einzigen, großen Tabelle ausgegangen werden. An dieser lassen sich diverse Probleme wie Redundanz und Insert-, Update- und Delete-Anomalien beobachten.
  • Primär- und Fremd- Schlüssel, Tabellen- Beziehungen: Ziel der Normalisierung ist, die denormalisierte Ausgangs-Tabelle in kleine Tabellen zu zerlegen, die miteinander verknüpft sind. Dies erfolgt mit Konzepten wie Schlüssel, Nicht-Schlüssel, Primär- und Fremdschlüssel sowie zusätzlichen Festlegungen für einzelne Spalten.
  • Erste Normalform - atomare Zellen und Datentypen: Die erste Normalform fordert atomare Attribute sowie das Auslagern von Gruppen. Um auf den Daten später spezielle Operationen durchführen zu können, werden für Spalten Datentypen festgelegt.
  • Zweite Normalform - funktional abhängige Attribute: Die zweite Normalform verlangt, daß alle Attribute in einer Tabelle voll funktional vom Primärschlüssel abhängen. Wird ein Attribut bereits durch eine Teilmenge des Primärschlüssels festgelegt, so ist dieses mit der Primärschlüssel-Teilmenge in eine eigene Tabelle auszulagern.
  • Dritte Normalform - keine transitive Abhängigkeit: Die dritte Normalform ist erfüllt, falls kein Attribut transitiv abhängig ist, daß es kein Nichtschlüssel-Attribut gibt, welches dieses Attribut bereits festlegt.
  • Sql als Sprache der vierten Generation: Sql ist als Programmiersprache durch einige Besonderheiten charakterisiert. Das DBMS muß Schnittstellen zum Austausch von Sql-Befehlen zur Verfügung stellen, die Sprache läßt sich in eine Wirtssprache einbetten und ist mengenorientiert. Die Abgrenzung zu anderen Programmiersprachen läßt sich durch die fünf Sprachgenerationen skizzieren.
  • Die historische Entwicklung von SQL: Einige Hinweise zur historischen Entwicklung von Sql, beginnend mit der Arbeit von Codd über den Vorläufer SEQUEL, die ersten Implementierungen bis zu den heutigen Standards Sql-92 und Sql-99.

Eintragen, Ändern und Löschen von Daten (Data Manipulation Language - DML-II)

  • INSERT - Hinzufügen neuer Zeilen zur Tabelle: Mit dem INSERT-Befehl werden Daten neu in vorhandene Tabellen eingefügt. Als Quelle kann eine Zeile mit VALUES direkt angegeben werden oder die Werte stammen aus dem Ergebnis einer SELECT-Abfrage.
  • Mit UPDATE vorhandene Zeilen aktualisieren: Die UPDATE-Anweisung ermöglicht die Aktualisierung vorhandener Zeilen einer Tabelle. Das zu verändernde Rowset kann sowohl mit WHERE-Klauseln als auch über eine Verknüpfung mit anderen Tabellen ermittelt werden, ebenso können die neuen Werte aus anderen Tabellen stammen.
  • DELETE - Zeilen löschen: DELETE entfernt Zeilen. Analog zu Update können die zu löschenden Zeilen durch WHERE eingeschränkt oder per JOIN-Verknüpfung über den Umweg anderer Tabellen spezifiziert werden.
Weitere Seiten zum Erstellen von Datenbank-Objekten (DDL) werden folgen. DLL-Befehle können allerdings nicht von Nutzern beim Hauptprojekt verwendet werden, insofern sind diese Themen derzeit nachrangig. Die aktuellen Texte stehen bereits zur Verfügung, damit Beispiele für das Sql-interaktiv-lernen aus den Freeware-Tools existieren und genutzt werden können.

Falls Sie diesen Text interessant finden, können Sie gerne einen Verweis auf Ihrer Site einfügen. Verlinken Sie bitte ausschließlich das Html-Angebot, die Xml-Version ist nur für Leser mit dem IE6 verwendbar. Kopieren Sie die folgende Html-Zeile in den Quellcode Ihrer Datei oder passen Sie die Darstellung Ihren eigenen Bedürfnissen an:
<a href="http://www.sql-und-xml.de/sql-tutorial/">Sql-Tutorial</a>
KontaktformularDruckversion - das Tutorial in einer Datei

© 2003-2014 Jürgen Auer, Berlin.