Grundkurs Datenbanksysteme (eBook)
XIV, 402 Seiten
Carl Hanser Fachbuchverlag
978-3-446-42875-1 (ISBN)
- In diesem Lehrbuch finden Sie vor allem das für die Praxis wichtige Wissen rund um Datenbanken.
- Viele Schritt-für-Schritt-Anleitungen und Beispiele erleichtern Ihnen den Zugang zu diesem Themengebiet.
- Im Internet: Aufgaben zum Buch (incl. Lösungen), die SQL-Skripte zum Erzeugen der Demodatenbank, sowie der Quellcode aus dem Buch und Folien für Dozenten
Datenbanken sind heute allgegenwärtig und gehören darum zum Pflichtprogramm für jeden angehenden und gestandenen IT-Profi. In diesem Grundkurs lernen Sie, was für die praktische Arbeit mit Datenbanken wichtig ist.
Ganz ohne Theorie geht es nicht, deshalb lernen Sie zu Beginn die Konzepte relationaler Datenbanksysteme kennen. Im zweiten Teil des Buches geht es um die Modellierung und das Design von Datenbanken. Als nächstes erhalten Sie eine Einführung in die Datenbankabfragesprache SQL, beschäftigen sich vor allem mit der select-Anweisung und erfahren, wie Sichten auf Datenbanken realisiert werden. Ein wichtiges Thema des Buches ist das Aufsetzen von und die Anwendungsentwicklung für Datenbanken. Hier werden grundlegende Java-Kenntnisse vorausgesetzt. Abschließend blickt dieser Grundkurs über die Grenzen der relationalen Datenbankwelt hinaus und stellt objektorientierte Datenbanken, XML-Datenbanken und NoSQL in den Grundzügen vor.
Mit Hilfe von Schritt-für-Schritt-Anleitungen und zahlreichen Beispielen führt der Autor Sie anschaulich in das Themengebiet ein. Aufgaben zum Buch finden Sie im Internet unter www.grundkurs-datenbanksysteme.de. So können Sie das Buch zum Selbststudium oder begleitend zu einer Vorlesung nutzen.
AUS DEM INHALT: Relationale Datenbanken, Tabellen und Constraints, Normalisierung, Grundlagen von SQL, Einfache select-Anweisungen, Funktionen in SQL-Anweisungen, Geschachtelte Abfragen, Views, Transaktionen, JDBC, Hibernate, Architektur eines Datenbanksystems, Objektdatenbanken, XML-Datenbanken, NoSQL u.v.m.
Prof. Dr. Lothar Piepmeyer unterrichtet an der Fakultät für Informatik der Hochschule Furtwangen. Vor seiner Hochschultätigkeit arbeitete er als Consultant und Trainer für die Datenbank Informix bei der IBM.
Inhaltsverzeichnis 6
Vorwort 14
Teil I: Einleitung 16
1 Was sind eigentlich Datenbanken? 18
1.1 Konsistenz ist Grundvoraussetzung 18
1.2 Keine Datenbank ohne Datenbankmanagementsystem 19
1.3 Dauerhafte Speicherung 20
1.4 Alle auf einen 21
1.5 Auf Nummer sicher 22
1.6 Damit alles stimmt 22
1.7 Tornadosicher 24
1.8 Der Mensch 24
1.9 Warum nicht selber machen? 25
1.10 Das ANSI SPARC-Modell als Lösung 28
1.11 Wie alles anfing 31
1.12 Mit IMS zum Mond 32
1.13 Und heute? 33
1.14 Wie geht es weiter? 34
2 Relationale Datenbanken – eine kurze Übersicht 36
2.1 Relationen gibt es schon lange 36
2.2 Die zwölf Gebote 37
2.3 Funktioniert das überhaupt? 38
2.4 Wo bekommt man ein RDBMS? 39
2.5 Ein RDBMS zum Anfassen 39
2.6 Erste Schritte mit SQL 41
2.7 Der Systemkatalog 43
2.8 Was kann SQL? 45
3 Das relationale Modell 48
3.1 Mengen 48
3.2 Das kartesische Produkt 49
3.3 Relationen 51
3.4 Die Projektion 53
3.5 Superschlüssel 54
3.6 Schlüsselkandidaten 56
3.7 Relationentyp 59
3.8 Fremdschlüssel 60
3.9 Alles nur graue Theorie? 63
4 Die Relationenalgebra 66
4.1 Die Projektion 67
4.2 Abgeschlossenheit 69
4.3 Produkt, Vereinigung und Differenz 70
4.4 Prädikate 73
4.5 Die einfache Selektion 76
4.6 Der Durchschnitt 77
4.7 Die allgemeine Selektion 77
4.8 Der Join 79
4.9 Wo sind die Grenzen? 81
4.10 Was soll das? 82
4.11 Atomare Werte 83
4.12 Wiederholungsgruppen 84
Teil II: Die Datenbank wird erschaffen 86
5 Tabellen und Constraints 88
5.1 Die Wirklichkeit ist nicht vollkommen 88
5.2 Keine Relationentypen in SQL 89
5.3 Domänen – ein selten besuchtes Gebiet 90
5.4 Der Typ ist wichtig 90
5.5 Die reine Lehre 91
5.6 Dubletten verhindern 92
5.7 Primärschlüssel 96
5.8 Fremdschlüssel 96
5.9 Natürliche Schlüssel 99
5.10 Künstliche Schlüssel leicht gemacht 102
5.11 Statische Regeln 103
5.12 Es muss nicht immer statisch sein 105
5.13 Tabellen mit gleichen Namen 106
5.14 null – die unbekannte Dimension 108
5.15 Änderungen von referenzierten Daten 115
5.16 Datentypen 117
6 Von der Idee zum Konzept 124
6.1 Entitäten und ihre Attribute 125
6.2 Entitätstypen 128
6.3 Beziehungen 131
6.4 Wie viel Entität darf's denn sein? 133
6.5 Rekursive Beziehungen 136
6.6 Hält doppelt gemoppelt besser? 138
6.7 Ist doch ganz einfach? 140
7 Von einem Modell zum nächsten 142
7.1 Mehrwertige Datentypen 143
7.2 Zusammengesetzte Attribute 144
7.3 Aus Entitätstypen werden Tabellen 144
7.4 Beziehungen mit mehr als zwei Teilnehmern 145
7.5 Binäre Beziehungen 147
7.5.1 C-CM-Beziehungen 148
7.5.2 1-CM-Beziehungen 148
7.5.3 1-C-Beziehungen 149
7.5.4 C-C-Beziehungen 149
7.5.5 CM-CM-Beziehungen 151
7.5.6 1-1-Beziehungen 152
7.5.7 Weitere Beziehungstypen 154
7.5.8 Beziehungen mit Attributen 154
8 Normalisierung 158
8.1 Anomalien 158
8.2 Die 1. Normalform 162
8.3 Funktionale Abhängigkeiten 163
8.4 Neuer Wein in alten Schläuchen 167
8.5 Die 2. Normalform 168
8.6 Der Weg in die Normalität 170
8.7 Die 3. Normalform 174
Teil III: Ran an die Daten 178
9 Grundlagen von SQL 180
9.1 Merkmale von SQL 180
9.2 Die Bestandteile von SQL 182
9.3 Der Standard 184
10 Einfache select-Anweisungen 186
10.1 Viele Möglichkeiten, um Spalten zu beschreiben 187
10.2 Datensätze mit where auswählen 191
10.3 Einige nützliche Operatoren 193
10.4 Sortieren 196
10.5 Alles in einen Topf 197
11 Funktionen in SQL-Anweisungen 202
11.1 Funktionen zur Textverarbeitung 204
11.2 Funktionen für Zahlen 206
11.3 Funktionen für Datumsangaben 208
11.4 Aggregatfunktionen 209
12 Daten zusammenfassen 214
12.1 Die group by-Komponente 214
12.2 Die having-Komponente 217
13 Datensätze verbinden 222
13.1 Joins mit SQL 224
13.2 Eine andere Syntax 227
13.3 Outer Joins 228
13.4 Muss es immer natürlich sein? 229
13.5 Joins mit mehr als zwei Tabellen 230
14 Geschachtelte Abfragen 234
14.1 Tabellen ohne Join verbinden 234
14.2 Vorsicht bei Mengen 236
14.3 Weitere Operatoren für Mengen 237
14.3.1 all 238
14.3.2 any 240
14.3.3 exists 241
14.4 Geschachtelte Abfragen oder Joins? 241
14.5 Korrelierte geschachtelte Abfragen 243
15 Views – sehen Sie Ihre Daten mal anders 246
15.1 Was sind Views? 248
15.2 Wozu Views? 249
15.3 Änderungen in Views 251
15.4 Codds 6. Regel 253
16 Machen Sie Ihre Datenbanken sicher! 256
16.1 Benutzerverwaltung 257
16.2 Welche Rechte gibt es? 259
16.3 Rechte auf Views 260
16.4 Weitergabe von Rechten 261
16.5 Verkettungen von Rechten 262
Teil IV: Anwendungsentwicklung 264
17 Transaktionen 266
17.1 Was schiefgehen kann, geht schief 266
17.2 Ein Experiment 268
17.3 Anweisungen gruppieren 269
17.4 Das Transaktionsprotokoll 271
17.5 Auch nach außen eine Einheit 272
17.6 ACID – Transaktionen kurz und bündig 274
18 JDBC 276
18.1 Der Cursor – die Verbindung zweier Welten 276
18.2 Wie bringe ich meiner Programmiersprache SQL bei? 279
18.3 Einige Vorarbeiten 280
18.4 Gute Verbindungen sind alles 281
18.5 Aus der Datenbank in das Programm 283
18.6 Ohne Transaktionen würde etwas fehlen 286
18.7 Flottes SQL dank guter Vorbereitung 287
18.8 Kurz vor Schluss 290
19 Hibernate 294
19.1 Was ist O/R-Mapping? 294
19.2 Aufbau einer Entwicklungsumgebung 296
19.3 Die Konfiguration 298
19.4 Ein einfaches Mapping 300
19.5 Daten einfügen und ändern 304
19.6 Daten lesen 306
19.7 Komplexe Attribute 307
19.8 Kein Allheilmittel 309
20 Unter der Haube 312
20.1 Alles kann so einfach sein 312
20.2 Die Festplatte 313
20.3 Caching 316
20.4 Wenn's mal kracht 317
20.5 Das Transaktionsprotokoll 319
20.6 Der Optimierer 321
20.7 Der Index 325
20.8 B+-Bäume 328
20.8.1 Idee 328
20.8.2 Beispiel 330
20.8.3 Regeln 330
20.8.4 Suchen 332
20.8.5 Einfügen 333
20.8.6 Löschen 334
20.8.7 Wie schnell ist das? 335
20.9 Indizierung mit SQL 336
Teil V: Es muss nicht immer relational sein 340
21 Objektdatenbanken 342
21.1 Das Manifest 342
21.2 db4o 344
21.2.1 db4o kann so einfach sein 345
21.2.2 Query By Example 346
21.2.3 Native Abfragen 348
21.3 Warum nicht gleich objektorientiert? 350
22 XML-Datenbanken 352
22.1 Eine ganz einfache Syntax 353
22.2 Selbstdefinierte Regeln 355
22.3 XML und relationale Datenbanken 358
22.3.1 Datenzentriertes XML 358
22.3.2 Dokumentenzentriertes XML 360
22.4 XPath – eine Abfragesprache für XML 362
22.5 XQuery – fast wie zu Hause 366
22.6 Der hybride Ansatz 370
23 NoSQL 374
23.1 Das Kreuz mit dem Schema 374
23.2 Gewaltige Datenmengen 375
23.3 Nicht immer das Gleiche 376
23.4 Schemafreie Datenbanken mit MongoDB 376
23.5 Gruppieren und Aggregieren mit MapReduce 379
23.6 Sharding mit MongoDB 380
23.7 Drum prüfe, wer sich bindet 384
Literaturverzeichnis 386
Stichwortverzeichnis 390
| Erscheint lt. Verlag | 6.10.2011 |
|---|---|
| Verlagsort | München |
| Sprache | deutsch |
| Themenwelt | Mathematik / Informatik ► Informatik ► Datenbanken |
| Schlagworte | Datenbankentwicklung • RDBMS • Relationale Datenbanken • Relationale Datenbanksysteme |
| ISBN-10 | 3-446-42875-5 / 3446428755 |
| ISBN-13 | 978-3-446-42875-1 / 9783446428751 |
| Informationen gemäß Produktsicherheitsverordnung (GPSR) | |
| Haben Sie eine Frage zum Produkt? |
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich