Webcam Diggs Cam


Datenbankentwurf

Kapitel 2 - Prinzipien des Entwurfs

Inhalt
  • 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?

  1. Vollständigkeit
  2. Korrektheit
  3. Minimalität
  4. Lesbarkeit
  5. 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!

  1. Anforderungsanalyse und -spezifikation (Herausfinden was gewollt wird)
  2. Konzeptueller Entwurf (ER-Diagramm, Beschreibung etc.)
  3. Logischer Entwurf (Umsetzung in ein Daten-Modell wie z.B. das Relationelle)
  4. Datendefinition (Implementierung des Schemas mit DDL)
  5. Physischer Entwurf (Tuning, Indexe u.s.w)
  6. 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 Logischer 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?

  1. Definition des internen Schemas
  2. Wahl geeigneter Speicherstrukturen
  3. Festlegung von Zugriffsmechanismen mit Ziel, Suchpfade zu minimieren
  4. 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?

ER-Diagramm
ER-Diagramm
ER-Diagramm
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

  1. Schlüsselbedingungen (primary key (idx))
  2. referentielle Integrität und Fremdschlüssel
  3. Attribut-Bedingungen (not null etc..)
  4. 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:
  1. transaktionsorientiert ( Überprüfung erfolgt im Kontext eines Programmes)
  2. 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

Printansicht Inhalt Anfang zurück vor
Kapitel 1DBMS Konzept
Eigenschaften, Bestandteile, Ebenen...
Kapitel 2DB Entwurf
Qualitätsmerkmale, funktionale Abhängigkeiten, ER...
Kapitel 3Normalformen
Übersicht Normalformen, Anomalien...
Kapitel 4Relationalität
Regeln und Vorgehensweisen...
Kapitel 5Sprachen
relationale Sprachen, SQL, Query...
Kapitel 6Datenorganisation
Tertiärspeicher, Adressierung, Indexe, ISAM...
Kapitel 7Transaktionskonzept
Datenintegrität, Serialisierbarkeit, ACID...
Kapitel 8Concurrency Control
Read-Write Modell, Schedules, Prinzip...
Kapitel 9Scheduler & Recovery
2-Phasen-Sperren,Deadlocks,Recovery...
PDF download:
Kleine ÜbersichtNormalformen
DMBSDMBS Bestandteile
Concurrency ControlConcurrency Control
All In OneKomplett (115 KByte)
Quellen:
Gottfried Vossen
Datenbankmanagementsysteme
Heuer und Saake
Konzepte und Sprachen
Prof. Benn
Skript und Vorlesung
Relationale Datenbanken
Andreas Kelz
Word Wide Web
Verschiedenste Seiten
Links:
Relationale Datenbanken
Andreas Kelz
ER Modell
Universität Wien

login

last change 06.04.2008 16:28:53  © 2002 - 2005 Holger Kreissl