Einführung in Datenbanksysteme Sonstiges: Datenunabhängigkeit Zwischenschichten machen unabhängig. Logische Datenunabhängigkeit: Benutzersichten sind invariant gegenüber Änderungen oder Ergänzungen der Logik Beispiel: zusätzlich Telefonnummer für Kunde (Auswirkungen auf existierende externe Schemata: keine) Beispiel: Preis_einzel, Preis_doppel statt Preis (Auswirkung: Änderung nur der Anwendungen, die dieses Datum verwenden) Physische Datenunabhängigkeit: Invarianz aller Benutzersichten und Anwendungsprogramme gegenüber der internen Speicherungstechnik Beispiel: Entfernen eines Index (Auswirkung: Laufzeit von Anwendungen evtl. grösser, sonst keine) Beispiel: Wechsel der Platten (Auswirkung: z.B. grössere Datenmengen speicherbar, sonst keine) Sonstiges: Datenintegrität Das System prüft gewisse Regeln bereits bei der Dateneingabe und bei Datenveränderungen (einzelwertorientiert bei Aufzählungen, mengenorientiert bei Berücksichtigung aller Werte, beziehungsorientiert bei Berücksichtigung anderer Tabellen:referentielle Integrität) Unterstützung durch: Auswahlmenüs, Verbot des 35.Februar, einzige Werte sind männlich-weiblich, eindeutiger Primärschlüssel für Zeilen, Datentypen BEUTH/Steyer Einführung in Datenbanksysteme Sonstiges: Dateien (vor den Datenbanksystemen) Die Datenverarbeitung mit Dateien war und ist immer noch gekennzeichnet durch die Probleme Redundanz, mögliche inkonsistente Daten, Abhängigkeit der Programme von der Datenorganisation, individuelle Speziallösungen, Mehrfacharbeit. Daten Daten Anwendung Anwendung Anwendung Daten Daten Daten Bei der Datenübernahme von Anwendung zu Anwendung muss meist explizit konvertiert werden. Probleme: - Redundanz Gleiche Daten werden z.B. aus Effizienzgründen mehrfach gespeichert - Mögliche Inkonsistenzen Änderung eines redundanten Datums, Transfer Utilities - Abhängigkeit der Programme von der Datenorganisation Jedes Programm enthält die Beschreibung der benutzten Daten - individuelle Speziallösungen Selbstverständliche Datenbankfunktionalitäten (z.B. Schutz, Sicherheit, Schnelligkeit auch bei grösseren Datenmengen, generelle Benutzbarkeit) fehlen oft oder müssen von Hand nachgestrickt werden. - Mehrfacharbeit Die Entwickler wissen oft nicht voneinander und erfinden das Rad doppelt. BEUTH/Steyer Einführung in Datenbanksysteme Sonstiges: Datenbanklebenszyklus (Kreis, eigentlich Spirale) Änderung und Anpassung Datenbankentwurf Betrieb und Überwachung Installation Anwendungsprogramme Daten definieren und laden DATENBANKENTWURF - Benutzeranforderungen - konzeptionelles Modell - logisches, externes, internes DB-Schema INSTALLATION - Einlesen des Installationsbandes - Setzen der Umgebung, Initialisierung der Datenbereiche - Hochfahren des Datenbanksystems, Laden der Systemtabellen - Probebetrieb, Sicherung DATEN DEFINIEREN UND LADEN - Laden des Datenbankschemas, Probebetrieb - Laden der Daten mit Sicherungen ANWENDUNGSPROGRAMME - Subsysteme, Pflichtenheft, Tools, Testfälle, Dokumentation - Aus Sicht der Datenbank achten auf Mehrbenutzerproblematik, Datenabsicherung, Datenintegrität, Laufzeit, Blockaden, Sicherung BETRIEB UND ÜBERWACHUNG - Sicherungskonzept, Wiederherstellverfahren - Tagesaktivitäten (interaktiver Betrieb), Nachtaktivitäten ( Stapelläufe, Druck, Sicherungen) - Bedienerausbildung - Monitoring für die Leistungsbewertung (für kritische Bereiche, Lastspitzen) - Notfallplanung (Bereitschaft, Notbetrieb) ÄNDERUNG UND ANPASSUNG - Anpassung an neue Anforderungen (logische Änderungen) - Optimierung (physische Änderungen auf Hardware-, Betriebssystem-, Datenbank- und Programmebene) BEUTH/Steyer Einführung in Datenbanksysteme Sonstiges: Datenbank-Literatur Grundlagen: Saake/Sattler: Algorithmen und Datenstrukturen, dpunkt verlag 2006 Sortieren, Suchen, Eigenschaften, Datentypen, Bäume, Graphen Architektur: Härder, Rahm: Datenbanksysteme, Springer 1999 Die untersten Datenbanksystemschichten (Speicherung, Transaktionen, Schnelligkeit) mit Konzepten, ca. 40 € Konzepte: Heuer/Saake: Datenbanken, International Thomson Publishing 1997 Modelle, Entwurf, SQL, Anwendungsprogrammierung, weitere Konzepte (Sichten, Schutz, Trigger), ca. 30 € Kemper/Eickler: Datenbanksysteme, Oldenbourg 2001 Modelle, Entwurf, SQL, weitere Konzepte (Integrität, Schutz, Transaktionen, Mehrbenutzer) objektorientierte, objektrelationale, Internetdatenbanken Riccardi: Datenbanksysteme, Addison Wesley 2001 Modelle, Entwurf, SQL, weitere Konzepte (Speicherverwaltung, Schutz, Transaktionen, Mehrbenutzer), objektrelationale Datenbanken, Anwendungen mit Java, ca. 60 € Stonebraker/Moore: Objektrelationale Datenbanken, Hanser 1999 Die nächste grosse Welle Vossen: Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme, Oldenbourg 2008 Fast alles: Geschichte, Datenbankentwurf, Theorie, SQL, Objekte, XML, Konzepte ca. 50 € Programmieren: Saake/Sattler: Datenbankenn & Java, dpunkt.verlag 2000 JDBC, SQLJ und ODMG, ca. 40 € Dehnhardt: Anwendungsprogrammierung mit JDBC, Hanser 1999 Datenbanken – Java – Client/Server, ca. 25 € Sonderthemen: Bauer/Günzel: Data Warehouse Systeme, dpunkt verlag 2004 Architektur, Entwicklung, Anwendung BEUTH/Steyer