Datenbankeinführung - Beuth Hochschule für Technik Berlin

Werbung
Einführung in Datenbanksysteme
EINFÜHRUNG IN DATENBANKSYSTEME
F. Steyer
Einsatz, Nutzen von Datenbanksystemen
Entwicklung von Datenbanksystemen
Entwicklung von relationalen Datenbanksystemen
Architektur eines Datenbanksystems
Architektur eines Anwendungsystems
Architektur eines Datenbanksystems im Client/Server-Verbund
Architektur eines Anwendungsystems im Rechnernetz
Architektur eines Anwendungsystems lokal und im Internet
Bereiche
Benutzungsbereich
Operationsbereich
Datenbereich
Technikbereich
Sonstiges
Datenunabhängigkeit, Datenintegrität
Dateien
Datenbanklebenszyklus
Big Data
Daten in der Cloud
Datenbankliteratur
19.11.2015
Fehler und Wünsche bitte an den Autor.
BEUTH/Steyer
Einführung in Datenbanksysteme
Einsatz, Nutzen von Datenbanksystemen
Technische Argumente
-
Permanente Datenhaltung
-
Integrierte Datenhaltung
-
Standardisierung (Daten/Funktionen/Schnittstellen/Architektur)
-
Endbenutzerwerkzeuge und Anwendungsgeneratoren
-
Prototyping von Anwendungen
Betriebswirtschaftliche Argumente
-
Erhöhung der Produktivität in der Entwicklung von Anwendungssoftware
-
Verbesserung der Qualität der Anwendungssoftware
-
Effizientere und flexiblere Wartung der Anwendungssoftware
-
Datenaustausch
Einsatzgebiete von Anwendungen
-
Es gibt zwei Benutzungsarten von Datenbanksystemen
DB als genaues Abbild der Wirklichkeit (Modell, OLTP)
DB als Datenspeicher (Archiv, OLAP)
-
breites Spektrum kommerzieller Anwendungen
(Banken, Versicherungen, Kommunalverwaltungen)
-
zunehmende Akzeptanz in technischen Anwendungen
(Buchungssysteme, Leitsysteme, Lagerverwaltung, CIM, FM)
-
Zentrale Rolle bei der Bürointegration
(Text- und Dokumentenverwaltung, DTP)
-
Neue Einsatzgebiete bei Software Engineering
-
Künstliche Intelligenz und CAD
BEUTH/Steyer
Einführung in Datenbanksysteme
Entwicklung von Datenbanksystemen
JAHR
TECHNIK
EIGENSCHAFTEN
konventionelle
Dateiverarbeitung
starre Satzstruktur
pro Satz ein Schlüssel
Vorläufer
bis 1968
Vorläufer bei den Datenmodellen
1968-1975 erste DBS verschiedener Struktur:
(Bäume, Netze)
batchorientierte DBS
wenige Benutzerhilfen
nur für Grossrechner
Codasyl-Normung
1975-1980
verbesserte Netzwerkmodelle
erste relationale
Systeme
dialogorientierte DBS
Mehrbenutzerfähigkeit
DBS für Minis
ANSI/SPARC-Norm
Relationale Systeme
1980-1985
verbesserte relationale Systeme
Erweiterung der Toolumgebung von DBS
portable DBS
Data Dictionary Systeme
SQL-Normung
DBMS für Micros und PCs
Endbenutzerunterstützung
ausfallsichere DBVS
Datenbankmaschinen
Weiterentwicklungen
1985-heute verteilte DBS
objektorientierte DBS
Non-Standard-DBMS
1990-heute Datenbankmaschinen
getrennt von den
Datenbankoberflächen
Datenbank im Internet
BEUTH/Steyer
neue Anwendungsgebiete,
z.B. SW-Entwicklung,
Büroautomation,CAD/CAM/CIM
Kombinierbarkeit von
Datenbankmaschinen und
-oberflächen verschiedener
Hersteller über eine
Standardschnittstelle ODBC
Einführung in Datenbanksysteme
Entwicklung der relationalen Datenbanksysteme
Theorie/Forschung
1970
E.F. Codd bei IBM San Jose
'A Relational Model of Data for Large Shared Data Banks',
wird veröffentlicht (Comm. ACM, 13/6, June 1970)
1974
D.O. Chamberlin et al. bei IBM San Jose,
'Structured Query Language (SEQUEL)'
1977
Forschungssystem System R lauffähig
ORACLE von Relational Software Inc.
Erste Produkte
1981
SQL/DS und DB2 von IBM
1985
SQL-Schnittstelle für Ingres von Relational Technology Inc. und IDM von Britton Lee Inc.
1986
SYBASE von Sybase Inc.
Normierung
1986
American National Standards Institute (ANSI)
International Standards Organization (ISO) und Deutsche Industrie Norm (DIN) übernehmen SQL
Anwendungen
Vielzahl an DB-Softwareprodukten mit SQL-Schnittstelle, z.B. Oracle
Einschätzung
Internationale Standardisierungen durch ANSI, ISO, DIN, X/OPEN
Industriestandardisierung durch Software-Produkte wie DB2, Oracle, MS SQL Server
SQL als Datenbankstandard wird die nächsten Jahre dominieren, Nachfolgesysteme werden wenigstens
SQL beherrschen (Aufwärtskompatibilität).
Die Anwendungsprogrammierung wurde durch die ODBC-Normierung stark vereinfacht.
Anwender wollen ihre Investitionen schützen bzgl. Anwendungssoftware, Schulung und Personalmarkt.
SQL verschwindet aber zunehmend in der Tiefe der Systeme (im DB-Server, unter Window-Oberflächen),
hat sich aber als funktionaler DB-Standard für Programmierer und Toolentwickler etabliert.
BEUTH/Steyer
Einführung in Datenbanksysteme
Architektur eines Datenbanksystems
Dialog
Anwendungsprogramme
Dienstprogramme
XML
Netzserverfähigkeit
Mehrbenutzerfähigkeit
Zugriffsschutz
Transaktionsschutz
Leistung
Speicherfunktionen
Benutzerdaten
Data Dictionary
Logdaten
BEUTH/Steyer
ODBC
Internet
Einführung in Datenbanksysteme
Architektur eines Anwendungssystems
Oberfläche
Anwendungsprogramm
Datenverwaltung
BEUTH/Steyer
Einführung in Datenbanksysteme
Datenbanken im Client/Server-Verbund
mit Frontend- und Backend-Systemen
Backend-DBS: z.B. SQL Server Fertige Tools
(z.B. Enterprise Manager,
Query Analyser, bcp)
Programme (z.B. VB, Java)
Frontend-DBS
Access
Internet
BEUTH/Steyer
Einführung in Datenbanksysteme
Datenbanksysteme im Rechnernetz
am Anfang: monolithisches System
bald: Client-Server-System (n Clients, 1 Server)
heute : Service-orientierte Architektur (n Clients, m Servers)
BEUTH/Steyer
Einführung in Datenbanksysteme
SW-Architektur mit Datenbank lokal
Oberfläche
Programme
Datenbank
SW-Architektur mit Datenbank im Internet
Browser
BEUTH/Steyer
Server
Einführung in Datenbanksysteme
Benutzungsbereich: Benutzertypen
Ein Benutzer ist jeder, der etwas mit der Datenbank zu tun hat: Endbenutzer, Entwickler, Administrator
traditionell drei Gruppen:
Endbenutzer: gelegentlich, einfache Oberfläche, kleinere Aufgaben
Anwendungsentwickler: Entwicklung von Anwendngssystemen
Administratoren: systemnahe oder anwendungsnahe Verwalter, Operatoren
SQL-artig (Oracle)
- create user, change user, drop user
- grant { connect | resource | dba } to meier identified by z97d
- grant select on person to meier
Ablauf: - Superuser wird bei Installation festgelegt.
- Superuser legt Datenbankadministratoren an.
- Jeder Datenbankadministrator legt seine Mitarbeiter-User an (resource, connect).
(2) Windows like (Access) visuell mit Menü, Tabelle, Ankreuzen:
->Menü->Zugriffsrechte->neu: Name, Passwort, Gruppe
->Menü->Zugriffsrechte->Gruppe: neu
->Menü->Zugriffsrechte->Berechtigungen
Die Benutzer eines Datenbanksystems befinden sich in dem Bereich zwischen EDV-Abteilung und
Anwender-/Fachabteilung. Sie unterscheiden sich nach Breite und Tiefe.
EDV-Abteilung
Fachabteilung
Endbenutzer
(Betriebsphase)
Benutzerservice
(Betriebsphase)
Anwendungsprogrammierer
(Einführungsphase, Betriebsphase, Änderungsphase)
Systemanalytiker
(Planungsphase)
Datenbankadministrator
(Einführungsphase, Betriebsphase, Änderungsphase)
DB-Operating
(Betriebsphase)
BEUTH/Steyer
Einführung in Datenbanksysteme
Benutzungsbereich: Benutzersicht (VIEW)
Es soll jeder nur das sehen, was er braucht und darf.
Definition : benutzerdefiniertes Fenster, spaltenweise, zeilenweise, virtuell, joined
Zweck
: Datenschutz und Übersichtlichkeit
Realisierung: Speicherung der Definition, Und-Verknüpfung mit jedem Befehl, der den Benutzersichtnamen
verwendet
Probleme : kostet das System etwas Mehrarbeit, bringt manchmal kryptische Fehlermeldungen
Beispiel
fremdsprachige Benutzersicht
deutsche Basistabelle
Benutzungsbereich: Privilegien
Es darf nicht jeder alles überall sehen und tun.
Definition : permanente (längerdauernde) Zugriffskontrolle bzgl. - welche Aktion auf welchem Objekt wer
Zweck
: Zugriffsschutz, Datensicherheit
Realisierung
: Planung in der Zeit der Systemanalyse, Schulung
Privilegientabelle, die als Filter für jedes Kommando fungiert
Probleme : kleine Verzögerung immer
Die Oberflächen werden immer "höher", d.h. entfernen sich immer mehr vom DBMS. Die
Benutzer werden immer datenbankunausgebildeter. SQL verschwindet in den Tiefen der
Systeme, bleibt aber als funktionaler Standard erhalten.
meier
Tab1
form1
BEUTH/Steyer
Operationen (select, insert, update, delete, definieren, benutzen)
x
x
Einführung in Datenbanksysteme
Benutzungsbereich: Sperren
Es dürfen nicht alle alles gleichzeitig machen.
Es gibt zwei Arten: exclusive: verbietet anderen Lesen und Schreiben,
shared: erlaubt wenigstens paralleles Lesen
SQL-artig (Oracle, 1989) einzeln:
lock table person in share mode
lock row with pid = 4711 in person in exclusive mode
oder neuer (1992): isolation levels
0 read uncommitted (ungesperrt)
1 read committed (1 Zeile kurz gesperrt, Beispiel Umbuchung)
2 repeatable read (1 Zeile länger gesperrt, Beispiel Gehaltserhöhung)
3 cursor stability (Ergebnismenge gesperrt)
entscheidend sind also die Sperrbereiche und die Sperrdauer
Windows like (Access):
Beim Öffnen schon ist ankreuzbar: gemeinsam oder exklusiv. Sperrstrategie kann eingestellt werden:
Aber die Granularität ist grob.
Definition
Zweck
Realisierung
: temporäre (kürzerdauernde) Zugriffskontrolle
- "exclusive" verbietet anderen Lesen und Schreiben
- "shared" erlaubt wenigstens paralleles Lesen
: operationale Datensicherheit
: Sperrliste, die als Filter für jedes Kommando fungiert
Probleme
: langes Warten evtl. oder gar Deadlock
BEUTH/Steyer
Einführung in Datenbanksysteme
Operationsbereich: Zugriffssprache
SQL – Vorläufer
Dateien und Programme
Bäume
Graphen
schliesslich
Tabellen
SQL – Generationen
ANSI oder ISO SQL (1983-1986)
DDL (CREATE SCHEMA, CREATE TABLE, CREATE VIEW, GRANT)
DML (DECLARE CURSOR, OPEN, FETCH, CLOSE, DELETE, UPDATE,
SELECT, INSERT, UPDATE, DELETE, COMMIT, ROLLBACK)
DModL (MODULE, PROCEDURE)
Cobol, Fortran, Pascal, PL/1
SQL/89
Integritätserweiterungen (DEFAULT, UNIQUE, NOT NULL,
CHECK, PRIMARY KEYS, referential integrity:u.a.
Ada, C, embedded SQL
SQL/92
Standardkataloge, neue Datentypen, mehr Orthogonalität,
neue Join-Typen, Isolation levels, Cursor,
dynamisches SQL, SQLSTATE
(in kleinerem Umfang z.Zt. existierender Standard)
SQL/99
Triggers, Call level interface, Prozedursprache, loop, for,
ADTs mit Funktionen, Dot Notation, ADT-Privilegien,
Roles, Typensystem, Zeilentypen, Client-Module, Server-Module,
Ausnahmebehandlung (undo, redo, continue), Savepoints, Rekursion,
Cursor-Erweiterungen, referentielle Integrität
Ergebnis: Tabellensprache
SQL = DDL union DML union DCL union ProzL
DDL =
{create database, drop database,
create table, drop table,
create view, drop view,
create index, drop index}
DML =
{insert, update, delete, select}
DCL =
{create user, drop user, grant, revoke}
ProzL =
{create trigger, drop trigger, create procedure, drop procedure,
execute}
BEUTH/Steyer
Einführung in Datenbanksysteme
Operationsbereich: SQL und Dialekte
IBM SQL
Oracle - SQL
SQL Kern
MS - SQL
BEUTH/Steyer
Einführung in Datenbanksysteme
Datenbereich: TABELLE, VIEW und materialisierte VIEW
(„OLAP“: online analytic processing)
Tabelle: Daten und Definition sind gespeichert
View: nur Definition ist gespeichert, Daten werden jedesmal aus der Tabelle geholt oder abgeleitet
Materialisierte View: Daten sind doch (in die Nähe) gespeichert.
Zweck: schnellerer Aufbau
SQL: statt CREATE VIEW ... nun CREATE TABLE … und INSERT SELECT …
Notwendig ist ein periodischer Update.
Realisierung einer Tabelle oft mit dynamischen Baumstrukturen.
Beispiel für das Verhältnis Tabelle – Views:
- Tabelle mit Daten liegt in der Zentrale
- Views mit besonderen Darstellungen liegen in den Filialen (englisch, französisch)
Datenbereich: INDEX
Umorganisierte Hilfsdatei zu einer Tabelle beschleunigt das Lesen.
Tabelle
Indexdatei
einfach zu finden
x
y
y
x
aufwendig zu finden
lesefreundlich, änderungsunfreundlich
SQL: CREATE INDEX <indexname> ON <tabellenname>(<tabellenspalte>)
Indexe über mehrere Tabellenspalten sind möglich.
BEUTH/Steyer
Einführung in Datenbanksysteme
Technikbereich: Transaktion
benutzerdefinierte Befehlsfolge, die ganz oder garnicht ausgeführt wird, auch wenns länger dauert
impliziter Beginn am Anfang der Sitzung
implizites Ende am Ende der Sitzung
dazwischen mit "commit" Ende und Anfang zugleich (früher mal begin transaction, end transaction)
Zweck
: Realisierungsgarantie auch längerer Abläufe
Realisierung: Im Log-Protokoll werden alle Datenänderungen (kein Lesen) schnell parallel notiert und bei
Bedarf nachgearbeitet oder rückgängig gemacht ("rollback, undo").
SQL
Probleme
: COMMIT, ROLLBACK
: Je weiter zurück die Dinge liegen, die man ungeschehen machen will, desto mehr Platz für das
Protokoll braucht man.
ACID-Eigenschaften:
A (atomicity):
C (consistency):
I (isolation):
D (durability):
Eine Transaktion ist unteilbar, wird also ganz oder gar nicht ausgeführt.
VOR und NACH der Transaktion ist der Datenbestand konsistent.
Die Einzelaktionen können ungestörte durchgeführt werden.
Die Ergebnisse werden dauerhaft/permanente gespeichert.
Beispiel: Eine Geldüberweisung ist eine Transaktion.
Sie besteht aus zwei Datenbankoperationen, der Operation auf einer Zeile (Reduzierung des
Kontostandes), der Operation auf der anderen Zeile (Erhöhung des Kontostandes). Beide Operationen
müssen gemeinsam oder gar nicht stattfinden.:
BEUTH/Steyer
Einführung in Datenbanksysteme
Technikbereich: Operationale Sicherheit
Bei gleichzeitiger Mehrfachbenutzung tritt evtl. lost update auf (Die spätere Änderung überschreibt die
frühere.) oder inconsistent analysis (Lesen und Ändern passieren gleichzeitig.) Abhilfe für beides ist sperren.
1. Problem: Lost update
in der Datenbank:
meier 500
user 1
user 2
meier +100
meier -100
Ablauf: - user1 holt den Satz mit 500
- user2 holt den Satz mit 500
- user1 addiert 100: 600
- user2 subtrahiert 100: 400
- user1 schreibt zurück: 600
- user2 schreibt zurück: 400
Ergebnis: Die Änderung des user1 (+100) geht verloren.
Abhilfe: user1 müsste den Satz während der ganzen Zeit sperren.
2. Problem: Inconsistent analysis
user1
user2:
adam
berta
cäsar
dora
emil
fritz
400
700
200
900
100
100
Addition von
oben nach unten
Änderungen von
unten nach oben
Ergebnis: Die Summanden haben verschiedene Änderungszustände.
Abhilfe: user1 müsste die Tabelle während der ganzen Zeit sperren.
BEUTH/Steyer
Einführung in Datenbanksysteme
Sonstiges: Datenunabhängigkeit
Zwischenschichten machen unabhängig.
Logische Datenunabhängigkeit: Benutzersichten sind invariant gegenüber Änderungen oder Ergänzungen
der Logik
Beispiel: zusätzlich Telefonnummer für Kunde (Auswirkungen auf existierende externe Schemata: keine)
Beispiel: Preis_einzel, Preis_doppel statt Preis (Auswirkung: Änderung nur der Anwendungen, die dieses
Datum verwenden)
Physische Datenunabhängigkeit: Invarianz aller Benutzersichten und Anwendungsprogramme
gegenüber der internen Speicherungstechnik
Beispiel: Entfernen eines Index (Auswirkung: Laufzeit von Anwendungen evtl. grösser, sonst keine)
Beispiel: Wechsel der Platten (Auswirkung: z.B. grössere Datenmengen speicherbar, sonst keine)
Sonstiges: Datenintegrität
Das System prüft gewisse Regeln bereits bei der Dateneingabe und bei Datenveränderungen
(einzelwertorientiert bei Aufzählungen, mengenorientiert bei Berücksichtigung aller Werte,
beziehungsorientiert bei Berücksichtigung anderer Tabellen:referentielle Integrität)
Unterstützung durch: Auswahlmenüs, Verbot des 35.Februar, einzige Werte sind männlich-weiblich,
eindeutiger Primärschlüssel für Zeilen, Datentypen
BEUTH/Steyer
Einführung in Datenbanksysteme
Sonstiges: Dateien
(vor den Datenbanksystemen)
Die Datenverarbeitung mit Dateien war und ist immer noch gekennzeichnet durch die Probleme Redundanz,
mögliche inkonsistente Daten, Abhängigkeit der Programme von der Datenorganisation, individuelle
Speziallösungen, Mehrfacharbeit.
Daten
Daten
Anwendung
Anwendung
Anwendung
Daten
Daten
Daten
Bei der Datenübernahme von Anwendung zu Anwendung muss meist explizit konvertiert werden.
Probleme:
-
Redundanz
Gleiche Daten werden z.B. aus Effizienzgründen mehrfach gespeichert
-
Mögliche Inkonsistenzen
Änderung eines redundanten Datums, Transfer Utilities
-
Abhängigkeit der Programme von der Datenorganisation
Jedes Programm enthält die Beschreibung der benutzten Daten
-
individuelle Speziallösungen
Selbstverständliche Datenbankfunktionalitäten (z.B. Schutz, Sicherheit, Schnelligkeit auch bei
grösseren Datenmengen, generelle Benutzbarkeit) fehlen oft oder müssen von Hand
nachgestrickt werden.
-
Mehrfacharbeit
Die Entwickler wissen oft nicht voneinander und erfinden das Rad doppelt.
BEUTH/Steyer
Einführung in Datenbanksysteme
Sonstiges: Datenbanklebenszyklus (Kreis, eigentlich Spirale)
Änderung und
Anpassung
Datenbankentwurf
Betrieb und
Überwachung
Installation
Anwendungsprogramme
Daten
definieren
und laden
DATENBANKENTWURF
Benutzeranforderungen
konzeptionelles Modell
logisches, externes, internes DB-Schema
INSTALLATION
Einlesen des Installationsbandes
Setzen der Umgebung, Initialisierung der Datenbereiche
Hochfahren des Datenbanksystems, Laden der Systemtabellen
Probebetrieb, Sicherung
DATEN DEFINIEREN UND LADEN
Laden des Datenbankschemas, Probebetrieb
Laden der Daten mit Sicherungen
ANWENDUNGSPROGRAMME
- Subsysteme, Pflichtenheft, Tools, Testfälle, Dokumentation
Aus Sicht der Datenbank achten auf Mehrbenutzerproblematik, Datenabsicherung, Datenintegrität, Laufzeit,
Blockaden, Sicherung
BETRIEB UND ÜBERWACHUNG
Sicherungskonzept, Wiederherstellverfahren
Tagesaktivitäten (interaktiver Betrieb), Nachtaktivitäten ( Stapelläufe, Druck, Sicherungen)
Bedienerausbildung
Monitoring für die Leistungsbewertung (für kritische Bereiche, Lastspitzen)
Notfallplanung (Bereitschaft, Notbetrieb)
ÄNDERUNG UND ANPASSUNG
Anpassung an neue Anforderungen (logische Änderungen)
Optimierung (physische Änderungen bei Hardware, Betriebssystem, Datenbank und Programmierung)
BEUTH/Steyer
Einführung in Datenbanksysteme
Sonstiges: Big Data
Volume
Velocity
Variety
Veracity
Tabellengrösse berechnen, Datenmassen werden heute überall produziert
durch Parallelverarbeitung, Hauptspeicherresidenz, werteorentierte Speicherung (~Index)
sehr heterogen
verschiedene und unbekannte Vertrauenswürdigkeiten
Übung: Tabellengrösse berechnen:
create table - Befehlnn
Speichergrösse jedes Datentyps
Grösse einer Zeile
Multiplikation mit Anzahl der Zeilen
Systeminformation einer Tabellendefinition dazuzählen
evl. Inizes berücksichtigen
Verifikation durch unload-table in BS, dort Grösse ablesen
Die Datenmassen werden heutzutage von Messgeräten produziert (things).
Schnelligkeit kann erreicht werden durch Parallelverarbeitung in arithm. Ausdrücken (AND, OR im select).
Schnelligkeit kann erreicht werden durch Hauptsichergrössen.
Schnelligkeit kann erreicht werden durch werteorientierte Speicherung (~Index).
Zahlendefinitionen von 'Big Data':
Byte
Kilobyte
Megabyte
Gigabyte
Terabyte
Petabyte
Exabyte
Zetabyte
Yotabyte
=
=
=
=
210 B
220 B
230 B
240 B
=
=
=
=
1 024 B
1 048 576 B
1 073 741 824 B
1 080 184 287 776 B
Anwendungsprinzip:
Aus Vergangenheitsdaten auf die Zukunft schliessen.
Z.B. Unfallschwerpunkt → Tempo 30.
Datenbankbeispiele:
kleine Tabelle
grosse Tabelle
Bild in Tabelle
Übungsdatenbank
Datenbank einer kleinen Firma
Datenbank einer grossen Firma
BEUTH/Steyer
Einführung in Datenbanksysteme
Sonstiges: Daten in der Cloud
Verschiedene Architekturen von Datenbanksystemen:
Datei-DBS
lokal, im Betriebsystem, nur ein Benutzer, nicht parallel benutzbar
Client/Server-DBS
ohne Betriebsystem, mehrere Benutzer möglich, parallel benutzbar
Netz-DBS
Speicherort ist ein Knoten im Rechnernetz
Cloud-DBS
ungeschützt, nicht lokalisierbar
Datei-DBS
Client/Server-DBS
Netz-DBS
für die Cloud:
- Datenverschlüsselung ist nötig
- Provider ist nötig.
- Nur Cloud-Befehle sind nötig (write-to-cloud, read-from-cloud)
- Eigener Speicherplatz ist nicht nötig.
Überlegungen, welches System man wählen soll:
- Grösse
- Parallelbenutzung
- Kosten
- Sicherheit
BEUTH/Steyer
Cloud-DBS
Einführung in Datenbanksysteme
Sonstiges: Datenbank-Literatur
Grundlagen:
Saake/Sattler: Algorithmen und Datenstrukturen, dpunkt verlag 2006
Sortieren, Suchen, Eigenschaften, Datentypen, Bäume, Graphen
Architektur:
Härder, Rahm: Datenbanksysteme, Springer 1999
Die untersten Datenbanksystemschichten (Speicherung, Transaktionen, Schnelligkeit) mit
Konzepten, ca. 40 €
Konzepte:
Heuer/Saake: Datenbanken, International Thomson Publishing 1997
Modelle, Entwurf, SQL, Anwendungsprogrammierung, weitere Konzepte (Sichten, Schutz,
Trigger), ca. 30 €
Kemper/Eickler: Datenbanksysteme, Oldenbourg 2001
Modelle, Entwurf, SQL, weitere Konzepte (Integrität, Schutz, Transaktionen, Mehrbenutzer)
objektorientierte, objektrelationale, Internetdatenbanken
Riccardi: Datenbanksysteme, Addison Wesley 2001
Modelle, Entwurf, SQL, weitere Konzepte (Speicherverwaltung, Schutz, Transaktionen,
Mehrbenutzer), objektrelationale Datenbanken, Anwendungen mit Java, ca. 60 €
Stonebraker/Moore: Objektrelationale Datenbanken, Hanser 1999
Die nächste grosse Welle
Vossen: Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme, Oldenbourg 2008
Fast alles: Geschichte, Datenbankentwurf, Theorie, SQL, Objekte, XML, Konzepte
ca. 50 €
Programmieren:
Saake/Sattler: Datenbankenn & Java, dpunkt.verlag 2000
JDBC, SQLJ und ODMG, ca. 40 €
Dehnhardt: Anwendungsprogrammierung mit JDBC, Hanser 1999
Datenbanken – Java – Client/Server, ca. 25 €
Sonderthemen:
Bauer/Günzel: Data Warehouse Systeme, dpunkt verlag 2004
Architektur, Entwicklung, Anwendung
BEUTH/Steyer
Herunterladen