1. Datenbanken – Einführung 1.1 Redundanz und Inkonsistenz Erklären Sie die Bedeutung beider Begriffe und erläutern Sie mittels eines Beispiels aus der Praxis deren negativen Folgen. (4 Punkte) Redundanzen sind fehlerhafte oder schlecht geformte Datenbanken. Redundanzfreie Datenbanken sind daher Datenbanken in denen alle sich wiederholende Informationen beseitigt und auf einen einzelnen Eintrag reduziert wurden. Ein Informations-Schwund darf dabei nicht entstehen. In Ausnahmefällen kann eine „Kontrollierte Redundanz“ in zB SQL Datenbanken die Geschwindig/Übersicht/Leistung erhöhen. Grundsätzlich sollen Redundanzen immer Vermieden werden. Beispiel Bei Doppelexistenz von Daten wird in der Praxis oft vergessen beide Einträge zu Editieren, zB bei Veränderungen. Außerdem sind Tippfehler schwerer zu finden. In der Informatik bedeutet Inkonsistenz von Daten Abweichung zwischen verschiedenen Daten. Sobald Zusammenhänge zwischen Einträgen nicht mehr eindeutig sind, meist wegen Fehlern verbunden mit dem Verbindungsschlüssel. Falls dieser auf zu wenig/falsche oder zu viele Einträge verweist. Beispiel Bei Inkonsistenzen können von falschen Lieferadressen bis Verlinkungsfehlern bei Preisen hohen Firmenkosten entstehen. 1.2 Beschreiben Sie die 3-Schichten-Architektur aktueller Datenbanksysteme. Erklären Sie dabei auch physische und logische Datenunabhängigkeit. (7 Punkte) 1. Externe Ebene Konzeptionelle Ebene physische Sicht auf die Daten, die interne Ebene Dies ist die oberste Ebene der Anwedung. In der Ansichtsebene werden Informationen angezeigt die sich auf Dienste beziehen. Warenkauf, Einkaufswagen, oder Preisänderungen. Diese Ebene ist mit den anderen Ebenen verknüpft um die Informationen in einem Client oder Browser ausgeben zu können. Benutzer können über die Ansichtsebene mit der Datenbank interagieren. 2. logische Gesamtsicht auf die Daten, die konzeptionelle Ebene Die Konzeptionelle Ebene wird aus der Präsentationseben abgeleitet und als eine eigene Ebene steuerte sie die Funktionalität einer Anwendung durch Ausführen der eingebenen Befehle. 3. Interne Ebene Die Interne Ebene steuert Datenfreigabe, den Server und Zugriffsschichten. Durch die Vermeidung von Abhängigkeiten von den Speichermechanismen können Aktualisierungen oder Änderungen vorgenommen werden, ohne dass die Benutzer der Anwendungsebene von der Änderung betroffen sind oder in Kenntnis gesetzt werden. Bei der Trennung jeder Ebene entstehen Kosten für die Implementierung und oft Kosten für die Leistung im Austausch für verbesserte Skalierbarkeit und Wartbarkeit. 4. Physikalische Unabhängigkeit: Physikalisch „Höhere Ebenen einer Datenarchitektur sind unberührt von Verändrungen auf der nächst tieferen Ebene.“ gitta.info Die physische Datenunabhängigkeit befasst sich mit dem Ausblenden der Details der Speicherstruktur aus Benutzeranwendungen. Die Anwendung sollte nicht in dessen Problemen miteinbezogen werden. 5. Logische Unabhängigkeit: Benutzersichten auf die Daten, die externe Ebene Logisch Eine logische Struktur von Daten wird als "Schema-Definition" beschrieben. Wenn eine Benutzeranwendung auf einer Untermenge der Attribute einer Relation zugreift, sollte sie später nicht beeinflusst werden, wenn neue Attribute zu dieser Relation hinzugefügt werden. Die logische Datenunabhängigkeit zeigt an, dass das konzeptionelle Schema geändert werden kann, ohne die bereits vorhandenden Schemata zu beeinflussen. 1.3 Vergleichen Sie Dateisysteme mit Datenbanksystemen Was sind die Schwächen von Dateisystemen? Wodurch können Datenbanksysteme die Schwächen von Dateisystemen kompensieren? Was sind die charakteristischen Eigenschaften von und Vorteile von Datenbanksystemen? (6 Punkte) Grundsätzlich wird eine Datenbank zum Abspeichern von zusammenhängenden, strukturierten Daten mit wohldefinierten Datenformaten in effizienter Weise zum Einfügen, Aktualisieren und Abrufen benutzt. Außerdem ist ein Dateisystem ein unstrukturierter Datenspeicher zum Speichern von willkürlichen, wahrscheinlich nicht verwandten Daten. Das Dateisystem ist Globaler und Datenbanken werden auf den allgemeinen Datenspeicherungsdiensten des Dateisystems erstellt. Bei sehr komplexen Operationen ist das Dateisystem im Normalfall langsam. Datenbankmanagementsystem Vorteile: + Tabellen sind miteinander verwandt + SQL-Abfrage- / Datenverarbeitungssprache + Server-Implementierung (Eine Art von vorgepeicherte Erweitungen) Bei der Handhabung kleiner Datensätze mit beliebigen, wahrscheinlich nicht verwandten Daten sind die Daten effizienter angelegt als in der Datenbank. Einfache Operationen wie lesen, schreiben, Dateivorgänge sind dabei schneller und einfacher. 1.4 Erklären Sie folgende Begriffe aus dem Bereich Datenmodelle und Datenbanken: Datenmodell Datenbankschema Datenbank Management System Datenbasis Datenbanksystem (5 Punkte) Datenmodell Datenbankschema Ein Datenmodell ist ein abstraktes Modell, das Datenelemente organisiert und standardisiert und der Eigenschaften und Beziehungen verwaltet. Zum Beispiel kann ein Datenmodell mit dem Datenelement identisch sein. Das Datenbankschema eines Datenbanksystems ist seine Struktur. Diese wird in einer vom Datenbankverwaltungssystem unterstützten Formsprache beschrieben wird. Der Begriff "Schema" bezieht sich auf die Organisation von Daten als Entwurf für den Aufbau der Datenbank (bei relationalen Datenbanken in Datenbanktabellen aufgeteilt). Datenbank Management System Ein Datenbank Management System ermöglicht Endbenutzern das Lesen , Erstellen, Löschen und Aktualisieren von Daten in einer Datenbank. Das DMS ist ein Organisationsystem, die für die Entwicklung und Implementierung von Datensystemen benutzt wird. Datenbasis Eine Datenbank ist eine strukurierte Ansammlung von Daten. Eine relationale Datenbank dagegen ist eine Sammlung von Tabellen, Schemas, Abfragen und diversen anderen Funktionen. Datenbanksystem Ein Datenbanksystem wird für die Datenverwaltung benutzt. Datenmengen müssen hierbei effizient, widerspruchsfrei (frei von Redundanz und Inkonsistenz) gespeichert werden. 1.5 Nennen Sie die 4 Phasen des Datenbankentwurfs und erklären Sie folgende beiden Phasen genauer: Konzeptueller Entwurf (4 Punkte) Externe Phase Anforderungsanalyse Informationsbeschaffung Die Anforderungsanalyse umfasst jene Aufgaben, die die Bedürfnisse oder Bedingungen für ein neues oder verändertes Projekt unter Berücksichtigung der Anforderungen der verschiedenen Analysen und Dokumentation betrifft. Systemanforderungen und DBMS muss auch berücksichtigt werden. Konzeptionaller Entwurf Semantisches Modell Logischer Entwurf Logisches Datenmodell Physische Phase Datenbankschema In diesem Entwurf werden die in der vorherigen Phase ermittelten Bedürfnisse als Grundlage für die Entwicklung des neuen Systems herangezogen. Die Anforderungen werden hiermit in ein technologisch umsetzbares Design umgewandelt mithilf von Entwürfen.