Einführung in SQL: Projektorganisation
PDF-Version
BearbeitenAls Vorbereitung dafür gibt es die folgenden Seiten:
- Einführung in SQL: Buchtitel – Entwurf für die Titelseite eines gedruckten Buches
wird nicht mehr verwendet, damit die PDF-Datei direkt gedruckt werden kann - Grundlage für die PDF-Version – Wiki-Quelltext zur Erstellung der PDF-Version mit dem Konvertierungsprogramm wb2pdf sowie LaTeX
- Einführung in SQL: Buchklappe – Entwurf für die Rückseite eines gedruckten Buches
wird nicht mehr verwendet, damit die PDF-Datei direkt gedruckt werden kann
Für spätere PDF-Versionen wird vorzugsweise der bei Jürgen vorhandene lokale LaTeX-Quelltext verwendet: Für Code-Auszüge und Seitenumbruch mussten viele LaTeX-Möglichkeiten ausgenutzt werden, die im Wiki-Quelltext nicht berücksichtigt werden können.
Zielgruppe
BearbeitenDie Zielgruppe dieses Buches sind Schüler, Studenten und Andere, die sich mit relationalen Datenbanken beschäftigen wollen bzw. müssen. Es soll eine Einführung in die Thematik geben.
Ziele des Buches
Bearbeiten- Einführung in SQL anhand einer Beispieldatenbank.
- Der Leser soll die Beispiele anhand von Übungen auf seinem eigenen Datenbankmanagementsystem nachvollziehen können.
Die Schwerpunkte liegen hierbei auf folgenden Themen:
- Abfragen von Daten
- Manipulieren von Daten
- Einfaches Ändern der Datenbankstruktur
Abgrenzung
BearbeitenDa dieses Buch eine Einführung in SQL geben soll, kann es folgende Anforderungen nicht erfüllen. Das Buch ist:
- Keine Einführung in die Grundkonzepte relationaler Datenbankmodelle.
- Keine Einführung in die Modellierung von relationalen Datenbanken.
- Keine Einführung in die Administration von Datenbankmanagementsystemen.
- Keine Einführung in das Performance-Tuning von relationalen Datenbanken.
- Keine Einführung in prozedurale (z.B. PL/SQL) oder objektorientierte Sprachen, die innerhalb der Datenbank gespeichert und genutzt werden können. Diese Themen werden in dem Buch PL/SQL beschrieben.
Für diese Themen gibt es spezielle Quellen im Internet bzw. Literatur, die der interessierte Leser für weitere Vertiefungen nutzen sollte.
Autoren
BearbeitenWenn Du am Buch mitarbeiten möchtest, dann kannst Du Dich in die Liste eintragen. Das Auflisten der zur Verfügung stehenden DBMS kann hilfreich sein, um sicher stellen zu können, dass die Beispiele auf den verschiedenen Systemen lauffähig sind.
Vorlagen
BearbeitenFür ein einheitliches Erscheinungsbild des Buches werden – von Anfang an – Vorlagen genutzt werden, und zwar soweit möglich Standardvorlagen.
- Vorlage:Navigation Buch in der folgenden Fassung (am Kopf und am Fuß einer jeden Seite):
<noinclude><div class="noprint">{{Navigation Buch | Einführung in SQL#Grundlagen | Inhaltsverzeichnis: Grundlagen |Einführung in SQL: Voriges Kapitel| Zurück zu: Voriges Kapitel | Einführung in SQL: Nächstes Kapitel|Weiter zu: Nächstes Kapitel }}</div></noinclude>
- Tabellen wie unter Hilfe:Tabellen beschrieben (ohne Verweis auf "wikitable")
- Regal:Programmierung: Vorlage:SingleCode in der Fassung des untenstehenden Beispiels
Diese Vorlage ersetzt Regal:Programmierung: Vorlage:Code, die mehr Varianten als benötigt bietet. - Vorlage:Syntax wird nur in seltenen Fällen zur Syntax-Hervorhebung benutzt.
Vorlage:Übung3ersetzt durch Vorlage:Übung4 und Vorlage:Übung4 Lösung
Ursprünglich vorgesehen, aber nicht benutzt werden diese buchspezifischen Vorlagen:
- Einführung in SQL: Vorlage: Entität
- Einführung in SQL: Vorlage: Grafik
- Einführung in SQL: Vorlage: TabZeile3H
- Einführung in SQL: Vorlage: TabZeile3
- Einführung in SQL: Vorlage: TabZeile4H
- Einführung in SQL: Vorlage: TabZeile4
- Einführung in SQL: Vorlage: Übung
Sie wurden deshalb inzwischen gelöscht oder zur Löschung vorgemerkt.
Regeln
BearbeitenDie folgenden Regeln sollen ein einheitliches Erscheinungsbild gewährleisten:
- Jedes Kapitel beginnt mit einer Einführung, erst danach kommt der erste Abschnitt mit Überschrift.
- Die Überschriften der Abschnitte benutzen mindestens 2 Gleichheitszeichen, aber nicht die Ebene 1.
- Jedes Kapitel hat eine kurze Zusammenfassung.
- Jedes Kapitel hat Übungen, die auf dem Inhalt des Kapitel anhand der Beispieldatenbank basieren.
- Die Lösungen folgen in einem getrennten Abschnitt des Kapitels nach den Übungen.
Regeln für die Beispiele
BearbeitenDie folgende Anleitung steht fast identisch auf Einführung in SQL: Einleitung und dient dort als Arbeitsanleitung, wie die Beispiele zu lesen und zu verstehen sind.
- Alle SQL-Befehle und Schlüsselwörter, wie z.B. SELECT, INSERT, DELETE, WHERE, ORDER BY, werden groß geschrieben. SQL selbst verlangt das nicht, sondern arbeitet case-insensitive; dort werden SELECT, select und sogar sElEcT gleich behandelt.
- Tabellen- und Spaltennamen werden vorzugsweise groß geschrieben, und zwar ohne Anführungszeichen.
- String-Konstanten werden mit einfachen Anführungszeichen gekennzeichnet.
- SQL-Befehle werden mit einem Semikolon abgeschlossen.
- Optionale Argumente (d.h. solche, die nicht unbedingt erforderlich sind) werden in [] eingeschlossen.
- Variable Argumente (d.h. solche, die mit unterschiedlichem Inhalt vorkommen) werden in <> eingeschlossen.
- Wahlmöglichkeiten werden durch das Pipe-Zeichen | (den senkrechten Strich) getrennt.
- Listen werden gekennzeichnet durch <inhaltliste>, wobei dies eine Kurzform ist für <inhalt1, inhalt2, ... inhaltn>.
Die Struktur eines Befehls wird dargestellt durch einen einfachen Rahmen mit Courier-Schrift:
SELECT <spaltenliste> FROM <tabellenname> [WHERE <bedingungsliste>] ;
In diesem Fall muss der Autor auf Großschreibung und Fettdruck usw. selbst achten.
Ein konkretes Beispiel wird mit einem komplexen Rahmen und unterschiedlichen Inhalten (abweichende Farbe bei Fehlern, mit oder ohne Kopfzeile, mit oder ohne Ausgabefenster) dargestellt:
select * from Beispieltabelle
where Spalte1 = 'Abc';
Dafür muss der Autor die Vorlage SingleCode mit den unter "Bearbeiten" sichtbaren Optionen verwenden (ggf. mit den Optionen error, valid, output). Diese Vorlage wird in mehreren Büchern verwendet; deshalb sind höchstens andere Optionen sinnvoll.
ToDo-Liste
BearbeitenOffene Aufgaben
BearbeitenMehr zu JOIN im ersten Abschnitt eine grafische Darstellung der Varianten einfügen-- Juetho 18:34, 2. Jan. 2010 (CET)- Einführung in SQL: Mehr zu JOIN#Übungen ergänzen um Aufgaben, wann welche Art von JOIN passt. -- Juetho 18:34, 2. Jan. 2010 (CET)
- Tipps und Tricks Abfrage der Tabellenstruktur erweitern, Abfrage der Fremdschlüssel-Beziehungen hinzufügen. -- Juetho 16:25, 15. Jan. 2010 (CET)
Erledigte Aufgaben
Bearbeiten- Erstellen von Views muss noch erweitert werden mit Erläuterungen und Beispielen zu verschiedenen Optionen. -- Juetho 17:56, 28. Okt. 2009 (CET)
- Beispieldatenbank: alle Beispiele überarbeiten und an die geänderten Schreibweisen von Tabellen und teilweise Spalten anpassen. -- Juetho 12:05, 30. Okt. 2009 (CET)
- überall: Zusammenfassung hinzufügen -- Juetho 12:05, 30. Okt. 2009 (CET)
- Beispieldatenbank: Die Schadensfälle 3, 4, 5, 6 (Firebird-Skript) benötigen weitere Datensätze als Fahrzeug, Versicherungsvertrag, Versicherungsnehmer für die "Fremdfahrzeuge". -- Juetho 15:37, 30. Okt. 2009 (CET)
- natürlich alle noch fehlenden Abschnitte (was jetzt noch fehlt, ist einzeln aufgeführt) -- Juetho 15:37, 30. Okt. 2009 (CET)
- Vorlage:Übung3 erstellt: Auf jeder Seite steht unter der Überschrift {{:{{PAGENAME}}: Übungen}} ein Verweis auf eine extra Übungsseite; dort stehen alle Übungen zusammen mit {{Übung3}}. -- Juetho 17:00, 31. Okt. 2009 (CET)
- Prozeduren -- Juetho 13:45, 17. Nov. 2009 (CET)
- Trigger -- Juetho 19:29, 18. Nov. 2009 (CET)
- UNION – mehrere Abfragen verbinden muss um INTERSECT, MINUS/EXCEPT ergänzt werden. Entfällt, weil es zu selten angeboten wird; aber Hinweis eingefügt. -- Juetho 16:28, 29. Nov. 2009 (CET)
- Testdaten erzeugen ergänzt, wie unter Mehrere Tabellen beschrieben. -- Juetho 16:28, 29. Nov. 2009 (CET)
- Programmierung mit dem Teilbereich "prozedurales SQL" -- Juetho 16:28, 29. Nov. 2009 (CET)
- Bei allen Seiten mit "Funktionen" sind die Beispiele zu ändern: Für Firebird gilt "from rdb$database", für Oracle ähnlich "from dual". Darauf muss ich hinweisen; deshalb brauchen wir eine allgemeine Formulierung "from ???". -- Juetho 15:53, 05. Dez. 2009 (CET)
- Bei Prozeduren: Automatisches UPDATE gemäß Bedingungen ist der sachliche Fehler mit den Fahranfängern zu berichtigen. -- Juetho 16:39, 09. Dez. 2009 (CET)
- Zur Schlussredaktion: Ausführliche SELECT-Struktur Widerspruch zwischen "vollständig" und "nicht alles"; "wir" statt "ich"; Vorlage:Navigation hoch ersetzt durch [[Vorlage:Navigation hochrechts]] -- Juetho 18:39, 10. Dez. 2009 (CET)
- Auf die Vorlage "hochrechts" wird jetzt ganz verzichtet, das gehört zu den Einstellungen der Leser. -- Jürgen 14:02, 4. Sep. 2011 (CEST)
- Beispieldatenbank: alle Skripte überarbeiten und an die jetzige Fassung von Firebird anpassen. -- Juetho 18:00, 15. Dez. 2009 (CET)
- CROSS JOIN, siehe Diskussion:Einführung in SQL: Mehr zu JOIN. -- Juetho 16:02, 25. Dez. 2009 (CET)
- Fremdschlüssel-Beziehungen überarbeiten, wie unter Benutzer Diskussion:Julius-m aufgeführt. -- Jürgen 16:25, 15. Jan. 2010 (CET)
- überall: Übungen hinzufügen -- Jürgen 16:17, 19. Jan. 2010 (CET)
- Mehr zu JOIN im ersten Abschnitt eine grafische Darstellung der Varianten einfügen -- Juetho 17:38, 10. Jan. 2011 (CET)
Zweite Auflage
BearbeitenBei der Erstellung des Buches sind nach und nach verschiedene Mängel aufgefallen, die in einer vollständigen Überarbeitung berücksichtigt werden sollten. Hier können wir dafür Themen sammeln.
- SQL-Standard: Wechsel von 2003 auf 2008 berücksichtigen -- Jürgen 12:41, 15. Jan. 2010 (CET)
- Beispieldatenbank: Abteilungen hierarchisch gliedern wie unter Fremdschlüssel-Beziehungen -- Jürgen 12:41, 15. Jan. 2010 (CET)
- Beispieldatenbank: Dienstwagen anders aufbauen, nämlich als Fuhrpark mit Fahrtenbuch (das u.a. ermöglicht schöne Self-Joins) -- Jürgen 12:41, 15. Jan. 2010 (CET)
- Beispieldatenbank: vielleicht eine rudimentäre Buchhaltung (Rechnungen, Zahlungen) einbauen -- Jürgen 12:41, 15. Jan. 2010 (CET)