IS: Datenbanken, © Till Hänisch 2000 Einführung Worüber reden wir hier eigentlich ?

Slides:



Advertisements
Ähnliche Präsentationen
Einführung "Datenbanksysteme"
Advertisements

Object Relational Mapping
IT-Inventarverwaltung
Imperative Programmierung
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
MySQL.
der Universität Oldenburg
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Datenbanken I (0,*) Produkt 3 Karczewski Datenbanken I.
SendEplanung Datenbank
Datensicherheit in DBMS
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Access 2000 Datenbanken.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Transaktionen und Parallelverarbeitung Eigenschaften von Transaktionen Konsistenz Isolation.
Einführung Dateisystem <-> Datenbanksystem
Einführung in Visual C++
1 Kapitel 12: Transaktionsverwaltung. 2 Transaktion Bündelung mehrerer Datenbankoperationen Mehrbenutzersynchronisation Recovery.
15.1 Synchronisation nebenläufiger Prozesse
Erhard Künzel für Info 9. Klasse: Digitale Schule Bayern© Erhard Künzel.
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
Synchronisation paralleler Transaktionen AIFB SS Konzept der Transaktion 4.2 Konzept der Transaktion (1/4) Eine Transaktion ist ein in sich geschlossener,
Betriebliche Informationssysteme Prof. Dr. Michael Löwe
Einführung und Überblick
JDBC: JAVA Database Connectivity
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
... und alles was dazugehört
MYSQL Von Rahan Bölzer.
Datenbank.
Datenbanken Dantenbanksystem Data Base System Datenbasis (Daten)
Überblick über die Datenbankproblematik
WS 2012/13 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #11 Transaktionsverwaltung.
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #10 Transaktionsverwaltung.
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
Allgemeines zu Datenbanken
Vorlesung #10 Physische Datenorganisation
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
Datenbankanbindung mit
Structured Query Language
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
Transaktionsverwaltung
Einführung Dateisystem <-> Datenbanksystem
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
Vs Verteilte Transaktionen Situation:Fragmentierung: Ein Datenbestand ist über mehrere Stationen verteilt (z.B. verteilte Datenbank, verteiltes Dateisystem,...)
Datenbanken Einführung
Datenbanken erstellen mit PostgreSQL
Information Retrieval mit Oracle Text Erfahrungsbericht.
SQL Basics Schulung –
6.3 Verteilte Transaktionen
Vorlesung #7 Fehlerbehandlung
Transaktionsabbruch, System Crash, Media Failure
Vorlesung #7 Fehlerbehandlung
Vorlesung #7 Fehlerbehandlung
Installation und Beispiele
Vorlesung #10 Fehlerbehandlung
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Einführung "Datenbanksysteme"
Kapitel 6: Datenbanksysteme
Datenbanken Eine Einführung Kerstin Fröhlig, HHBK.
Die erste Form der INSERT-Anweisung dient der Neueingabe von Daten:
Von Wietlisbach, Lenzin und Winter
Datenbanksystem Von Anna und Robin.
Datenbanken Von Zoe und Carem.
Präsentation von Darleen und Michèle
Datenbanken Von Jan und Cedric.
Von Diana Braun und Daria Bures
Datenbanken Von Amed und Alicia.
Von Wietlisbach, Lenzin und Winter
(Structured Query Language)
 Präsentation transkript:

IS: Datenbanken, © Till Hänisch 2000 Einführung Worüber reden wir hier eigentlich ?

IS: Datenbanken, © Till Hänisch 2000 Anwendungen Geldautomat Flugreservierung Bibliothekskatalog Supermarktkasse News-Ticker Web-Suchmaschine...

IS: Datenbanken, © Till Hänisch 2000 Historie Ca. 1890Lochkarten (batch) Ca. 1950Computer (batch) Ca. 1970Transaktionssysteme Ca. 1975erste RDBMS Ca. 1985erste OODBMS HeuteORDBMS

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)

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

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; }

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; }

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; }

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; }

IS: Datenbanken, © Till Hänisch 2000 Konsistenz Was passiert, wenn Anwendung abstürzt ? Bei Programmierfehlern ? Log Änderungen werden protokolliert Wiederherstellung möglich

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

IS: Datenbanken, © Till Hänisch 2000 Datenbanksystem Daten Hardware Software DBMS Benutzer Applikationsentwickler Endanwender DBA

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

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

IS: Datenbanken, © Till Hänisch 2000 Eigenschaften von DBMS Persistent Datenunabhängigkeit unterschiedliche Sichten Transaktionen (ACID) schnell

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)

IS: Datenbanken, © Till Hänisch 2000 Datenintegration

IS: Datenbanken, © Till Hänisch 2000 Sichten

IS: Datenbanken, © Till Hänisch Schichten-Architektur external level (user) conceptual level (community) internal level (storage)

IS: Datenbanken, © Till Hänisch 2000 ANSI/SPARC Architektur

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

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

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

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

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

IS: Datenbanken, © Till Hänisch 2000 Relationale Datenbanken ORACLE DB/2 Sybase ASE Microsoft SQL-Server Informix Microsoft ACCESS mySQL

IS: Datenbanken, © Till Hänisch 2000 Nachteile Teuer Resourcen Hardware, Software, Personal Overhead Transaktionen, Abstraktion Tabellen, nicht Objekte Texte, Bilder, Videos,...

IS: Datenbanken, © Till Hänisch 2000 Alternativen "Alte" Technologien Dateien, Hierarchische DB OODBMS spezielle Systeme z.B. Multimedia DBS XML

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)