Ausblick: Datenbanksysteme • • • • Motivation Begriffe Entwurf, Implementierung, Nutzung, Administration Architektur von DBS Datenorganisation 2006 Datenbanksysteme Seite 1 Klöditz Hochschule Anhalt (FH) Motivation • Dateistruktur: – durch den Entwickler definiert – Zugriffs- und Verarbeitungsoperationen individuell zu programmieren • Zugriff auf Dateien – Kenntnis von Dateinamen und –struktur notwendig – auf einen Nutzer beschränkt • Bedarf: – Dialog-Betrieb mit Zugriff mehrerer Nutzer quasi gleichzeitig – Zugriff ohne Kenntnis von Dateinamen und -struktur – flexible Dateistruktur, während der Nutzung veränderbar Klöditz Hochschule Anhalt (FH) Datenorganisation 2006 Datenbanksysteme Seite 2 Traditionelle Datenverarbeitung Änderungen alte Personal-Stammdaten Änderungsprogramme Korrekturen neue Personal-Stammdaten Fehlerliste Lohnrechnungsprogramm Lohnauswertungen Lohnliste Lohnstatistik Datenorganisation 2006 Datenbanksysteme Seite 3 Klöditz Hochschule Anhalt (FH) Datenbankarbeit Personal-Stammdaten Datenbank Datenbanksystem Datenbankverwaltungssystem Änderungsprogramme Klöditz Hochschule Anhalt (FH) Lohnrechnungsprogramm Lohnauswertungen Datenorganisation 2006 Datenbanksysteme Seite 4 Datenbanksystem Begriffe • Ein Datenbanksystem (DBS) ist eine Menge von – großen, – integrierten und – mehrfach und unterschiedlich nutzbaren Datenbanken (DB) samt Software (+ evtl. Hardware) für ihre – dauerhafte ("persistente"), – zuverlässige und – programmunabhängige Verwaltung – DB-Managementsystem (DBMS) / DB-Betriebssystem (DBBS) also: DBS = DB + DBMS Datenorganisation 2006 Datenbanksysteme Seite 5 Klöditz Hochschule Anhalt (FH) Datenbanksystem Begriffe Nutzer 1 Datenbank (DB) Nutzer 2 Nutzer 3 Datenbankbetriebssystem (DBBS) Nutzer n Klöditz Hochschule Anhalt (FH) Datenorganisation 2006 Datenbanksysteme Seite 6 Datenbanksystem Anforderungen • • • • • • • • • Trennung der Daten von den Anwendungen Strukturierung der Daten Permanente ("persistente") Speicherung der Daten Integration von Datenbeständen Datenunabhängigkeit Spezifische, anwendungsgerechte Datensicht Verfügbarkeit „rund um die Uhr“ Effizienz Integritätssicherung – referentielle Integrität – bei konkurrierendem Zugriff Datenorganisation 2006 Datenbanksysteme Seite 7 Klöditz Hochschule Anhalt (FH) Betrieb von Datenbanksystemen Bearbeitung von Datenbeständen • Anfrage (query / select): – Abgrenzen eines Datenbank-Ausschnitts und Herauslesen des Inhalts (ohne Änderung) • Änderung (insert / update / delete): – (teilweise oder vollständige) Veränderung eines abgegrenzten Datenbank-Ausschnitts • Transaktion: – aus Anwendersicht abgeschlossene, konsistenzerhaltende Folge von elementaren Operationen auf einer Datenbank Klöditz Hochschule Anhalt (FH) Datenorganisation 2006 Datenbanksysteme Seite 8 Relationales Datenmodell Person = r(Person) = Name GebDat ... Gehalt Müller 03.03.45 ... 1350 Nowak 01.02.63 ... 2200 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Datenorganisation 2006 Datenbanksysteme Seite 9 Klöditz Hochschule Anhalt (FH) Datenbank-Entwurf • Definition von Objekt-Klassen mit – Identifikator (Primärschlüssel) – Objekteigenschaften • Definition von Beziehungen zwischen den Einzel-Objekten mit – Kardinalität der Beziehungen – Beziehungseigenschaften • Abbildung im Entity-Relationship-Diagramm Klöditz Hochschule Anhalt (FH) Datenorganisation 2006 Datenbanksysteme Seite 10 Entity-Relationship-Diagramm Buch # ISBN * Autor * Titel ° Preis Buch ist im Katalog Katalogeintrag ist Buch Katalog # BuchNr # ExemplarNr Katalog-Buch wird von Leser ausgeliehen Rückg.Datum (RDatum) Leser leiht Katalog-Buch aus Einfache Verwaltung einer Bibliothek • Bibliotheksbestand steht im Katalog • Buchdaten stehen im Buch • Leserdaten in Leser Leser # LeserNr * Name * Vorname ° Straße ° PLZ ° Ort Datenorganisation 2006 Datenbanksysteme Seite 11 Klöditz Hochschule Anhalt (FH) Datenbank-Implementierung • Definition der Tabellen • Festlegung von Primärschlüsseln • Abbildung der Beziehungen zwischen Tabellen durch Fremdschlüssel • Beschreibung in einer Datendefinitionssprache (DDL) • Füllen der Datenbank mit Daten Klöditz Hochschule Anhalt (FH) Datenorganisation 2006 Datenbanksysteme Seite 12 Implementierung von Tabellen CREATE TABLE Leser ( LNr CHAR(8) NOT NULL, Name VARCHAR2(30), Vorname VARCHAR2(30), Str VARCHAR2(30), PLZ VARCHAR2(10), Ort VARCHAR2(30), CONSTRAINT L_pk PRIMARY KEY (LNr) ); CREATE TABLE Buch ( ISBN CHAR(13) NOT NULL, Autor VARCHAR2(80), Titel VARCHAR2(180), Preis NUMBER(8,2), CONSTRAINT B_PK PRIMARY KEY (ISBN) ); CREATE TABLE Katalog ( BNr CHAR(6) NOT NULL, ExNr CHAR(2) NOT NULL, ISBN CHAR(13) NOT NULL, LNr CHAR(8), RDatum DATE, CONSTRAINT K_pk PRIMARY KEY (BNr, ExNr), CONSTRAINT K_fk1 FOREIGN KEY (ISBN) REFERENCES Buch, CONSTRAINT K_fk2 FOREIGN KEY (LNr) REFERENCES Leser ); Datenorganisation 2006 Datenbanksysteme Seite 13 Klöditz Hochschule Anhalt (FH) Datenbank-Nutzung • Abfragesprache (query language) select from where group by having order by spalte, ... tabelle, ... spalten-auswahlbedingung gruppierungsspalte, ... gruppen-auswahlbedingung spalte, ... ; • Beispiel: Ausgeliehene Bücher select from where and and order by Klöditz Hochschule Anhalt (FH) Leser.Name, Buch.Titel, Katalog.RDatum Leser, Buch, Katalog Leser.LNr = Katalog.LNr Buch.ISBN = Katalog.ISBN Katalog.LNr is not null RDatum ; Datenorganisation 2006 Datenbanksysteme Seite 14 Datenbank-Administration • • • • Starten und Stoppen der Datenbank Einrichten von Nutzern Vergabe und Entzug von Rechten DB-Monitoring, DB-Tuning Datenorganisation 2006 Datenbanksysteme Seite 15 Klöditz Hochschule Anhalt (FH) DB-Transaktionen • Transaktionen sind logisch zusammengehörige DB-Zugriffe, die von einem konsistenten Zustand der DB wieder zu einem konsistenten Zustand führen • werden vollständig oder gar nicht ausgeführt • Überwachung – konkurrierender Zugriffe – gesetzter Sperren Klöditz Hochschule Anhalt (FH) Datenorganisation 2006 Datenbanksysteme Seite 16 Physische DB-Struktur Beispiel: Oracle F6 F1 F2 F4 F3 F5 Datenbank-Files Online-REDO-Log-Files Control-Files Fn – DB-Tablespaces Datenorganisation 2006 Datenbanksysteme Seite 17 Klöditz Hochschule Anhalt (FH) Datenbank-Software-Architektur Beispiel: Oracle Anwendungsprozesse ORACLE-Datenbankbetriebssystem ORACLE-Datenbank DBWR DBC LGWR A C H E ARCH SMON PMON CHKP Shared und Dedicated ORACLE-Server-Prozesse Klöditz Hochschule Anhalt (FH) ORACLE-Instanz mit DB-Cache (SGA) und Hintergrundprozessen Datenorganisation 2006 Datenbanksysteme Seite 18 Datenbank-Prozess-Struktur Beispiel: Oracle ORACLE-Datenbank-Server DB-Cache R E D O DB-BlockPuffer 1 4 DBWR 1 2 3 LGWR 4 PMON Shared SQL-Pool 3 4 SMON 2 ARCH 4 5 5 4' Datenbank-Files Redo-Log-Files archivierte Redo-Log-Files Datenorganisation 2006 Datenbanksysteme Seite 19 Klöditz Hochschule Anhalt (FH) Transaktionsablauf Beispiel: Oracle Prozess insert into <tabelle> update <tabelle> delete from <tabelle> commit DB-Cache LGWR DBB L O C K P U F F E R R E D O DBWR schreibt asynchron modifizierte DB-Blöcke vorausgegangener und eventuell aktueller Transaktionen zurück auf die DB-Files Nach dem commit wird der Redo-Log-Puffer auf das Redo-Log-File geschrieben if ok then weiter Redo-Log-Files DB-Files Zeit Klöditz Hochschule Anhalt (FH) Datenorganisation 2006 Datenbanksysteme Seite 20