Komponenten eines Informationssystems Eine Datenbasis ist eine Menge von Daten, die aus Sicht der Systembetreiber in irgendeiner Weise als zusammengehörig betrachtet werden. Angereichert um weitere Daten, die das DBMS zur Erfüllung seiner Aufgaben benötigt, bilden sie eine Datenbank (DB). Datenbankverwaltungssysteme (engl. Database management system oder DBMS) sind Softwareprodukte für die dauerhafte, integre und anwendungsunabhängige Speicherung und Verwaltung sowie die fexible und bequeme Verwendung von grossen, mehrfachbenutzbaren integrierten Datenbasen. Ein Datenbanksystem (DBS) besteht aus einem DBMS und einer oder mehreren Datenbanken. Ein Informationssystem erweitert die Datenbank um eine Reihe von Werkzeugen (engl. software tools) zur Abfrage, Darstellung, Transformation und Analyse von Daten. 3-Schema-Architektur (ANSI-SPARC) Datenunabhängigkeit Physische Datenunabhängigkeit: Änderungen des internen Schemas sollen ohne Änderung des konzeptionellen oder der externen Schemas möglich sein. Logische Datenunabhängigkeit: Änderungen des konzeptionellen Schemas sollen ohne Änderung der externen Schemas möglich sein. Funktionen und Dienste Speicherung, Wiedergewinnung, Änderungsdienst: Ein DBMS ermöglicht den Benutzern Daten in der Datenbank zu speichern, diese wiederzugewinnen und zu ändern. Katalog: Ein DBMS bietet einen Katalog an, der die Beschreibung der Daten in der Datenbank enthält und durch die Benutzer eingesehen werden kann. Unterstützung von Transaktionen: Ein DBMS stellt einen Mechanismus bereit, der sicherstellt, dass entweder alle Änderungen einer Transaktion erfolgen oder keine. Nebenläufigkeitskontrolle: Ein DBMS stellt einen Mechanismus bereit, der sicherstellt, dass die Datenbank korrekt geändert wird, wenn mehrere Benutzer gleichzeitig Daten manipulieren. Wiederherstellung: Ein DBMS stellt einen Mechanismus bereit, um die Datenbank wieder herzustellen, falls die Datenbank in irgend einer Weise beschädigt ist. Zugriffskontrolle: Ein DBMS stellt einen Mechanismus bereit, der sicher stellt, dass nur berechtigte Personen auf die Datenbank zugreifen können. Datenkommunikation: Ein DBMS muss in Kommunikationssoftware eingebunden werden können. Datenintegrität: Ein DBMS stellt Mittel bereit, um sicherzustellen, dass die Daten in der Datenbank und Änderungen dieser Daten gewissen Regeln folgen. Datenunabhängigkeit: Ein DBMS muss Möglichkeiten bieten, um die Unabhängigkeit der Programme von der aktuellen Struktur der Daten zu unterstützen. Werkzeuge: Ein DBMS muss eine Reihe von Werkzeugen zur Verfügung stellen. Transaktionskonzept ermöglicht fehlertolerante Systeme ermöglicht Mehrfachnutzung ermöglicht Konsistenz der Datenbasis Unter einer Transaktion verstehen wir eine Folge von Aktionen, die in der Datenbank durchgeführt werden. Diese Aktionen sind grundsätzlich Lese- und Schreiboperationen. Die sogenannten ACIDEigenschaften charakterisieren eine Transaktion. Bald ist der Winter wieder da und mit ihm der Schnee... Das heisst für uns: Après Ski Warm Up, damit wir den Winter gut (und ohne Kater...) überstehen. Einheit (Atomicy) der Rücksetzbarkeit: Die Durchführung einer Transaktion folgt dem Prinzip Alles oder Nichts. Einheit der Konsistenzerhaltung (Consistency): Eine Transaktion überführt eine Datenbank von einem konsistenten Zustand wieder in einen konsistenten Zustand und garantiert Widerspruchsfreiheit. Einheit für die Serialisierbarkeit: Isolation schützt vor Seiteneffekten bei gleichzeitig ablaufenden Transaktionen. Einheit der Wiederherstellung (Durability): Die Wirkung von Änderungen abgeschlossener Transaktionen sind dauerhaft. Datenmodell Als Faktum bezeichnen wir die Zuordnung einer Entität zu einem Eigenschaftswert einer Eigenschaft: Multiplizität (multiplicity) eines Attributs [1 ... 1], [1] obligatorisch, [0 ... 1] fakultativ Beziehungen (relationships) Die Zusammenfassung aller gleichartigen Beziehungen zwischen Entitäten bezeichnen wir als Beziehungsmenge, die Charakterisierung der gleichartigen Beziehungen bzw der Beziehungsmenge heisst Beziehungstyp. In UML wird ein Beziehungstyp association genannt. UID (Unique Identifier) Alle Attribute, die mit {ID} gekennzeichnet sind, bilden zusammen (!) den Schlüssel: Sub- und Supertypen participation constraint Vollständig überdeckend oder total: Jede Entität eines Supertyps ist gleichzeitig die (allgemeinere) Entität einer der Subtypen. {mandatory} Nicht vollständig überdeckend oder partiell: Es gibt Entitäten, die zu keinem der Subtypen gehören. Dies wird im Diagramm mit dem Tag {optional} gekennzeichnet. disjoint constraint Gegenseitig ausschliessend oder disjunkt: Jede Entität eines Supertyps ist gleichzeitig die (allgemeinere) Entität eines einzigen Subtypen. {disjoint} Gegenseitig nicht ausschliessend oder überlappend: Es gibt Entitäten, die gleichzeitig zu mehr als einem Subtyp gehören. {nondisjoint} Gegenseitig logarithmisch summierend: Partysound, Disco, Charts, Après Ski-Hits! Hierarchische Beziehungen („1:n“-Beziehungen) Relationale Modellierung Was wir hier jeweils als „Zeile“ notiert haben, nennt man ein Tupel, genauer Quadrupel oder 4Tupel, allgemeiner n-Tupel mit n = 4. Ingo und Co. heizen euch den ganzen Abend mit den besten Ohrwürmern der Fetenhits ein! Diese Mengen sind quasi „Wertelieferanten“ für die Komponenten unserer Tupel. Man nennt sie Domänen, englisch domains.