9. Vorlesung: Datenorganisation SS 2007 Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik 7 Datenmanipulation 7.1 7.2 Grundlagen Relationale Abfragesprachen 7.2.1 Überblick 7.2.2 Beispiel: Structured Query Language (SQL) 8 Parallele Transaktionen Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 2 1 Parallele Transaktionen Transaktionen Folge von logisch zusammengehörenden Operationen (Aktionen), die eine Datenbank von einem konsistenten Anfangszustand (Beginn der Transaktion) in einen konsistenten Endzustand (Ende der Transaktion) überführt. Transaktionen folgen dem so genannten ACIDACIDPrinzip Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 3 Parallele Transaktionen ACID-Prinzip Transaktionen sind atomar, d.h. sie werden entweder ganz oder überhaupt nicht ausgeführt. Transaktionen gewährleisten die Konsistenz (consistency) onsistency) der Datenbank. Transaktionen müssen isoliert (ohne Auswirkungen auf eventuell parallel laufende Transaktionen) ablaufen. Eine korrekt abgeschlossene Transaktion hat dauerhafte Wirkung und definiert einen neuen Datenbankzustand. Datenbankzustand. Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 4 2 Parallele Transaktionen Lost update Zeit T1 T2 t1 t2 balx begin_transaction begin_transaction 100 read(balx) 100 t3 read(balx) balx=balx+100 100 t4 balx=balx-10 write(balx) 200 t5 write(balx) t6 commit 90 commit 90 Connolly, Begg: Database Systems. 4. Aufl., Pearson Education, 2004, S. 578. Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 5 Parallele Transaktionen Dirty Read Zeit T1 t1 T2 begin_transaction balx 100 t2 read(balx) 100 t3 balx=balx+100 100 write(balx) 200 ... 200 t4 begin_transaction t5 read(balx) t6 balx=balx-10 t7 write(balx) t8 rollback 100 190 commit 190 Connolly, Begg: Database Systems. 4. Aufl., Pearson Education, 2004, S. 578f.. Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 6 3 Parallele Transaktionen Inconsistent Analysis Zeit T1 t1 T2 begin_transaction balx baly balz 100 50 25 sum sum=0 100 50 25 0 t3 read(balx) read(balx) 100 50 25 0 t4 balx=balx-10 sum=sum+balx 100 50 25 100 t5 write(balx) read(baly) 90 50 25 100 t6 read(balz) sum=sum+baly 90 50 25 150 t7 (balz)=(balz)+10 90 50 25 150 90 50 35 150 90 50 35 150 t2 t8 t9 t10 t11 begin_transaction write(balz) commit read(balz) sum=sum+(balz) commit 90 50 35 185 90 50 35 185 Connolly, Begg: Database Systems. 4. Aufl., Pearson Education, 2004, S. 579f.. Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 7 Parallele Transaktionen Unproblematische Szenarien im Mehrbenutzerbetrieb Transaktionen lassen sich seriell abwickeln Transaktionen betreffen unterschiedliche Datenbereiche Transaktionen sind ausschließlich Leseoperationen Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 8 4 Parallele Transaktionen Konfliktsituationen Mehrere Benutzer arbeiten gleichzeitig (parallel (parallel)) an einer gemeinsamen Datenbasis, Datenbasis, wobei mindestens ein Benutzer etwas verändern will. Ergreifung von Koordinationsmaßnahmen notwendig. Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 9 Parallele Transaktionen Synchronisation von Datenzugriffen Aufteilung der Daten in (viele) Teildatenbereiche bewirkt, dass viele Transaktionen einander nicht mehr tangieren. Bei Zugriff verschiedener Transaktionen gleichzeitig auf den gleichen Teildatenbereich stellt sich das Koordinationsproblem von neuem. Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 10 5 Parallele Transaktionen Synchronisation von Datenzugriffen Aufteilung der Datenbasis in Teildatenbereiche Zehnder, C. A.:Informationssysteme und Datenbanken. 6. Aufl. Zürich 1998, S. 257. Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 11 Parallele Transaktionen Haupttechniken zur Synchronisation Sperrtechnik entspricht einer Lösung mit Verkehrssignalen geeignet für „starken Verkehr“ Optimistische Technik entspricht einer Lösung mit Probieren auf gut Glück geeignet für „wenig Verkehr“ und wenig wahrscheinliche Konflikte erlaubt weitgehende Transaktionen (nicht abschließend) Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 12 6 Parallele Transaktionen Sperrprotokolle Sperre (lock): Ein bestimmter Datenbereich ist für bestimmte Transaktionen während einer bestimmten Zeitdauer unzugänglich. Exklusive Sperre (exclusive lock): Eine bestimmte Transaktion benötigt einen bestimmten Datenbereich ausschließlich für sich selber. (Mutationstransaktionen, SchreibSchreiboperationen) operationen) Teilsperre (shared lock): Eine Transaktion will Daten nur lesen, aber auch verhindern, dass der betroffene Datenbereich während ihres Zugriffs verändert wird. Andere Transaktionen mit gleichem Bedürfnis dürfen parallel an der Teilsperre teilhaben. Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 13 Parallele Transaktionen Sperrprotokolle Erzeugung möglichst wenig Sperrkonflikte: Überweisung von EUR 500.500.- von Konto A auf Konto B Vorteil: Bei ungenügenden Kontostand muss keine Exklusivsperre verlangt werden Nachteil: Sperrenänderung während Transaktion Zehnder, C. A.:Informationssysteme und Datenbanken. 6. Aufl. Zürich 1998, S. 259f. Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 14 7 Parallele Transaktionen Sperrprotokolle In ZweiphasenZweiphasen-Sperrprotokollen dürfen in einer Transaktion Sperren erst freigegeben werden, nachdem alle notwendigen Sperren gesetzt worden sind. (Phase 1 = sperren, Phase 2 = Sperren lösen) Eine Transaktion erfüllt KonsistenzKonsistenzanforderungen, anforderungen, falls gilt: T sperrt alle Datenbereiche, die sie ändert, exklusiv T belegt alle übrigen Datenbereiche, die sie liest, mit Teilsperren T gibt erst Sperren wieder frei, nachdem alle notwendigen Sperren gesetzt sind. Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 15 Parallele Transaktionen Lost Update und Zweiphasen-Sperrprotokoll Zeit T1 t1 t2 begin_transaction T2 balx begin_transaction 100 write_lock(balx) 100 t3 write_lock(balx) read(balx) 100 t4 WAIT balx=balx+100 100 t5 WAIT write(balx) 200 t6 WAIT t7 read(balx) 200 t8 balx=balx-10 200 t9 write(balx) 190 t6 commit commit 200 190 Connolly, Begg: Database Systems. 4. Aufl., Pearson Education, 2004, S. 578. Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 16 8 Parallele Transaktionen Deadlocks Zwei parallele Transaktionen: Methoden zum Umgang mit Deadlocks: Deadlocks: Timeout Verhinderung von Deadlocks Erkennung von Deadlocks Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 17 Parallele Transaktionen Deadlocks Auswahl einer Transaktion anhand Transaktionsdauer Menge bereits geänderter Daten Menge noch zu ändernder Daten "Verhungerung" vermeiden (Verhungerung: Dieselbe Transaktion wird immer wieder erneut ausgewählt) Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 18 9 Parallele Transaktionen Optimistische Synchronisationsverfahren Zunächst weitgehende Erlaubnis von Transaktionen (nicht abschließend), anschließende Untersuchung potentieller Konflikte Drei sequentiell unterscheidbare Phasen Lesephase Validierungsphase Schreibphase, evtl. zurücksetzen Probleme bei intensivem Betrieb, bei Abbruch vieler Transaktionen, bei lang andauernden Transaktionen. Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 19 8 Parallele Transaktionen 9 Architekturen von Datenbanken 9.1 Drei-Ebenen-Architektur 9.2 Verteilte Datenbanken 9.3 Client-Server-Datenbanken 9.4 Föderierte Datenbanken 9.5 Das Data-Warehouse-Konzept Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 20 10 Architekturen von Datenbanken Drei-Ebenen-Architektur Internes Schema physische Datenorganisation Logisches Schema logische Datenbankstruktur Externes Schema Ausschnitte des logischen Schemas, die für einzelne Datenbank benutzende Anwendungen relevant sind Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 21 Architekturen von Datenbanken Drei-Ebenen-Architektur Anwender 1 Anwender 2 Anwender n Anwendungsprogramm 1 Anwendungsprogramm 2 Anwendungsprogramm n Datenbank externes Schema externes Schema externes Schema logisches Schema: logische Datenbankstruktur internes Schema: physische Datenorganisation Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 22 11 Architekturen von Datenbanken Zentrale Datenbanken Alle früheren Datenbanklösungen basierten auf dem zentralen Konzept: Eine Datenbank verwaltet einen gemeinsamen Datenbestand (Datenbasis) für eine Vielzahl an Benutzern Hauptaufgabe die Integration der Daten Ein Computer für Datenbasis, DBMS und Anwenderprogramme Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 23 8 Parallele Transaktionen 9 Architekturen von Datenbanken 9.1 Drei-Ebenen-Architektur 9.2 Verteilte Datenbanken 9.3 Client-Server-Datenbanken 9.4 Föderierte Datenbanken 9.5 Das Data-Warehouse-Konzept Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 24 12 Architekturen von Datenbanken Zentrale vs. verteilte Datenbanken Zentrale Datenbank: Daten sind physisch zusammenhängend in einem Speicher gespeichert Verteilte Datenbank: logisch zusammenzusammengehörende Daten sind in physisch verschiedenen durch ein Netz verbundene Rechnern gespeichert, werden aber gemeinsam verwaltet. Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 25 Architekturen von Datenbanken Zentrale oder dezentrale Datenbanklösung? Betriebliche Überlegungen Soll jeder Anwender in verschiedenen Systemen die notwendigen Daten zusammensuchen müssen? Ist dann eine zentrale Datenbank eine bessere Koordinationshilfe? Müssen wirklich alle wichtigen Datenbestände zentral verwaltet werden oder sind gezielte Aufteilungen erwünscht? Datentechnische Überlegungen Wie lässt sich der Wildwuchs koordinieren, wenn verschiedenste Betriebsabteilungen eigene Datenbanken einrichten? Wird eine zentrale Datenbank, die alle Bedürfnisse eines Betriebes abdecken soll, nicht zu groß und zu komplex und damit unsicher und teuer? Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 26 13 Architekturen von Datenbanken Gründe für Dezentralisierung schnell verfügbare Kleinlösungen für häufig vorkommende Aufgaben dezentrale Kompetenzen in dezentral organisierten Betrieben Datensicherheit (Abschirmung) Datensicherheit (Verfügbarkeit) Flexibilität Optimierung der Leistungsfähigkeit durch parallele Verarbeitung Reduzierung der Datenübermittlungskosten bei lokaler Gruppierung Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 27 Architekturen von Datenbanken Gründe gegen Dezentralisierung Komplexität Wartungskosten Datensicherheit Integritätskontrolle Fehlende Standards Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 28 14 Architekturen von Datenbanken Heterogene vs. homogene Datenbanken Heterogene Datenbank Verwaltung der lokalen Daten durch eigene DBMS Koordinierung der Teildatenbanken durch „MasterMasterDBMS“ DBMS“ Homogene Datenbank ein einheitliches DBMS Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 29 Architekturen von Datenbanken Stufen der Dezentralisierung Zehnder, C. A.:Informationssysteme und Datenbanken. 6. Aufl. Zürich 1998, S. 290. Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 30 15 Architekturen von Datenbanken Aufteilung der Daten in DBMS 80/2080/20-Regel: 20% aller Anfragen verursachen 80% aller Datenzugriffe Kriterien: Häufigkeit und geforderte Performance einer Transaktion Verwendete Relationen, Attribute, Datensätze Zugriffsart: Lesen/Schreiben Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 31 Architekturen von Datenbanken Aufteilung der Daten in DBMS Ziele: Datenlokalität Verbesserte Zuverlässigkeit und Verfügbarkeit Leistungsverbesserung Ausgeglichene Speicherkapazitäten Geringe Kommunikationskosten Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 32 16 Architekturen von Datenbanken Aufteilung der Daten in DBMS 1. 2. 3. 4. Datenorganisation SS2007 Replikation Horizontale Partitionierung Vertikale Partitionierung Kombinationen von 1 bis 3 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 33 Architekturen von Datenbanken Replikation Kopien der Daten auf jedem beteiligten Rechner + hohe Zuverlässigkeit aufgrund der Mehrfachspeicherung + kurze Zugriffszeiten in Spitzenzeiten - hoher Speicherplatzbedarf - Komplexität und hoher Aufwand bei Aktualisierung Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 34 17 Architekturen von Datenbanken Anforderungen an Partitionierung Vollständigkeit: Vollständigkeit: Jedes Datum muss in mindestens einem Fragment vorkommen (kein Datenverlust) Rekonstruktion: Rekonstruktion: Erhaltung funktionaler Abhängigkeiten Disjunktheit: Disjunktheit: Minimale Redundanz (Ausnahme: Vertikal, da Primärschlüssel wiederholt werden muss) Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 35 Architekturen von Datenbanken Horizontale Partitionierung Teilung einer Datei nach Datensätzen (Selektion) und Speicherung der Teilmengen auf verschiedenen Rechnern + hohe Effizienz, lokale Optimierung + hohe Sicherheit + einfache Abfragen möglich - inkonsistente Zugriffe bei der Benötigung von Daten verschiedener Rechner - Datensicherung kritisch Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 36 18 Architekturen von Datenbanken Vertikale Partitionierung Teilung einer Datei nach Datenfeldern (Projektion) und Speicherung der Teilmengen auf verschiedenen Rechnern + hohe Effizienz, lokale Optimierung + hohe Sicherheit - inkonsistente Zugriffe bei der Benötigung von Daten verschiedener Rechner - Datensicherung kritisch Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 37 Architekturen von Datenbanken Eigenschaften verteilter DBMS Aus Benutzersicht unterscheidet sich ein verteiltes System nicht von einem nicht-verteilten System. • Lokale Autonomie • Unabhängigkeit von Teilsystemen • Ständige Verfügbarkeit • Ortsunabhängigkeit • Unabhängigkeit von Partitionierung • Unabhängigkeit von Replikation Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 38 19 Architekturen von Datenbanken Eigenschaften verteilter DBMS • • • • • • Verteilte Anfrageverarbeitung Verteilte Transaktionsverarbeitung Unabhängigkeit von Hardware Unabhängigkeit von Betriebssystemen Unabhängigkeit vom Netzwerk Unabhängigkeit von Datenbanken Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 39 8 Parallele Transaktionen 9 Architekturen von Datenbanken 9.1 Drei-Ebenen-Architektur 9.2 Verteilte Datenbanken 9.3 Client-Server-Datenbanken 9.4 Föderierte Datenbanken 9.5 Das Data-Warehouse-Konzept Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 40 20 Architekturen von Datenbanken Client-Server-Interaktion Client Anfrage Antwort Server Übertragung der Datenverwaltung an einen speziellen Rechner Lastverteilung auf verschiedene Rechner: Verteilung von Prozessen bzw. Aufgaben innerhalb der Datenverwaltung klare Definition der ClientClient-Prozesse und der ServerServer-Prozesse Verbesserung der Laufzeiteffizienz bessere Skalierbarkeit Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 41 Architekturen von Datenbanken Client-Server-Datenbankarchitekturen Client Server Server stellt Schnittstelle zu Anwendungsprogramm bereit (API) Server übernimmt komplette Verwaltung inkl. Abfrageverarbeitung Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 42 21 Architekturen von Datenbanken Client-Server-Datenbankarchitekturen Aufteilung der Abfrageverwaltung zwischen Server und Client Entlastung des Netzwerks Client Server Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 43 Architekturen von Datenbanken Client-Server-Varianten Hald, A.; Nevermann, W. Datenbankengineering für Wirtschaftsinformatiker. Braunschweig/Wiesbaden 1995, S. 151. Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 44 22 8 Parallele Transaktionen 9 Architekturen von Datenbanken 9.1 Drei-Ebenen-Architektur 9.2 Verteilte Datenbanken 9.3 Client-Server-Datenbanken 9.4 Föderierte Datenbanken 9.5 Das Data-Warehouse-Konzept Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 45 Architekturen von Datenbanken Prinzip von Föderierten Datenbanken DreiDrei-EbenenEbenen-Architektur für DatenbankDatenbanksysteme wird um Föderierungsschicht ergänzt ¾ VierVier-EbenenEbenen-Architektur Föderierungsschicht nimmt Integration vor, ohne das einzelne DBMS ihre Selbstständigkeit verlieren. Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 46 23 Architekturen von Datenbanken Schematischer Aufbau Föderierungsschicht Externes Schema Externes Schema Logisches Schema Internes Schema Logisches Schema Internes Schema Relationales DBMS Netzwerk DBMS Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 47 Architekturen von Datenbanken Aufgaben der Föderierungsschicht Schemaintegration auf fachlicher und technologischer Ebene Verwaltung von Informationen über verwaltete Datenobjekte Ort der Speicherung eingesetzte Technologie Aktive Komponente zur Aktualisierung des Datenbestandes Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 48 24 Architekturen von Datenbanken Föderierte Datenbank mit Middleware Datenbanken der Abteilungen oder Einzelunternehmen bleiben autonom Entkopplung der Nutzer, Einhaltung der KonsistenzKonsistenzbedingungen, bedingungen, Anpassung von heterogenen Daten Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 49 Vielen Dank für Ihre Aufmerksamkeit Datenorganisation SS2007 Leibniz Universität Hannover Institut für Wirtschaftsinformatik Dipl.-Math Frank Köller | 10.07.2007 | Folie 50 25