Zusammenfassung RDB Tag1 SD-HS12 Ralf Zumbrunn 1 Daten speichern • Wo: RAM, ROM, Datei, Datenbank • Probleme • Redundanz • Konsistenz (Widerspruchsfreiheit) • Integrität • Bereichsintegrität, Entitätsintegrität, Referenzielle Integrität • Logische Konsistenz (z.B. Kind hat immer Eltern) • Mehrbenutzerbetrieb • Sicherheit 2 Daten Abstraktionsebenen Externe Ebene oder externe Schema Teilbereiche der DB für verschiedene Benutzergruppen, Zugriffsrechte). Konzeptuelle Ebene oder Datenbankschema Beschreibung der kompletten Datenstruktur inkl. Konsistenzbedingungen im Datenmodell des DBMS Interne Ebene Implementierungsdetails, z.B. Aufteilung auf verschiedene Platten, Index, ... 3 Modellierungskonzepte Entity-Relationship-Modell • Relationale Datenbankenmodell • Hierarchische Datenbanken • Objektorientierte Datenbanken 4 Arten von Datenbankensystemen Fakten Relationale Datenbankenmodel Hierarchische Datenbanken Objektorientierte Datenbanken • • • • • • • • • tabellarische Anordnung Tuple werden von primären Schlüsseln identifiziert Tuple werden mit Hilfe von Fremdschlüsseln referenziert. • Reine Baumstrukturen Knoten enthalten Attribute Nur 1:1 oder 1:N Beziehungen möglich das älteste Datenbankmodell OO + Datenbank Ideal für OO Sprachen besser geeignet als RDB für gewisse Applikationen Pro und Kontra Pro: • Mathematisch basiert • weit verbreitet • Lange Erfahrung • Guter programm. Support Kontra: • Künstliche Datensegmentierung (keine komplexen Datentypen) • Rekursion und Vererbung nicht direkt modellierbar Pro: • Extreme schnelle Zugriffszeiten Kontra: • Langsame Schreibzeiten (Baumoptimierung) Pro: • Verwaltung komplexer Objekte. Ein Objekt kann aus beliebigen weiteren Datentypen bestehen. • Vererbung und Rekursion Kontra: • Wenig verbreitet • Performanceproblemen • Wenige Produktanbieter • OO nicht frei wählbar Produkte Oracle, MySQL etc. X500; XML Datenbanken Caché 5 Entity-Relationship-Modell • • • • Entität (entity) dargestellt als Rechteck Beziehung (relationship) dargestellt als Raute Attribute dargestellt als Elipse Kardinalitäten 6 Was versteht man unter "Kardinalität"? Grad einer Beziehung : mit wie vielen Entitäten eines anderen Entitätstyps E2 kann eine Entität des Typs E1 in Beziehung treten. 1:1 Beziehung jede Entität aus Tabelle E1 darf maximal zu einer Entität aus Tabelle E2 in Beziehung stehen. 1:n Beziehung jede Entität aus E1 kann zu mehreren Entitäten aus E2 in Beziehung stehen, während jede Entität aus E2 nur zu maximal einer Entität aus E2 in Beziehung stehen kann. m:n Beziehung jede Entität aus E1 kann zu mehreren Entitäten aus E2 in Beziehung stehen, umgekehrt kann auch jede Entität aus E2 zu mehreren Entitäten aus E2 in Beziehung stehen. 7