13.07.2015 Aufrufe

Die neun Codd'schen Anforderungen für Datenbanksysteme

Die neun Codd'schen Anforderungen für Datenbanksysteme

Die neun Codd'schen Anforderungen für Datenbanksysteme

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Grundlagen DatenbankenSommersemester 2006Gregor EngelsH. Voigt, C. Kemper, D. Fisseler, A. CherchagoPräsenzblatt Nr. 1 Kalenderwoche 15 und 16Organisatorisches: Bildet GruppenAufgabe 1 (Grundlagen DBMS)a) Diskutiert, inwiefern die <strong>neun</strong> Codd´schen <strong>Anforderungen</strong> auch <strong>für</strong> das System StudInfo gelten.<strong>Die</strong> <strong>neun</strong> Codd‘schen <strong>Anforderungen</strong> <strong>für</strong><strong>Datenbanksysteme</strong>1. Integration: einheitliche nichtredundante Datenverwaltung2. Operationen: Speichern, Suchen, Ändern (ad hoc und “fest verdrahtet”)3. Katalog: Zugriffe auf Datenbankbeschreibung im “Data Dictionary“4. Benutzersichten: unterschiedliche Sichten auf Datenbankausschnitte5. Konsistenzüberwachung: Gewährleistung der Korrektheit desDatenbankinhaltes gegenüber Schema6. Datenschutz: Ausschluss unautorisierter Zugriffe7. Transaktionen: mehrere Operationen als Funktionseinheit8. Synchronisation: parallele Transaktionen koordinieren9. Datensicherung: Wiederherstellung von Daten nach Systemfehlern[Codd, E.: Relational database: A practical foundation for productivity.Communications of the ACM, 25:2, 109-117, 1982]23b) Überlegt euch Szenarien, wann ein DBMS nicht eingesetzt werden sollte?


Grundlagen DatenbankenSommersemester 2006Gregor EngelsH. Voigt, C. Kemper, D. Fisseler, A. CherchagoAufgabe 2 (Konzeptioneller Entwurf)Datenbankentwurfsschritte in der ER-Modellierung:Von der Anforderungsanalyse (Pflichtenheft) zum konzeptionellen Entwurf (Entity-RelationshipSchema)Transformiere die textuelle Beschreibung in ein ER-Schema. Dokumentiere deine Zwischenschritte!a) <strong>Anforderungen</strong> aus Verbandssicht:1 Sportbezirke haben einen Namen.2 Eine Liga hat einen Namen.3 Ein Sportbezirk verwaltet eine Menge von Ligen.4 Ligen können unterschiedlich viele Teams haben.5 Eine Saison findet immer in einem bestimmten Jahr statt.6 Für diese Saison gelten dann spezielle Punkteregelungen <strong>für</strong> Siege, Unentschieden undNiederlagen.7 In einer Saison sind beliebig viele Ligen am Spielbetrieb beteiligt.8 Teams kennzeichnen sich durch einen Vereinsnamen und durch eine Nummer.9 Zudem haben sie einen Namen.10 Teams spielen regelmäßig in einer Liga - Ausnahmen hiervon sind eher selten.11 Jede Liga wird in der Regel von einem Sportbezirk verwaltet.12 Um die Stärke einer Liga zu dokumentieren, wird ihr in einer Saison eine Stufe zugewiesen.13 Über mehrere Jahre gesehen kann eine Liga unterschiedliche Stufen haben.b) <strong>Anforderungen</strong> aus Vereinssicht:1 Vereine haben einen eindeutigen Namen.2 Vereine kommen aus Orten, die auch einen Namen haben, und gehören normalerweise zueinem Sportkreis.3 Für jede Saison muss das entsprechende Jahr gespeichert werden.4 Ein Team kann in einer Saison an einer Liga teilnehmen und dabei Siege, Unentschiedenund Niederlagen davontragen sowie Tore und Gegentore haben.5 Vereine bestehen aus Teams, die einen Namen haben und sich anhand einer identifizierendenNummer unterscheiden.6 Es gibt aber auch Teams, die in keinem Verein organisiert sind.7 Ein Team belegt in einer Saison eine Position in einer Liga.8 Ein Sportkreis hat einen Namen.9 <strong>Die</strong> Ergebnisse der Spieltage sollen nicht gespeichert werden.


Grundlagen DatenbankenSommersemester 2006Gregor EngelsH. Voigt, C. Kemper, D. Fisseler, A. CherchagoAnhang: Informeller Konstruktionsprozess <strong>für</strong> den Entwurf von ER-Schemata1. Anforderungsanalyse• Analysiere die <strong>Anforderungen</strong> und filtere Mehrdeutigkeiteno Überprüfe Synonyme und Homonymeo Ersetze vage Begriffe durch Fachvokabularo Verdeutliche Abhängigkeiten zwischen Begriffeno Erstelle ein Glossar• Partitioniere die Sätze in homogene Gruppen2. Sichtenentwurf• Bestimme zuerst Entity-Typeno Untersuche da<strong>für</strong> die in den <strong>Anforderungen</strong> vorkommenden Substantiveo Vorsicht: In seltenen Fällen können auch Verben zu Entity-Typen werden• Bestimme Relationshipso Identifiziere eigenständige und abhängige Entity-Typeno Finde funktionale Abhängigkeiteno Finde weitere Beziehungen zwischen Entity-Typeno Lege Kardinalitäten fest• Bestimme Vererbungsbeziehungen• Bestimme Attributeo Untersuche da<strong>für</strong> die restlichen Substantive und alle Eigenschaftswörtero Definiere Attribut-Typeno Wie hoch ist die Anzahl der möglichen Wiederholungen eines Attributs?Falls <strong>für</strong> ein Attribut mehrer Werte vorliegen können als Entity-Typ modellierenFalls <strong>für</strong> ein Attribut kein oder ein Wert vorliegen kann als optionales Attributemodelliereno Gibt es Attribute, die in mehreren Entity-Typen bzw. Relationships vorkommen?Evtl. als Entity-Typ modellieren und entsprechend verknüpfen. Umgekehrte Verfeinerungist ebenfalls möglich• Qualitätssicherung: Überprüfe dein ER-Schema auf Korrektheito Vollständigkeit – Prüfe, ob alle <strong>Anforderungen</strong> beachten wurdeno Minimalität – Prüfe dein ER-Schema auf RedundanzenHast du den zu modellierenden Problembereich korrekt abgegrenzt?o Widerspruchsfreiheit – Prüfe dein ER-Schema auf Konflikte3. Sichtenanalyse• Analysiere die modellierten Sichten in Bezug auf die folgenden Aspekteo Namenskonflikteo Typkonflikteo Wertebereichskonflikteo Bedingungskonflikteo Strukturkonflikte4. Sichtenintegration• Integriere die Sichten in ein Gesamtschema. Hier müssen die im vorherigen Schritt erkanntenKonflikte aufgelöst werden, um ein konsistentes Gesamtschema zu erhalten.• Qualitätssicherung: Überprüfe dein Gesamtschema auf Korrektheito Vollständigkeit – Prüfe, ob alle <strong>Anforderungen</strong> beachten wurdeno Minimalität – Prüfe dein ER-Schema auf RedundanzenHast du den zu modellierenden Problembereich korrekt abgegrenzt?o Widerspruchsfreiheit – Prüfe dein ER-Schema auf Konflikte

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!