Tiefpreis
CHF26.70
Print on Demand - Exemplar wird für Sie besorgt.
Man kennt zwar heute geeignete Methoden, Unstimmigkeiten im Datenbestand zu vermeiden, mit denen man sowohl kleine als auch große Datenstände optimal strukturieren und verwalten kann. Oft fehlt aber ein Leitfaden, der diese Methoden sinnvoll zu einer durchgängigen und praxisorientierten Vorgehensweise kombiniert. Genau dieser Leitfaden ist das zentrale Thema des vorliegenden Lehrbuchs. Anhand vieler praktischen Beispiele wird in umfassender Weise gezeigt, wie relationale Datenbanken idealerweise entworfen werden sollten und wie anschließend die Daten in der relationalen Datenbank verarbeitet werden können. Relationale Datenbanken haben sich in den vergangenen 30 Jahren zu einem fundamentalen Bestandteil betrieblicher Informationssysteme entwickelt. Allerdings ist es alles andere als trivial, diese relationalen Datenbanken so zu strukturieren, dass sich bei deren Verarbeitung keine Unstimmigkeiten im Datenbestand ergeben. Man kennt zwar heute geeignete Methoden, mit denen man sowohl kleine als auch große Datenstände optimal strukturieren und verwalten kann. Oft fehlt aber ein Leitfaden, der diese Methoden sinnvoll zu einer durchgängigen und praxisorientierten Vorgehensweise kombiniert. Genau dieser Leitfaden ist das zentrale Thema des vorliegenden Lehrbuchs. Anhand vieler praktischen Beispiele wird in umfassender Weise gezeigt, wie relationale Datenbanken idealerweise entworfen werden sollten und wie anschließend die Daten in der relationalen Datenbank verarbeitet werden können. Das vorliegende Buch ist gedacht als Basis für eine Grundlagenvorlesung über den Entwurf und die Verarbeitung relationaler Datenbanken. Es eignet sich aber auch für ein Selbststudium oder als Nachschlagewerk für den Datenbankspezialisten, der in der Praxis relationale Datenbanken entwickelt und verarbeitet. Das vorliegende Buch ist gedacht als Basis für eine Grundlagenvorlesung über den Entwurf und die Verarbeitung relationaler Datenbanken. Es eignet sich aber auch für ein Selbststudium oder als Nachschlagewerk für den Datenbankspezialisten, der in der Praxis relationale Datenbanken entwickelt und verarbeitet.
Autorentext
Dr. Nikolai Preiß ist Professor für Wirtschaftsinformatik an der Berufsakademie Stuttgart.
Die Schwerpunkte seiner Lehrtätigkeit bilden die Themen Projektmanagement und insbesondere Datenbanken.
Zusammenfassung
Dieses Lehrbuch erläutert eine durchgängige und praxisorientierte Vorgehensweise, um kleinere als auch große Datenbestände optimal zu strukturieren und zu verwalten. Lobenswert ist der didaktische Aufbau sowie die zahlreichen Übungsaufgaben mit Lösungen. Zentrale Datenbankthemen werden detailliert und anschaulich vermittelt. aus: IT Director 7-8/2007 (Juli 2007)
Leseprobe
4 Datenbanksprache SQL (S. 87-88)
Untrennbar mit relationalen Datenbanken verbunden ist heute der Begriff SQL. SQL steht für Structured Query Language und bezeichnet die weit verbreitete Standard-Sprache für das Arbeiten mit relationalen Datenbanken. Der Name ist etwas irreführend, da SQL weit mehr darstellt als eine Abfragesprache. Die ursprüngliche Form von SQL, die Mitte der Siebziger Jahre bei der IBM entstanden ist, hat sich in den vergangenen 30 Jahren zu einer umfassenden Datenbanksprache entwickelt (SQL-Standards wurden 1986, 1989, 1992, 1999 und 2003 veröffentlicht). SQL bietet heute Sprachkonstrukte für
Mit diesen Sprachkonstrukten können heute nicht nur konventionelle Datenbanken mit relativ einfach strukturierten Massendaten verwaltet werden, sondern auch die unterschiedlichsten Non-Standard-Datenbanken wie bspw. im Bereich Data Warehouse, Multimedia oder XML. Dabei können die SQL-Anweisungen auf unterschiedliche Arten an das Datenbanksystem übermittelt werden:
Aus diesem gesamten SQL-Spektrum soll im Folgenden der Sprachkern von SQL, also die grundlegenden und in der Praxis auch am häufigsten verwendeten SQL-Anweisungen, vorgestellt werden. Alle Anweisungen werden in Anlehnung an den genormten SQL-Standard diskutiert, die SQL-Dialekte existierender Datenbanksysteme werden nicht behandelt. Ebenfalls nicht behandelt werden Aspekte aus den Bereichen Non-Standard-Datenbanken (Data Warehouse, XML-Datenbanken, etc.) und Programmierspracheneinsatz. Der interessierte Leser sei diesbezüglich auf die einschlägige Datenbank-Literatur verwiesen.
4.1 Datendefinition
Bevor man Daten in eine Datenbank ablegen kann, muss zunächst einmal die entsprechende Datenbank angelegt und deren Struktur definiert werden. Dazu wird für jede Datenbank ein Schema-Name vereinbart, und es werden die zu diesem Schema gehörenden normalisierten (Basis-)Tabellen definiert. Daran anschließend können noch für die externe Ebene die Benutzersichten (Views) über die Basistabellen und für die interne Ebene einige Indexe zur Performance-Steigerung vereinbart werden. Die entsprechenden SQL-Anweisungen werden im Folgenden der Reihe nach vorgestellt.
4.1.1 Schema und Tabellen
Alle Definitionen für eine relationale Datenbank ergeben das so genannte relationale Schema. Daher muss zu Beginn der Definitionen zunächst ein leeres Schema definiert werden. Dies erfolgt mit der SQL-Anweisung
CREATE SCHEMA ,
Sofern das Datenbankschema später einmal wieder gelöscht werden soll, gibt es dafür die SQL-Anweisung
DROP SCHEMA , ,CASCADE / RESTRICT
Der Zusatz CASCADE / RESTRICT ist in vielen Datenbanksystemen optional. Er regelt, ob eine Datenbank, die noch Datenbank-Objekte enthält, gelöscht werden soll (CASCADE) oder nicht. Der Default-Wert ist RESTRICT.
Inhalt
'1;Inhalt;6
2;Vorwort;10
3;Abbildungsverzeichnis;12
4;1 Einführung;16
4.1;1.1 Datenbanken und Datenbankentwurf;16
4.2;1.2 Arbeiten mit relationalen Datenbanken;20
4.3;1.3 Vom Entwurf zur Verarbeitung relationaler Datenbanken;24
5;2 Entity-Relationship- Datenmodellierung;26
5.1;2.1 Entitätstyp;26
5.1.1;2.1.1 Strukturierungselement Entitätstyp;27
5.1.2;2.1.2 Attribut;27
5.1.3;2.1.3 Wertebereich;28
5.1.4;2.1.4 Primärschlüssel;29
5.1.5;2.1.5 Weak-Entitätstyp;30
5.1.6;2.1.6 Integritätsbedingungen;31
5.1.7;2.1.7 Übungsaufgabe 1;32
5.2;2.2 Beziehungstyp;33
5.2.1;2.2.1 Allgemeiner Beziehungstyp: Assoziation;33
5.2.2;2.2.2 Spezielle Beziehungstypen: Abhängigkeit, Aggregation, Generalisierung;35
5.2.3;2.2.3 Beziehungsentitätstyp;38
5.2.4;2.2.4 Multiplizität;40
5.2.5;2.2.5 Rolle;43
5.2.6;2.2.6 Attribut und Fremdschlüssel;44
5.2.7;2.2.7 Primärschlüssel;45
5.2.8;2.2.8 Beziehungstypen mit einem Grad 2;48
5.2.9;2.2.9 Vermeidung höhergradiger Beziehungstypen;51
5.2.10;2.2.10 Übungsaufgabe 2;57
5.2.11;2.2.11 Übungsaufgabe 3;58
5.3;2.3 Klassische ER-Datenmodellierung;59
5.3.1;2.3.1 Entitätstyp;59
5.3.2;2.3.2 Beziehungstyp;60
5.3.3;2.3.3 Beziehungskomplexitäten;61
5.3.4;2.3.4 Übungsaufgabe 4;65
6;3 Relationale Datenmodellierung und Normalisierung;66
6.1;3.1 Grundlagen der relationalen Datenmodellierung;66
6.1.1;3.1.1 Relation;67
6.1.2;3.1.2 Attribut;67
6.1.3;3.1.3 Wertebereich;68
6.1.4;3.1.5 Fremdschlüssel;69
6.1.5;3.1.6 Integritätsbedingung;70
6.2;3.2 Überführung des ER-Datenmodells in ein Relationenmodell;71
6.2.1;3.2.1 Überführung eines Entitätstyps;71
6.2.2;3.2.2 Überführung eines Beziehungstyps;74
6.2.3;3.2.3 Übungsaufgabe 5;81
6.2.4;3.2.4 Übungsaufgabe 6;81
6.3;3.3 Normalisierung im Relationenmodell;81
6.3.1;3.3.1 Grundidee der Normalisierung;81
6.3.2;3.3.2 Attribut-Abhängigkeiten;83
6.3.3;3.3.3 Erste Normalform;86
…