- Verlag: Comelio
- Genre: keine Angabe / keine Angabe
- Ersterscheinung: 03.09.2007
- ISBN: 9783939701118
SQL und relationale Datenbanken
SQL (Stuctured Query Language) ist der Sprachstandard, der in allen relationalen Datenbanksystemen genutzt wird, um Datenstrukturen wie Tabellen und Sichten anzulegen, Schema-Objekte zu verwalten und Daten einzutragen, zu ändern und zu löschen sowie insbesondere abzufragen und zu untersuchen. Auch für die Verwaltung einer Datenbank ist es einsetzbar. Dieses Buch zeigt Datenbank-Anfängern zunächst die Grundlagen von relationalen Datenbanken und erklärt Ihnen an verschiedenen Beispielen mit Übungen, wie eine relationale Datenstruktur aufgebaut wird. Danach lernen Sie, Tabellen in SQL zu erstellen und Daten einzutragen sowie zu bearbeiten. Anhand von Standard-SQL beschäftigen Sie sich mit allen Sprachteilen von SQL und können so ein gutes Grundlagenwissen erwerben, um sich dann mit speziellen SQL-Dialekten zu beschäftigen.
Dieses Buch ist in Projekte aufgeteilt, die aufeinander aufbauen. Es gibt allerdings mehrere Datenbanken, anhand derer immer wieder neue Themen erörtert werden. Teilweise werden also Inhalte früherer Projekte vorausgesetzt, somit ist unsere Empfehlung sich das Buch von Anfang an zu Gemüte zu führen. Sie werden es selbst merken, sobald ein Bezug zu früheren Aussagen hergestellt wird. Innerhalb eines Projekts werden Sie Lektionen finden, in denen die einzelnen Inhalte weitestgehend schrittweise erläutert werden. Dabei haben wir uns bemüht, möglichst viel, was uns dafür geeignet schien, als Handlungsablauf darzustellen. Wenn die Skripte dagegen insbesondere durch ihre Zusammenstellung übersichtlicher sind als wenn sie durch Schrittfolgen künstlich entzerrt werden, haben wir entsprechende Erklärungen vor- und nachgeschaltet. In einer Zusammenfassung finden Sie dann die wichtigsten Erkenntnisse eines Projekts noch einmal übersichtlich aufbereitet, während die wesentlichen Inhalte dann in Form von Übungen trainiert werden. Diese Übungen stellen auch weitere Beispiele der im Projekt gezeigten Techniken und Verfahren dar, die inhaltlich teilweise auch für die folgenden Projekte relevant sind. Hier finden Sie gerade auch in den Lösungen weitere Hinweise, wie die Lösung entstanden ist.
Das erste Kapitel führt in den Bereich der relationalen Datenbanken ein. Dies betrifft die wesentlichen Grundbegriffe rund um Daten und ihren Datentypen, Beziehungen und ihrer Strukturierung in Entitäten/Tabellen. Die Darstellung bewegt sich von kurzen theoretischen Ausführungen dann beispielorientiert anhand einer konkreten kleinen Datenbank zu konkreten Datenstrukturen.
Das zweite Kapitel zeigt, wie man Tabellen in einer beispielhaften Anwendung erstellt, SQL generiert und auch selbst direkt schreiben kann. Dabei werden die modellierten Beispiele aus dem ersten Kapitel noch einmal aufgegriffen und nun in konkrete SQL-Skripte umgewandelt. Dies umfasst die wesentlichen Befehle der Data Definition Language, einem Teilbereich der SQL-Sprache.
Das dritte Kapitel verwendet eine der Beispieldatenbanken der vorherigen Kapitel, um die Tabellen mit Daten zu füllen und diese Daten zu bearbeiten. Nach der Behandlung des Erstellungs- und Anpassungsprozesses von Tabellenstrukturen behandelt dieses Kapitel nun einen Teilbereich der Data Manipulation Language von SQL, der im folgenden Kapitel um die Abfragen ergänzt wird.
Das vierte Kapitel führt in die relationale Algebra und damit kurz in die theoretischen Fundamente eines der wesentlichen Befehle von SQL ein: die Abfrage von einer und mehrerer Tabellen. Dieses Kapitel konzentriert sich darauf, die Grundlagen für die Abfragen, Filterungen und Sortierungen zu schaffen und bietet daher ausschließlich Beispiele, in denen eine einzige Tabelle abgefragt wird.
Das fünfte Kapitel zeigt komplexe Abfragen mit Funktionen und dem gleichzeitigen Zugriff auf mehrere Tabellen. Dabei werden die verschiedenen Verknüpfungsarten anhand von mehreren Beispielen vorgeführt.
Das sechste Kapitel erklärt, wie man Abfragen in Form von Sichten und damit als eine virtuelle Tabelle direkt in der Datenbank speichern kann.
Das siebte Kapitel führt in die Data Control Language von SQL ein. Hier geht es darum, Benutzer, Rollen und Rechtestrukturen einzurichten. Dabei führt es auch allgemeine Diskussionen, wie Sicherheit überhaupt in relationalen Datenbanken implementiert werden kann und welche allgemeinen Konzepte es dabei gibt.
Das achte Kapitel zeigt die Installation der Datenbanksysteme MySQL 3, MS SQL Server 2000 und Oracle 9i. Dies erfolgt in ausführlichen Schritten.
Das neunte Kapitel führt allgemein in den Transaktionsbegriff ein und leitet dann über, die SQL-Erweiterung T-SQL vom MS SQL Server kurz mit einigen Beispielen vorzustellen.
Das zehnte Kapitel führt ebenfalls beispielhaft und übersichtsartig in die PL/SQL-Programmierung von Oracle und damit in diese SQL-Erweiterung ein.
Am Ende jeden Kapitels befinden sich Lernfragen und Übungen, die im elften Kapitel alle kurz beantwortet werden. In Kapitel zwölf befindet sch schließlich auch ein Glossar für die wichtigsten Fachbegriffe.
1 Einleitung
1.1 Was Sie im Buch finden
1.2 Die Zielgruppe
1.3 Der Aufbau
1.3.1 Wie Sie üben und testen können
2 Grundlagen relationaler Datenbanken
2.1 Komponenten eines Datenbanksystems
2.1.1 Sichten auf ein DBS
2.1.2 Benutzergruppen eines DBS
2.1.3 Anforderungen an ein DBS
2.2 Daten und Datenstrukturen
2.2.1 Eigenschaften von Daten
2.2.2 Klassifikation von Datentypen
2.3 Beziehungsstrukturen zwischen Daten
2.3.1 Die 1:1 (eineindeutige) Beziehung
2.3.2 Die 1:n (funktionale) Beziehung
2.3.3 Die n:m (komplexe) Beziehung
2.4 Vom ER-Modell zum RDM
2.5 Über Normalisierung ein Datenmodell optimieren
2.5.1 Das Konzept der funktionellen Abhängigkeit
2.5.2 Von der Universal Relation zum RDM
2.5.3 DB-Anomalien und Redundanzen
2.6 Fachbegriffe für Tabellenbestandteile
3 Datenbank und Tabellen anlegen und ändern
3.1 Entwicklung und Hintergrund von SQL
3.2 Mit PowerDesigner ein Datenmodell grafisch entwickeln
3.3 DB und Tabellen anlegen
3.3.1 Tabellen anlegen
3.3.2 SQL99-Datentypen
3.3.3 Tabelle auf Existenz überprüfen
3.3.4 Synonyme
3.4 Tabellenstruktur ändern
3.5 Einschränkungen und Datenüberprüfungen
3.5.1 Festlegen eines Wertebereichs
3.5.2 Verwenden der Einschränkung innerhalb der Tabelle
3.5.3 CHECK – Klausel innerhalb der Tabellendefinition
3.5.4 Einschränkungen für Tabellen
3.6 Tabellen untereinander referenzieren
3.7 Daten strukturieren mit Indizes
3.8 Kommentare für DB-Objekte
4 Daten einfügen und ändern
4.1 Daten in eine DB eintragen
4.2 Daten löschen
4.3 Daten aktualisieren und ändern
5 Grundstrukturen einfacher Abfragen
5.1 Übersicht über die relationale Algebra
5.2 Grundstruktur der Abfrage
5.3 Operatoren der WHERE – Klausel
5.3.1 Boolesche Funktionen und logische Operatoren
5.3.2 Vergleichsoperatoren
5.3.3 Berechnungen mit numerischen Operatoren und Vorzeichen
5.4 Abfrage des Werts NULL
5.5 Abfragen miteinander verknüpfen
5.5.1 Vereinigungsmenge von Tabellen
5.5.2 Schnittmenge
5.5.3 Differenzen zwischen Tabellen
6 Komplexe Abfragen, Unterabfragen und Funktionen
6.1 Mehrere Tabellen abfragen
6.1.1 Grundprinzip und Bedeutung der Fremdschlüssel
6.1.2 Möglichkeiten der Verknüpfung
6.1.3 Tabelle mit sich selbst verknüpfen
6.1.4 Mehr als zwei Tabellen verknüpfen
6.2 Aggregatfunktionen einsetzen
6.3 Unterabfragen und ihre Operatoren
6.3.1 Grundprinzip einer Unterabfrage
6.3.2 Verwendung von Vergleichsoperatoren
6.3.3 Prädikate bei Unterabfragen
6.3.4 NULL und MATCH
6.3.5 Duplikate in Unterabfragen
6.4 Sortierungen und Gruppierungen
6.5 Werte in der WHERE – Klausel
6.5.1 Text und Zahlenwerte
6.5.2 System-Variablen
6.5.3 Skalare Funktionen
6.5.4 Ausdrucks-Operatoren
6.5.5 Bedingungen mit CASE
7 Abfragen in virtuellen Tabellen speichern
7.1 Grundprinzip der virtuellen Tabelle
7.1.1 Funktionsweise von virtuellen Tabellen
7.1.2 Überlegungen zu Einsatzbereichen
7.2 Sichten anlegen und löschen
7.3 Sichten aufrufen
7.3.1 Grundformen des Aufrufs von Sichten
7.3.2 Gefahren- und Fehlerquellen bei Sichtdefinitionen
7.4 Änderungen über Sichten realisieren
7.4.1 Einfügen, Löschen und Aktualisieren
7.4.2 Gefahren- und Fehlerquellen bei Änderungsvorgängen
7.4.3 Überprüfungen mit WITH CHECK OPTION
7.5 Snapshots verwenden
8 Zugriffskontrolle durch Benutzer, Rechte und Rollen
8.1 Vorüberlegungen für Zugriffskontrollen
8.2 Benutzer anlegen
8.3 Rechte vergeben und versagen
8.3.1 Rechte für Benutzer anlegen
8.3.2 Benutzern Rechte verweigern
8.3.3 Benutzern Rechte entziehen
8.4 Rollen einrichten
9 MySQL, MS SQL Server und Oracle
9.1 Die ODBC- Schnittstelle
9.2 MySQL und ODBC
9.2.1 Installation von MySQL unter Windows
9.2.2 Arbeiten mit der Eingabeaufforderung
9.2.3 Installation von MySQL- Front
9.2.4 DB und Tabellen anlegen in MySQL-Front
9.2.5 ODBC- Verbindung zu MySQL mit MS Access
9.3 Der MS SQL- Server und MS Access
9.3.1 Installation des MS SQL-Servers
9.3.2 Arbeiten mit dem MS SQL-Server
9.3.3 Starten, Anhalten und Beenden des MS SQL-Servers
9.3.4 Der Enterprise Manager
9.3.5 Der Query Analyzer
9.3.6 Das Anlegen der SemiTex- Datenbank
9.3.7 ODBC- Verbindung von MS SQL-Server zu MS Access
9.4 Oracle installieren und einrichten
9.4.1 Die Installation von Oracle
9.4.2 Eine Datenbank in Oracle anlegen
9.4.3 Tabellen in die DB einfügen
9.4.4 ODBC mit Oracle verbinden
10 MS SQL Server und Transact SQL
10.1 Grundprinzip von Transaktionen
10.2 Transact SQL - Variablen und ihre Datentype
10.2.1 Datentypen im MS SQL Server
10.2.2 Variablen deklarieren und mit Werten füllen
10.3 Verzweigungen und Schleifen
10.3.1 Die if - else - Anweisung
10.3.2 Die if – else if – else – Anweisung
10.3.3 Schleifen bilden und Zähler verwenden
10.4 DB-Prozeduren in MS SQL Server
11 Oracle und PL/SQL
11.1 Grundüberlegungen
11.2 Programmstrukturen gestalten
11.2.1 Deklarationen im DECLARE-Abschnitt
11.2.2 Ausgaben im Programmablauf
11.2.3 Weitere Formen der Wertzuweisungen
11.2.4 Verzweigungen und Ausnahmen erstellen
11.2.5 Schleifen konstruieren
11.3 Cursor-Behandlung
12 Lösungen
13 Glossar
Dieses Buch ist in Projekte aufgeteilt, die aufeinander aufbauen. Es gibt allerdings mehrere Datenbanken, anhand derer immer wieder neue Themen erörtert werden. Teilweise werden also Inhalte früherer Projekte vorausgesetzt, somit ist unsere Empfehlung sich das Buch von Anfang an zu Gemüte zu führen. Sie werden es selbst merken, sobald ein Bezug zu früheren Aussagen hergestellt wird. Innerhalb eines Projekts werden Sie Lektionen finden, in denen die einzelnen Inhalte weitestgehend schrittweise erläutert werden. Dabei haben wir uns bemüht, möglichst viel, was uns dafür geeignet schien, als Handlungsablauf darzustellen. Wenn die Skripte dagegen insbesondere durch ihre Zusammenstellung übersichtlicher sind als wenn sie durch Schrittfolgen künstlich entzerrt werden, haben wir entsprechende Erklärungen vor- und nachgeschaltet. In einer Zusammenfassung finden Sie dann die wichtigsten Erkenntnisse eines Projekts noch einmal übersichtlich aufbereitet, während die wesentlichen Inhalte dann in Form von Übungen trainiert werden. Diese Übungen stellen auch weitere Beispiele der im Projekt gezeigten Techniken und Verfahren dar, die inhaltlich teilweise auch für die folgenden Projekte relevant sind. Hier finden Sie gerade auch in den Lösungen weitere Hinweise, wie die Lösung entstanden ist.
Das erste Kapitel führt in den Bereich der relationalen Datenbanken ein. Dies betrifft die wesentlichen Grundbegriffe rund um Daten und ihren Datentypen, Beziehungen und ihrer Strukturierung in Entitäten/Tabellen. Die Darstellung bewegt sich von kurzen theoretischen Ausführungen dann beispielorientiert anhand einer konkreten kleinen Datenbank zu konkreten Datenstrukturen.
Das zweite Kapitel zeigt, wie man Tabellen in einer beispielhaften Anwendung erstellt, SQL generiert und auch selbst direkt schreiben kann. Dabei werden die modellierten Beispiele aus dem ersten Kapitel noch einmal aufgegriffen und nun in konkrete SQL-Skripte umgewandelt. Dies umfasst die wesentlichen Befehle der Data Definition Language, einem Teilbereich der SQL-Sprache.
Das dritte Kapitel verwendet eine der Beispieldatenbanken der vorherigen Kapitel, um die Tabellen mit Daten zu füllen und diese Daten zu bearbeiten. Nach der Behandlung des Erstellungs- und Anpassungsprozesses von Tabellenstrukturen behandelt dieses Kapitel nun einen Teilbereich der Data Manipulation Language von SQL, der im folgenden Kapitel um die Abfragen ergänzt wird.
Das vierte Kapitel führt in die relationale Algebra und damit kurz in die theoretischen Fundamente eines der wesentlichen Befehle von SQL ein: die Abfrage von einer und mehrerer Tabellen. Dieses Kapitel konzentriert sich darauf, die Grundlagen für die Abfragen, Filterungen und Sortierungen zu schaffen und bietet daher ausschließlich Beispiele, in denen eine einzige Tabelle abgefragt wird.
Das fünfte Kapitel zeigt komplexe Abfragen mit Funktionen und dem gleichzeitigen Zugriff auf mehrere Tabellen. Dabei werden die verschiedenen Verknüpfungsarten anhand von mehreren Beispielen vorgeführt.
Das sechste Kapitel erklärt, wie man Abfragen in Form von Sichten und damit als eine virtuelle Tabelle direkt in der Datenbank speichern kann.
Das siebte Kapitel führt in die Data Control Language von SQL ein. Hier geht es darum, Benutzer, Rollen und Rechtestrukturen einzurichten. Dabei führt es auch allgemeine Diskussionen, wie Sicherheit überhaupt in relationalen Datenbanken implementiert werden kann und welche allgemeinen Konzepte es dabei gibt.
Das achte Kapitel zeigt die Installation der Datenbanksysteme MySQL 3, MS SQL Server 2000 und Oracle 9i. Dies erfolgt in ausführlichen Schritten.
Das neunte Kapitel führt allgemein in den Transaktionsbegriff ein und leitet dann über, die SQL-Erweiterung T-SQL vom MS SQL Server kurz mit einigen Beispielen vorzustellen.
Das zehnte Kapitel führt ebenfalls beispielhaft und übersichtsartig in die PL/SQL-Programmierung von Oracle und damit in diese SQL-Erweiterung ein.
Am Ende jeden Kapitels befinden sich Lernfragen und Übungen, die im elften Kapitel alle kurz beantwortet werden. In Kapitel zwölf befindet sch schließlich auch ein Glossar für die wichtigsten Fachbegriffe.
1 Einleitung
1.1 Was Sie im Buch finden
1.2 Die Zielgruppe
1.3 Der Aufbau
1.3.1 Wie Sie üben und testen können
2 Grundlagen relationaler Datenbanken
2.1 Komponenten eines Datenbanksystems
2.1.1 Sichten auf ein DBS
2.1.2 Benutzergruppen eines DBS
2.1.3 Anforderungen an ein DBS
2.2 Daten und Datenstrukturen
2.2.1 Eigenschaften von Daten
2.2.2 Klassifikation von Datentypen
2.3 Beziehungsstrukturen zwischen Daten
2.3.1 Die 1:1 (eineindeutige) Beziehung
2.3.2 Die 1:n (funktionale) Beziehung
2.3.3 Die n:m (komplexe) Beziehung
2.4 Vom ER-Modell zum RDM
2.5 Über Normalisierung ein Datenmodell optimieren
2.5.1 Das Konzept der funktionellen Abhängigkeit
2.5.2 Von der Universal Relation zum RDM
2.5.3 DB-Anomalien und Redundanzen
2.6 Fachbegriffe für Tabellenbestandteile
3 Datenbank und Tabellen anlegen und ändern
3.1 Entwicklung und Hintergrund von SQL
3.2 Mit PowerDesigner ein Datenmodell grafisch entwickeln
3.3 DB und Tabellen anlegen
3.3.1 Tabellen anlegen
3.3.2 SQL99-Datentypen
3.3.3 Tabelle auf Existenz überprüfen
3.3.4 Synonyme
3.4 Tabellenstruktur ändern
3.5 Einschränkungen und Datenüberprüfungen
3.5.1 Festlegen eines Wertebereichs
3.5.2 Verwenden der Einschränkung innerhalb der Tabelle
3.5.3 CHECK – Klausel innerhalb der Tabellendefinition
3.5.4 Einschränkungen für Tabellen
3.6 Tabellen untereinander referenzieren
3.7 Daten strukturieren mit Indizes
3.8 Kommentare für DB-Objekte
4 Daten einfügen und ändern
4.1 Daten in eine DB eintragen
4.2 Daten löschen
4.3 Daten aktualisieren und ändern
5 Grundstrukturen einfacher Abfragen
5.1 Übersicht über die relationale Algebra
5.2 Grundstruktur der Abfrage
5.3 Operatoren der WHERE – Klausel
5.3.1 Boolesche Funktionen und logische Operatoren
5.3.2 Vergleichsoperatoren
5.3.3 Berechnungen mit numerischen Operatoren und Vorzeichen
5.4 Abfrage des Werts NULL
5.5 Abfragen miteinander verknüpfen
5.5.1 Vereinigungsmenge von Tabellen
5.5.2 Schnittmenge
5.5.3 Differenzen zwischen Tabellen
6 Komplexe Abfragen, Unterabfragen und Funktionen
6.1 Mehrere Tabellen abfragen
6.1.1 Grundprinzip und Bedeutung der Fremdschlüssel
6.1.2 Möglichkeiten der Verknüpfung
6.1.3 Tabelle mit sich selbst verknüpfen
6.1.4 Mehr als zwei Tabellen verknüpfen
6.2 Aggregatfunktionen einsetzen
6.3 Unterabfragen und ihre Operatoren
6.3.1 Grundprinzip einer Unterabfrage
6.3.2 Verwendung von Vergleichsoperatoren
6.3.3 Prädikate bei Unterabfragen
6.3.4 NULL und MATCH
6.3.5 Duplikate in Unterabfragen
6.4 Sortierungen und Gruppierungen
6.5 Werte in der WHERE – Klausel
6.5.1 Text und Zahlenwerte
6.5.2 System-Variablen
6.5.3 Skalare Funktionen
6.5.4 Ausdrucks-Operatoren
6.5.5 Bedingungen mit CASE
7 Abfragen in virtuellen Tabellen speichern
7.1 Grundprinzip der virtuellen Tabelle
7.1.1 Funktionsweise von virtuellen Tabellen
7.1.2 Überlegungen zu Einsatzbereichen
7.2 Sichten anlegen und löschen
7.3 Sichten aufrufen
7.3.1 Grundformen des Aufrufs von Sichten
7.3.2 Gefahren- und Fehlerquellen bei Sichtdefinitionen
7.4 Änderungen über Sichten realisieren
7.4.1 Einfügen, Löschen und Aktualisieren
7.4.2 Gefahren- und Fehlerquellen bei Änderungsvorgängen
7.4.3 Überprüfungen mit WITH CHECK OPTION
7.5 Snapshots verwenden
8 Zugriffskontrolle durch Benutzer, Rechte und Rollen
8.1 Vorüberlegungen für Zugriffskontrollen
8.2 Benutzer anlegen
8.3 Rechte vergeben und versagen
8.3.1 Rechte für Benutzer anlegen
8.3.2 Benutzern Rechte verweigern
8.3.3 Benutzern Rechte entziehen
8.4 Rollen einrichten
9 MySQL, MS SQL Server und Oracle
9.1 Die ODBC- Schnittstelle
9.2 MySQL und ODBC
9.2.1 Installation von MySQL unter Windows
9.2.2 Arbeiten mit der Eingabeaufforderung
9.2.3 Installation von MySQL- Front
9.2.4 DB und Tabellen anlegen in MySQL-Front
9.2.5 ODBC- Verbindung zu MySQL mit MS Access
9.3 Der MS SQL- Server und MS Access
9.3.1 Installation des MS SQL-Servers
9.3.2 Arbeiten mit dem MS SQL-Server
9.3.3 Starten, Anhalten und Beenden des MS SQL-Servers
9.3.4 Der Enterprise Manager
9.3.5 Der Query Analyzer
9.3.6 Das Anlegen der SemiTex- Datenbank
9.3.7 ODBC- Verbindung von MS SQL-Server zu MS Access
9.4 Oracle installieren und einrichten
9.4.1 Die Installation von Oracle
9.4.2 Eine Datenbank in Oracle anlegen
9.4.3 Tabellen in die DB einfügen
9.4.4 ODBC mit Oracle verbinden
10 MS SQL Server und Transact SQL
10.1 Grundprinzip von Transaktionen
10.2 Transact SQL - Variablen und ihre Datentype
10.2.1 Datentypen im MS SQL Server
10.2.2 Variablen deklarieren und mit Werten füllen
10.3 Verzweigungen und Schleifen
10.3.1 Die if - else - Anweisung
10.3.2 Die if – else if – else – Anweisung
10.3.3 Schleifen bilden und Zähler verwenden
10.4 DB-Prozeduren in MS SQL Server
11 Oracle und PL/SQL
11.1 Grundüberlegungen
11.2 Programmstrukturen gestalten
11.2.1 Deklarationen im DECLARE-Abschnitt
11.2.2 Ausgaben im Programmablauf
11.2.3 Weitere Formen der Wertzuweisungen
11.2.4 Verzweigungen und Ausnahmen erstellen
11.2.5 Schleifen konstruieren
11.3 Cursor-Behandlung
12 Lösungen
13 Glossar
Meinungen aus der Lesejury
Es sind noch keine Einträge vorhanden.