Software-Engineering und Datenbanken Prof. Dr. Bernhard Schiefer bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Prof. Dr. Bernhard Schiefer 1-1
Wesentliche Inhalte Begriff DBS Datenbankmodelle (relationaler) Datenbankentwurf Datendefinitionssprache SQL Architektur und Implementierung von (DB-)Anwendungen Prof. Dr. Bernhard Schiefer 1-2
Was wird nicht behandelt? Realisierung von DBS Architekturmodelle Anfrageverarbeitung Datenverwaltung RZ-Organisation rechtliche Aspekte Prof. Dr. Bernhard Schiefer 1-3
Literatur T. Kudraß (Hrsg.): Taschenbuch Datenbanken, Hanser, 2007 A. Heuer, G. Saake: Datenbanken: Konzepte und Sprachen, 2000 R. Elmasri, S.B. Navathe: Grundlagen von Datenbanksystemen, 2005 Prof. Dr. Bernhard Schiefer 1-4
Beispiel: Internet Shop zu verwalten sind: Artikel Kunden Bestellungen, Rechnungen Zahlungen... Aufgaben: Suche nach Artikeln Durchführen von Bestellungen Stornierung von Bestellungen Abgleich von Zahlungen mit Rechnungen Prof. Dr. Bernhard Schiefer 1-5
Beispiel: Internet Shop - Anforderungen komplexe Abfragen: Wann ist der Artikel 4711 wieder lieferbar? Welche Artikel hat Herr Meier gekauft und noch nicht bezahlt? Welche Kunden habe schon lange nichts mehr gekauft?... viele gleichzeitige konkurrierende Zugriffe Kunde ändert Bestellung während diese bereits bearbeitet wird Viele Verkäufe finden gleichzeitig statt aber keine Artikel dürfen 2mal verkauft werden Prof. Dr. Bernhard Schiefer 1-6
Beispiel: Internet Shop Anforderungen II Es existieren unterschiedliche Benutzergruppen Für jede Gruppe sind andere Daten relevant oder müssen unterschiedlich aufbereitet werden. Beispiele: Kunden Vertrieb Einkauf / Disposition Controlling Buchhaltung Prof. Dr. Bernhard Schiefer 1-7
Beispiel: Internet Shop Anforderungen II Schutz der Daten vor Verlust Anwendungsfehler Betriebssystemfehler Stromausfall Plattencrash Schutz der Daten vor dem Zugriff Unberechtigter Kundendaten sind personenbezogene, sensible Daten (BDSG beachten!) Prof. Dr. Bernhard Schiefer 1-8
Möglichkeiten der Datenverwaltung Ohne EDV: Verwaltung der Daten auf Papier in Akten EDV-gestützt -- ohne spezielle Software Verwaltung in Dateien Mit spezieller Software zur Unterstützung bei Suche und Pflege: Einsatz eines Datenbanksystems Prof. Dr. Bernhard Schiefer 1-9
Dateisystem Dateien Leicht änderbar Jedoch: Beliebige Änderungen sind möglich Nur der Anwender weiß, ob die Eingaben (z.b. 31.02.2001) korrekt sind oder nicht Änderungen sind später nicht mehr nachvollziehbar Durchsuchen ist möglich - aber umständlich - bei großen Datenbeständen ineffizient i.d.r. hohe Redundanz Um effizient suchen zu können, werden Daten doppelt gehalten z.b. nach unterschiedlichen Kriterien sortiert Gleichzeitiges Ändern durch mehrere Benutzer führt zu Fehlern Hohe Daten-Programm-Abhängigkeit Prof. Dr. Bernhard Schiefer 1-10
Was ist ein Datenbanksystem? Menge strukturierter Daten Software zur Verwaltung Anfragesprache Datensicherung Zugriffssynchronisation Katalog (Data Dictionary) Benutzerverwaltung Prof. Dr. Bernhard Schiefer 1-11
Begriffe Datenbank (DB) die zu verwaltenden Daten Datenbank-Management-System (DBMS) Software zur Verwaltung der Daten Datenbanksystem (DBS) DBS = DBMS + DB Prof. Dr. Bernhard Schiefer 1-12
DBS Architektur ANSI/X3/SPARC 3-Ebenen Architektur Externe Sicht 1 Externe Sicht 2... Externe Anwendungsentwickler Sicht n konzeptuelles Schema DB-Entwickler internes Schema DB-Administrator physische DB Prof. Dr. Bernhard Schiefer 1-13
Merkmale eines DBS Datensicherheit Schutz vor Verlust und Zerstörung Datenschutz Schutz vor unberechtigtem Zugriff Datenkonsistenz Schutz vor fehlerhaften Änderungen Datenunabhängigkeit von Plattform und physischer Organisation Prof. Dr. Bernhard Schiefer 1-14
Datensicherheit Schutz gegen Zerstörung der Daten durch Platten- und Betriebssystemfehler. Rücksetzmöglichkeit bei Anwendungsfehlern. Mechanismen zum Wiederherstellen eines konsistenten Datenbestandes sind erforderlich. Im Beispiel: Nach Absturz durch HW-Fehler muss der letzte bestätigte gültige Zustand wiederhergestellt werden. Prof. Dr. Bernhard Schiefer 1-15
Datenschutz Berechtigungskonzept: Nur angemeldete Benutzer erhalten Zugriff auf die für sie freigegebenen Informationen. Im Beispiel: Die Kunden dürfen keinen Zugriff auf die Daten anderer Kunden haben. Kunden dürfen keine Einkaufskonditionen sehen. Die Einkäufer brauchen keine Kundendaten zu sehen. Prof. Dr. Bernhard Schiefer 1-16
Datenkonsistenz I In sich korrekte, widerspruchsfreie Abbildung der Umwelt. Im Beispiel: Bestellung eines Artikels => Reduktion der Anzahl verfügbarer Artikel. Stornierung einer Bestellung => Die zugehörige Rechnung muss auch storniert werden. Löschen eines Kunden => Löschen seiner Kontaktdaten. Änderung der Anschrift eines Kunden => Die alte Anschrift darf an keiner Stelle mehr auftreten (Werbesendungen, aktuelle Buchungen, ausstehende Rechnungen,...). Prof. Dr. Bernhard Schiefer 1-17
Datenkonsistenz II Voraussetzung: Korrekte und vollständige Modellierung des Einsatzgebietes Modelliert und verwaltet werden: Ziele: Daten UND Beziehungen Datenbeschreibungen Regeln zur Verwendung Elimination aller Redundanz Unterstützung von Regeln, die die Eigenschaften der Umwelt beschreiben Der Zugriff darf nur über das DBMS erfolgen Erfasste Regeln können automatisch überprüft werden Prof. Dr. Bernhard Schiefer 1-18
Datenunabhängigkeit Beschreibung und Verarbeitung der Daten unabhängig von der tatsächlichen Speicherung Physische Datenunabhängigkeit Ermöglicht Änderungen an der Ablage der Daten (Datenstruktur), ohne Auswirkungen auf die Anwendungsprogramme Logische Datenunabhängigkeit Ermöglicht Änderungen und Erweiterungen der Anwendungsschnittstelle unabhängig von dem Datenbestand Prof. Dr. Bernhard Schiefer 1-19
Zugriffssynchronisation Gleichzeitige Änderungen dürfen nicht zu Inkonsistenzen führen Bsp.: 2 Kunden bestellen gleichzeitig den gleichen Artikel 2 Sachbearbeiter ändern gleichzeitig den gleichen Artikel 2 Kunden werden gleichzeitig angelegt - jeder muss eine neue eindeutige Kundennummer erhalten. Durch Sperren und ein Transaktionskonzept werden die Benutzeraktionen gruppiert und serialisiert Prof. Dr. Bernhard Schiefer 1-20
5-Schichten-Datenbankarchitektur logische DB-Verwaltung interne DB-Verwaltung physische DB-Verwaltung Systempufferverwaltung Seitenverwaltung Speicherverwaltung Prof. Dr. Bernhard Schiefer 1-21 persistentes Medium