Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Wilhelmine Thomas Geändert vor über 7 Jahren
1
IS: Datenbanken, © Till Hänisch 2000 Einführung Worüber reden wir hier eigentlich ?
2
IS: Datenbanken, © Till Hänisch 2000 Anwendungen Geldautomat Flugreservierung Bibliothekskatalog Supermarktkasse News-Ticker Web-Suchmaschine...
3
IS: Datenbanken, © Till Hänisch 2000 Historie Ca. 1890Lochkarten (batch) Ca. 1950Computer (batch) Ca. 1970Transaktionssysteme Ca. 1975erste RDBMS Ca. 1985erste OODBMS HeuteORDBMS
4
IS: Datenbanken, © Till Hänisch 2000 Ursprung Notwendigkeit zur effizienten Verarbeitung von Massendaten Kommunikation (Telefonrechnungen) Banken (Konten, Börsen) Reise (Fluglinien, Hotelketten) Produktion (Aufträge, Lagerhaltung) Verwaltung (Personal, Steuer)
5
IS: Datenbanken, © Till Hänisch 2000 Motivation Schneller Viele Datensätze verläßlicher Wichtige Daten (Finanzen,...) Zugriff auf Informationen Komlexe Strukturen durch viele Anwender Wenige bis zu vielen tausend
6
IS: Datenbanken, © Till Hänisch 2000 Die Anfänge typedef struct _Person { char *Name; char *Vorname; } PersonT; PersonT *get(char *aName, FILE *PersonFile) { PersonT *Person = (PersonT *) malloc(sizeof(PersonT)); int iPos = find(PersonFile,aName); fseek(PersonFile,iPos*sizeof(PersonT),SEEK_SET); fread(PersonFile,(void *) Person, sizeof(PersonT),1); return Person; }
7
IS: Datenbanken, © Till Hänisch 2000 Änderung der Datenstruktur typedef struct _Person { char *Name; char *Vorname; float Gehalt; } PersonT; PersonT *get(char *aName, FILE *PersonFile) { PersonT *Person = (PersonT *) malloc(sizeof(PersonT)); int iPos = find(PersonFile,aName); fseek(PersonFile,iPos*sizeof(PersonT),SEEK_SET); fread(PersonFile,(void *) Person, sizeof(PersonT),1); return Person; }
8
IS: Datenbanken, © Till Hänisch 2000 Performance typedef struct _Person { char *Name; char *Vorname; float Gehalt; } PersonT; PersonT *get(char *aName, FILE *PersonFile) { PersonT *Person = (PersonT *) malloc(sizeof(PersonT)); IdxT * Idx = OpenIndex("Person.idx"); int iPos = IndexSearch(Idx, aName); fseek(PersonFile,iPos*sizeof(PersonT),SEEK_SET); fread(PersonFile,(void *) Person, sizeof(PersonT),1); return Person; }
9
IS: Datenbanken, © Till Hänisch 2000 Multiuser typedef struct _Person { char *Name; char *Vorname; float Gehalt; } PersonT; PersonT *get(char *aName, FILE *PersonFile) { PersonT *Person = (PersonT *) malloc(sizeof(PersonT)); LockT Lock = CreateLock("Person"); while (!GetLock(Lock,"READ") NULL; IdxT * Idx = OpenIndex("Person.idx"); int iPos = IndexSearch(Idx, aName); fseek(PersonFile,iPos*sizeof(PersonT),SEEK_SET); fread(PersonFile,(void *) Person, sizeof(PersonT),1); ReleaseLock(Lock); return Person; }
10
IS: Datenbanken, © Till Hänisch 2000 Konsistenz Was passiert, wenn Anwendung abstürzt ? Bei Programmierfehlern ? Log Änderungen werden protokolliert Wiederherstellung möglich
11
IS: Datenbanken, © Till Hänisch 2000 Datenbank zusammenhängende Datensätze, die eine bestimmte Bedeutung haben Repräsentiert einen bestimmten Aspekt der realen Welt ("miniworld") enthält Daten für einen bestimmten Zweck für bestimmte Anwender und Applikationen
12
IS: Datenbanken, © Till Hänisch 2000 Datenbanksystem Daten Hardware Software DBMS Benutzer Applikationsentwickler Endanwender DBA
13
IS: Datenbanken, © Till Hänisch 2000 Relationale Datenbank Für den Anwender stellen sich die Daten in Form von Tabellen dar Die möglichen Operationen erzeugen neue Tabellen aus bestehenden, z.B. Untermenge der Zeilen einer Tabelle Untermenge der Spalten einer Tabelle
14
IS: Datenbanken, © Till Hänisch 2000 Operationen Tabellen hinzufügen Datensätze hinzufügen (insert) Datensätze holen (select) Datensätze ändern (update) Datensätze löschen (delete) Tabellen löschen
15
IS: Datenbanken, © Till Hänisch 2000 Eigenschaften von DBMS Persistent Datenunabhängigkeit unterschiedliche Sichten Transaktionen (ACID) schnell
16
IS: Datenbanken, © Till Hänisch 2000 Datenunabhängigkeit Applikationen müssen nicht geändert werden, wenn Datenstrukturen geändert werden (z.B. Feld zu Tabelle dazukommt) Speicherstrukturen geändert werden (z.B. Daten auf mehrere Platten verteilt werden) Zugriffspfade geändert werden (z.B. Index erzeugt oder gelöscht wird)
17
IS: Datenbanken, © Till Hänisch 2000 Datenintegration
18
IS: Datenbanken, © Till Hänisch 2000 Sichten
19
IS: Datenbanken, © Till Hänisch 2000 3-Schichten-Architektur external level (user) conceptual level (community) internal level (storage)
20
IS: Datenbanken, © Till Hänisch 2000 ANSI/SPARC Architektur
21
IS: Datenbanken, © Till Hänisch 2000 Atomicity Die Änderungen an den Daten durch eine Transaktion finden entweder vollständig oder gar nicht statt Beispiel: Geld wird von Konto 1 abgehoben und Konto 2 gutgeschrieben
22
IS: Datenbanken, © Till Hänisch 2000 Consistency Änderungen finden so statt, daß das System konsistent bleibt Beispiel: Der von Konto 1 angehobene Betrag ist der gleiche wie der Konto 2 gutgeschriebene
23
IS: Datenbanken, © Till Hänisch 2000 Isolation Für jede Transaktion T i sieht das System so aus, als ob alle T j mit i<>j entweder vor oder nach T i ablaufen Beispiel: Wenn jemand anderes gleichzeitig eine Buchung auf Konto1 oder Konto 2 macht, wird die Überweisung trotzdem korrekt ausgeführt
24
IS: Datenbanken, © Till Hänisch 2000 Durability Wenn eine Transaktion abgeschlossen ist, bleiben die Daten auch bei Abstürzen,... erhalten Beispiel Auch wenn der Geldautomat nach der Auszahlung abstürzt, taucht die Auszahlung im Konto (Auszug) auf
25
IS: Datenbanken, © Till Hänisch 2000 Performance Forschungsgegenstand seit mehr als 20 Jahren --> schnell typ. Zugriff auf einzelne Datensätze m< 100 ms unabhängig von Anzahl typ. mehrere Tabellen,... langsam aber: Overhead durch Transaktionen www.tpc.org
26
IS: Datenbanken, © Till Hänisch 2000 Relationale Datenbanken ORACLE DB/2 Sybase ASE Microsoft SQL-Server Informix Microsoft ACCESS mySQL
27
IS: Datenbanken, © Till Hänisch 2000 Nachteile Teuer Resourcen Hardware, Software, Personal Overhead Transaktionen, Abstraktion Tabellen, nicht Objekte Texte, Bilder, Videos,...
28
IS: Datenbanken, © Till Hänisch 2000 Alternativen "Alte" Technologien Dateien, Hierarchische DB OODBMS spezielle Systeme z.B. Multimedia DBS XML
29
IS: Datenbanken, © Till Hänisch 2000 Aufbau der Vorlesung SQL in 21 Minuten konzeptionelle Datenmodellierung Relationenalgebra, Entwurfstheorie logische Datenmodellierung SQL (Basics, Advanced) physikalischen Datenmodellierung Projekt (Modellierung, Umsetzung)
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.