Kapitel 2 - Prinzipien des Entwurfs
- Welche Qualitätsmerkmale sollten Schemas unterliegen?
- Die Hauptschritte des Datenbankentwurfs.
- Welche Mittel bietet das ER-Diagramm?
- Entities und Entity-Typen
- Aggregation und Generalisierung
- Was heißt Integrität?
- Assertions und Trigger zur Integritätsüberwachung.
|
Welche fünf wichtigen Qualitätsmerkmale sind zu beachten?
- Vollständigkeit
- Korrektheit
- Minimalität
- Lesbarkeit
- Modifizierbarkeit
Was heißt Vollständigkeit?
Vollständigkeit in Bezug auf den nachgebildeten Umweltausschnitt!
Was heißt Korrektheit des Datenbankschemas?
ist gegeben, wenn die Konzepte des betreffenden Datenmodells korrekt verwendet
werden und das Schema syntaktisch und semantisch Korrekt ist.
Was heißt Minimalität eines Datenbankschemas
in Bezug auf einmaliges vorkommen verschiedener Anforderungen. Gleichzustellen
mit Redundanzvermeidung, welche aber manchmal z.B. durch Normalisierung, sogar
erwünscht ist.
Was heißt Lesbarkeit des Schemas
durch z.B. ER-Diagramme (symmetrisch etc) und selbsterklärende
Entity-Bezeichnungen.
Was heißt Modifizierbarkeit eines Datenbank Schemas
durch gute Modularisierung und Dokumentation des Schemas.
Beschreiben sie die vier Schritte des Datenbankentwurfs!
- Anforderungsanalyse und -spezifikation (Herausfinden was gewollt wird)
- Konzeptueller Entwurf (ER-Diagramm, Beschreibung etc.)
- Logischer Entwurf (Umsetzung in ein Daten-Modell wie z.B. das Relationelle)
- Datendefinition (Implementierung des Schemas mit DDL)
- Physischer Entwurf (Tuning, Indexe u.s.w)
- Wartung
Die Schritte errinnern sehr an das veraltete Wasserfallmodell der
Softwaretechnik!
Welche Anforderungen werden an den Entwurfsprozeß gestellt?
- Informationserhalt
- Konsistenzerhaltung
- Redundanzfreiheit
- Vollständigkeit bezüglich Anforderungsanalyse
- Konsistenz des Beschreibungsdokuments
- Ausdrucksstärke, Verständlichkeit des benutzten Formalismus
- Formale Semantik der Beschreibungskonstrukte
- Lesbarkeit der Dokumente
Was gehört zur Anforderungsanalyse und -spezifikation?
- Informationsanforderung (statische Informationen und Integritätsbedingungen
- Bearbeitungsanforderungen (Analyse der Häufigkeit verschiedener Anfragen)
- Benutzergruppenanalyse
- Einsicht in vohandene Dokumentation
- Fragebögen und Besprechungen mit Betroffenen des modellierten
Umweltausschnitts
Was gehört zum Konzeptueller Entwurf?
- Erstellung eines Zielsystemunabhängigen Datenbankschemas
- z.B. als Entity-Relationship Modell
- Zusammensetzen von Einzelschichten (der jeweiligen Nutzergruppen) zu einem
global view
Was gehört zum logischen Entwurf?
- Umsetzung eines Konzeptuellen Schemas auf ein gewähltes DBMS
- Einhaltung von Transformationsregeln wie z.B. Normalisierung von Relationen
Was gehört zum physischen Entwurf?
- Definition des internen Schemas
- Wahl geeigneter Speicherstrukturen
- Festlegung von Zugriffsmechanismen mit Ziel, Suchpfade zu minimieren
- Später Tuning um Parametereinstellungen zu korrigieren
Welche Tuningmöglichkeiten gibt es dabei?
- Speicherformat (Records,Baum,Hash)
- Block- Seitenzuweisung auf Platte
- Clustering
- Indexauswahl
- Denormalisierung eines Schemas, falls häufig zwei Schemas in Anfragen wieder
zusammengesetzt werden müssen, nachdem diese durch Normalisierung zerlegt wurden
Welche Mittel bietet das ER-Diagramm?
- "Eine Relation entspricht einem Entity-Set" (Vossen Seite 115 unten)
- Eine Relation ist partiell, wenn sie partielle Tupel enthält, d.h. nicht
jedes Attribut einen Wert haben muß.
- Datenabhängigkeiten sind semantischer Natur und müssen zusätzlich betrachtet
werden.
- Entity Integrität ist die Forderung, daß Nullwerte auf Attribute
ausgeschlossen werden.
- Intraregionale Abhängigkeiten beziehen sich nur auf eine Attributmenge.
- 1NF bedeutet, daß alle Attribute elementar sind und nicht aus Sets oder
Mengen zusammengesetzt sind,
Was sind Entities und Entity-Typen?
Eine Entity beschreibt ein wohlunterscheidbares Objekt der realen Welt welche
mit anderen Objekten in Beziehung stehen. Entity-Typen beschreiben Klassen von
Objekten bzw. Entities gleicher Charakteristika und Eigenschaften, aber
unterschiedlicher Ausprägungen. Entities werden über Schlüssel identifiziert.
Was sind Quantifizierungen
Quantifizierungen werden im ER-Diagramm auf den Verbindungslinien angebracht
und beschreiben die Art der Beziehung (1:n,1:1 oder m:n).
Was ist ein schwacher Entity Typ?
Schwache Entities sind solche, welche nicht durch ihre eigenen Attribute
eindeutig identifizierbar sind und somit nicht autonom existieren können. Sie
werden im ER-Diagramm durch doppelt gerahmnte Rechtecke dargestellt.
Was ist Aggregation? (part of)
Mit Aggreagation bezeichnet man die Zusammenfassung verschiedener Objekte zu
einer Objekthierarchie, welche dann für bestimmte Betrachtungen als Ganzes bzw. als
Einheit betrachtet wird. Im ER-Diagramm werden einem obergordneten Entity-Typ
mehrere Entity-Typen untergeordnet, um eine Part-Of Hierachie herzustellen.
Was ist Generalisierung? (is a)
als Generalisierung wird die Zusammenfassung ähnlicher Objekte zu einem
generischen Objekttyp verstanden. Die Is-A Relation ist ein wesentliches Element
der Generalisierung. Dabei werden Attribute von Entities weiter oben in der
Hierarchie an die Entities nach unten hin vererbt. (Bsp: Student (Matr) IS-A
Uni-Mitglied (Name))
Was heißt Integrität von relationalen Datenbanken?
Gespeicherte Informationen in Datenbanken sind normalerweise bestimmten
Randbedingungen unterworfen. Sinn und Zweck ist, die gültigen Zustände aus der
Menge aller möglichen Zustände einer Datenbank herauszufiltern. Sind die
semantischen Bedingungen der jeweiligen Anwendung und werden zur Entwurfszeit der
Datenbank erstellt.
Welche Arten von Integritätsbedingungen gibt es?
Integritätskontrolle soll semantische Fehler und sinnlose Zustände der
Datenbank verhindern. Sie wird in der Regel dem DBMS überlassen, welches über einen
speziellen Monitor die Integrität der DB überwacht. Dies hat den Vorteil, dass im
Grunde alle Transaktionen problemlos gestartet werden können und selbst ad-hoc
Benutzer sich nicht um die Integrität der DB kümmern brauchen.
Was sind Statische Integritätsbedingungen?
Entstehen durch Festlegung des jeweiligen Schemas definierte Regeln. Bsp:
Jahr beetween 1900 and 2030
- Schlüsselbedingungen (primary key (idx))
- referentielle Integrität und Fremdschlüssel
- Attribut-Bedingungen (not null etc..)
- Bereichseinschränkungen (Check-Klausel)
Referentielle Integrität ist die Integrität von Fremdschlüsseln, die gegeben
ist, wenn der Fremdschlüssel entweder nur Nullwerte oder ausnahmslos keine
Nullwerte enthält. Falls keine Nullwerte exisitieren gibt es in beiden Relationen
ein Tupel, wo Fremdschlüssel und Schlüssen übereinstimmen. Falls die Referentielle
Integrität nicht gegeben ist würde bei Änderungen zu Inkonsistenten kommen
Erlaubte Änderungen sind:
- Einfügen eines Tupels verlangt, daß Fremdschlüssel auf existierendes Tupel in
verweist
- Ändern eines Tupels verlangt, daß der neue Fremdschlüssel auf existierendes
Tupel verweist.
- Ändern eines Primärschlüssels in R verlangt, daß kein Tupel aus S auf ihn
verwiesen hat.
- Löschen eines Tupels verlangt, daß kein Tupel aus der anderen Relation auf
ihn verwiesen hat.
Was sind transitionale Bedingungen?
Sind halbdynamische Bedingungen und schränken die möglichen Übergangszustände
ein.
Was sind dynamische Bedingungen?
Sind temporale Bedingungen und schränken als Verallgemeinerung der
transitionalen Bedingungen die möglichen Zustandsfolgen ein.
Was sind Assertions und Trigger?
Assertions und Trigger sind Mittel zur Integritätskontrolle. Assertions werden
durch "check" geprüft. Eine Assertion bildet meist eine Mengendifferenz und prüft,
ob eine gültige Teilmenge vorliegt. Bsp:
create assertion GueltigesFachgebiet
Check ( not exists
(select distinct Fachgebiet from Lektor
Except select distinct Fachgebiet from Buch)
)
Die Behanldung kann entweder immediate oder deferred
(verzögert) erfolgen.
Integritätsüberwachung:
- transaktionsorientiert ( Überprüfung erfolgt im Kontext eines Programmes)
- ereignisorientiert (durch Trigger definierte Bedingungen)
Trigger sind benutzerdefinierte Prozeduren, die automatisch bei Erfüllung
einer bestimmten Bedingung vom DBMS gestartet werden. Diese Prozeduren können
BEFORE oder AFTER gesteuert sein. Before-Trigger
werden oft genutzt, um Berechnungen vorzunehmen, um diese in die Integritätsprüfung
aufzunehmen. After-Trigger eignen sich besonders gut, um Änderungen in Tabellen zu
loggen, um z.B. Change Notes abzuspeichern.
Trigger z.B. werden gestartet, wenn eine Integritätsverletzung aufgetreten ist, um
diese zu beseitigen. Aktive DBMS verfolgen diese Strategie viel intensiver.
Ereignis -> Bedingung -> Aktion
|
|
|
|
|
|
Kapitel 1
|
DBMS Konzept
|
|
Eigenschaften, Bestandteile, Ebenen...
|
|
Kapitel 2
|
DB Entwurf
|
|
Qualitätsmerkmale, funktionale Abhängigkeiten, ER...
|
|
Kapitel 3
|
Normalformen
|
|
Übersicht Normalformen, Anomalien...
|
|
Kapitel 4
|
Relationalität
|
|
Regeln und Vorgehensweisen...
|
|
Kapitel 5
|
Sprachen
|
|
relationale Sprachen, SQL, Query...
|
|
Kapitel 6
|
Datenorganisation
|
|
Tertiärspeicher, Adressierung, Indexe, ISAM...
|
|
Kapitel 7
|
Transaktionskonzept
|
|
Datenintegrität, Serialisierbarkeit, ACID...
|
|
Kapitel 8
|
Concurrency Control
|
|
Read-Write Modell, Schedules, Prinzip...
|
|
Kapitel 9
|
Scheduler & Recovery
|
|
2-Phasen-Sperren,Deadlocks,Recovery...
|
|
|
|
|
|
|
Quellen:
|
Gottfried Vossen
Datenbankmanagementsysteme
|
Heuer und Saake
Konzepte und Sprachen
|
Prof. Benn
Skript und Vorlesung
|
Relationale Datenbanken
Andreas Kelz
|
Word Wide Web
Verschiedenste Seiten
|
|
|
|
|