Informatik für Oekonomen Teil II Datenbanktechnik (Prof. Dr. Klaus R. Dittrich) (5 Wochen) Software Engineering Sicherheit (Prof. Dr. Martin Glinz) (5 Wochen) (3 Wochen) (Prof. Dr. Burkhard Stiller) Einführung in die Datenbanktechnik Prof. Dr. Klaus R. Dittrich I-2 Einführung in die Datenbanktechnik Grundlagen & Zusammenhänge Was ist eine Datenbank, was ist ein Datenbanksystem, wozu das alles ? Aufgaben von Datenbankverwaltungssystemen, Grundbegriffe, Arbeitsweise Relationales Datenmodell Grundsätze, Relationen, Tupel, Integritätsbedingungen, einfaches SQL (Datendefinition und Datenmanipulation) Datenbankentwurf Schrittweiser Entwurfsvorgang, konzeptuelle Modellierung, das Gegenstands- /Beziehungsmodell und seine Anwendung, Regeln für die Umsetzung konzeptueller Schemata I-3 ANGESTELLTER VName Kurt Beate Ruedi Boris Sonja Guiseppe Amando Mirella ABTEILUNG NName AHV# Gebtag Adresse Geschlecht Salär Vorges Abt Huesli 5908 30.12.1973 Zürich m 30000 8635 5 Tell 8635 14.01.1970 Küssnacht w 40000 6608 5 Becker 6736 24.12.1979 Wallisellen m 25000 9260 4 Frisch 9260 03.06.1981 Zug m 43000 6608 4 Maradona 7639 11.11.1974 Bern w 38000 8635 5 Wagner 2938 04.03.1979 Zürich m 25000 8635 5 Verdi 4077 19.08.1972 Dübendorf m 25000 9260 4 Freni 6608 22.06.1968 Dübendorf w 55000 NULL 1 AName Forschung Verwaltung Management ANummer 5 4 1 Leiter 8635 9260 6608 PROJEKT PName PNummer POrt Abt ProduktX 1 Zug 5 ProduktY 2 Baden 5 ProduktZ 3 Kloten 5 Informatik 10 Zürich 4 Reorganisation 20 Kloten 1 Soziales 30 Zürich 4 Anfdatum 22.05.2001 01.01.2004 19.06.2003 ABT_ORT ANummer 1 4 5 5 5 AOrt Kloten Zürich Zug Baden Kloten I-4 ARBEITET_AN Ang 5908 5908 7639 2938 2938 8635 8635 8635 8635 6736 6736 4077 4077 9260 9260 6608 ANGEHÖRIGER Ang 8635 8635 8635 9260 Projekt Stunden 5908 1 32.5 5908 2 7.5 5908 3 40.0 1 20.0 2 20.0 2 10.0 3 10.0 10 10.0 20 10.0 30 30.0 10 10.0 10 35.0 30 5.0 30 20.0 20 15.0 20 NULL Name Geschlecht Gebtag Verwgrad Alice w 05.04.2001 Tochter Max m 25.10.2004 Sohn Ueli m 03.05.1968 Ehemann Greti w 28.02.1983 Ehefrau Beat m 01.01.2002 Sohn Alice w 31.12.2005 Tochter Liesli w 03.05.1977 Ehefrau I-5 Datenbank (DB) eine Menge zusammengehörender Daten mit folgenden Eigenschaften: dauerhaft verfügbar (evtl.) verteilt im Rechnernetz potentiell gross integriert verwendbar unabhängig vom Erzeugungsprogramm mehrfachbenutzbar („parallel zugreifbar”) konsistent, integer, sicher („Datenqualität”) bequem, flexibel und effizient handhabbar („assoziativer Zugriff”) I-6 Prozessor HgSp HSp I-7 Gegenstandssystem Informationssystem „Tell & Co.” „546 Mitarbeiter” „Umsatz 102.3 Mio CHF” „Hans Gessler” „Salär 76’500 CHF” „verheiratet, „2 Kinder” I-8 Gegenstandssystem und Informationssystem Fakten (Geschäfts-) Regeln Vorschriften (Geschäfts-) Prozesse ... Gegenstandssystem (Realweltsystem) Modellierung Erfassung Interpretation Steuerung Informationssystem rechnergestütztes IS Daten IS-Regeln Programme Workflows/Prozesse ... I-9 Informationsverarbeitung Sachverhalte der Realwelt (Geschäftsprozesse) Zuordnung (Steuerung) Modellierung (Abstraktion) Modelle (Informationen) algorithmische Formulierung physische Repräsentation Daten (Bezeichner) Interpretation Daten Programme Eingabe (Bezeichner) Ausgabe DV-System I-10 Datenmodell (eigentlich: ein Metamodell) Menge von Konzepten zur Beschreibung der Struktur einer Datenbank ( ... der interessierenden Umwelt; <––> DDL) data definition language + Operatoren zum Umgang mit entsprechender Datenbank (einfügen, ändern, löschen, wiederfinden; <––> DML) data manipulation language Struktur: elementare Datenelemente zusammengesetzte Datenelemente Beziehungen zwischen Datenelementen I-11 Konsistenzregeln Probleme bei Parallelbetrieb CHF 919.20 Studi: am Kontomat abheben: – CHF 100 CHF 3019.20 Konto #30501217 Stand CHF 1019.20 Oma: am Schalter einzahlen: + CHF 2000 1019.20 – 100.00 1019.20 + 2000.00 = 919.20 = 3019.20 korrektes Ergebnis: CHF 2919.20 I-12 Datenqualitäten (Daten-) Konsistenz: korrekte Widergabe der Umweltsachverhalte (Ablauf-) Integrität: Abläufe erhalten Konsistenz Datensicherheit: abgeschlossene Änderungen sind garantiert Transaktionen als Arbeitseinheiten Datenschutz: nur erlaubte Verwendung der DB möglich I-13 Handhabbarkeit von DBen gewünscht: bequem – flexibel – effizient „welche Daten sind gefragt?“, nicht „wie finde ich sie?“ (assoziativer Zugriff) beliebige Daten/Kombinationen auswählbar keine Kenntnisse über Geräte, Speicherung etc. notwendig keine Kenntnisse über Buchführung notwendig I-14 Datenbankverwaltungssystem (database management system; DBMS) Software zu Betrieb und Verwaltung von Datenbanken mit den genannten Eigenschaften; realisiert insbesondere ein Datenmodell (zur Beschreibung der Daten, Umgang damit: DDL, DML; Schema) eine Anfragesprache Zugriffsschutz evtl. Verteilung ein Transaktionskonzept (inkl. Wiederanlauf, Synchronisation) effiziente Hintergrundspeicherverwaltung (Zugriffspfade etc.), I-15 Datenmodelle konzeptuelle („höhere“, „semantische“) Datenmodelle ––> anwendungsnah, systemunabhängig logische (Implementierungs-) Datenmodelle ––> Schnittstelle von DBMS (exakte Festlegung, inkl. DML) physische („niedere“, „interne“) Datenmodelle ––> gerätenah, nur für Spezialisten (wenn überhaupt zugänglich) I-16 Datenmodelle immer ist zu unterscheiden: die Datenbank selbst – – – häufig Änderungen an der Tagesordnung Struktur muss stets der Beschreibung genügen formal: die Extension einer DB/DB-Instanz/ „Zustand“ der DB die Beschreibung der Datenbank: das (DB-) Schema – welche Struktur ist für eine DB gewünscht (im Rahmen der Möglichkeiten des Datenmodells)? – Änderungen möglich, aber eher selten – Schema entwerfen: „Datenbankentwurf“ – formal: die Intension einer DB I-17 Datenmodell/Schema/Datenbank Datenschema (Datentypen & Regeln) DatenbankDatenbankentwurf entwurf Umweltsachverhalte: Strukturen & Operationen Datenbankbetrieb Datenmodell Datenmodell –– Typen, Typen,Konstruktoren Konstruktoren –– Operatoren Operatoren –– Konsistenzregeln Konsistenzregeln Datenbank I-18 „Datenmodell“ I-19 „Schema“ I-20 „Datenbank“ I-21 Betrieb von Datenbanksystemen Systeminitialisierung Datendefinition: Schema (DDL) DDLCompiler • Anwenderprogramm 1 Anwenderprogramm 2 Anwenderprogramm 3 Anwenderprogramm 4 DMLCompiler übersetztes AWP 1 Datenbank • • • übersetztes AWP n Anfragesystem Dienstprogramme Datenbankverwaltungssystem DBS Primärdaten Systemdaten Hilfsdaten I-22 Systembetrieb