TU Wien:Datenbanksysteme VU (Skritek)/Zusammenfassung Test 1

Aus VoWi
Zur Navigation springen Zur Suche springen

Für den Stoff vom 2. Test, siehe hier.

Datenbankmanagementsystem (DBMS)
Gesamtheit der Programme zum Zugriff auf die (im DBMS) gespeicherten Daten.
Datenbasis
Als Datenbasis bezeichnet man die in einem DBMS gespeicherten Daten.
Datenbankschema
Das Datenbankschema legt die Struktur der Daten fest.

Entity-Relationship (ER) Modell

[Bearbeiten | Quelltext bearbeiten]
  • Entitytypen: Rechtecke
  • Beziehungstypen: Rauten
    • Es gibt zwei Notationen für Kardinalitäten, die verschiedenes ausdrücken:
      • Funktionalitäten — wie viele Entitäten sind in einer Relation?
      • (min,max) Notation — wie viele Relationen kann eine Entität insgesamt haben?
  • Attribute: Ellipsen
    • Im Schlüssel enthaltenen Attribute werden unterstrichen.
  • Generalisierung notiert mit Pfeilen
Schwache Entities
Entities, deren Existenz von einer anderen, ̈ubergeordneten Entity abhängen und die durch eine Kombination mit dem Schlüssel der übergeordneten Entity identifizierbar sind.

Relationales Modell

[Bearbeiten | Quelltext bearbeiten]
Schlüssel
Ein Schlüssel ist eine minimale Menge von Attributen, deren Werte ein Tupel eindeutig identifizieren.
Fremdschlüssel
Eine Menge von Attributenwelche auf den Schlüssel einer (anderen) Relation verweist.

Datenabfragesprachen

[Bearbeiten | Quelltext bearbeiten]

Relationale Algebra und Relationenkalkül bilden die theoretische Grundlage für SQL, sind gleich ausdrucksstark und relational abgeschlossen.

Relationale Algebra

[Bearbeiten | Quelltext bearbeiten]

Siehe auch de.wikipedia:Relationale Algebra.

  • Basisoperatoren
σF(R) Selektion
πA(R) Projektion — Duplikate werden eliminiert
R∪S Vereinigung att(R)=att(S)
R−S Mengendifferenz att(R)=att(S)
R×S kartesisches Produkt (Kreuzprodukt)
ρA←B(R) Umbenennung von Attributen
ρV(R) Umbenennung von Relationen
  • ⋈ natürlicher Join
  • ⟕, ⟖, ⟗ linker, rechter bzw. voller äußerer Join
  • ⋊, ⋉ linker bzw. rechter Semi-Join
  • ∩ Durchschnitt
  • ÷ Division

Relationenkalkül

[Bearbeiten | Quelltext bearbeiten]

{t∣P(t)}

Relationale Tupelkalkül
[Bearbeiten | Quelltext bearbeiten]

Atome:

  • t∈R — Tupelvariable in Relation
  • s.A ϕ t.B — Vergleich zweier Tupelvariablen (ϕ∈{=,≠,<,≤,>,≥})
  • s.A ϕ c — Vergleich einer Tupelvariablen mit einer Konstanten
Relationale Domänenkalkül
[Bearbeiten | Quelltext bearbeiten]

Atome:

  • [v1,…,vn]∈R — Domänenvariablen in Relation
  • x ϕ y — Vergleich zweier Domänenvariablen
  • x ϕ c — Vergleich einer Domänenvariable mit einer Konstante
  • SQL stellt keinen Allquantor zur Verfügung. Realisierung durch
    • Logische Äquivalenz (mittels 2x NOT EXISTS)
    • Teilmengen (mittels EXISTS und EXCEPT)
    • Abzählen (mittels COUNT)
    • Division (mittels EXCEPT)
  • GROUP BY ... [HAVING ...]
  • COALESCE

Funktionale Abhängigkeiten

[Bearbeiten | Quelltext bearbeiten]
Notation
  • Ein Relationenschema bezeichnet eine Menge von Attributen ℛ={A,B,C,…}.
  • Eine Relation R enthält Tupel (Zeilen), die dem Relationenschema entsprechen.
  • Die Attributmengen α,β,γ,… enthalten alle Ausprägungen eines Attributs.

Sei ℛ ein Relationenschema und α∈ℛ,β∈ℛ. Eine Funktionale Abhängigkeit (FD) ist eine Beziehung α→β ("α bestimmt β").

Eine funktionale Abhängigkeit ist genau dann erfüllt, wenn ∀x,y∈R:x.α=y.α⟹x.β=y.β.

In SQL kann man funktionale Abhängigkeiten wie folgt überprüfen. Die Query darf keine Ergebnisse liefern.

select * from R r1 , R r2 where r1.α = r2.α and r1.β != r2.β;
Hülle γ+ einer Attributmenge γ
Enthält alle Attribute welche von der Attributmenge γ funktional abhängen.
Ableitung von FD-Mengen F1⊨F2
Jede Relation welche alle FDs in F1 erfüllt, erfüllt auch alle FDs in F2.
Hülle F+ von FD-Menge F
Die Menge aller aus F ableitbaren FDs.
Armstrong Axiome
Sind vollständig (erzeugen alle implizierten FDs) und korrekt (erzeugen nur gültige FDs).
  • Reflexivität α→β,β⊆α
  • Verstärkung α→β⟹αγ→βγ
  • Transitivität α→β∧β→γ⟹α→γ
Dararus folgen:
  • Vereinigung α→β∧α→γ⟹α→βγ
  • Dekomposition α→βγ⟹α→β∧α→γ
  • Pseudotransitivität α→β∧γβ→δ⟹αγ→δ

Aufgrund der Reflexivität gilt α→α. Definitionsgemäß gilt dies auch wenn man die linke Seite erweitert: αβ→α

Äquivalenz von FDs F≡G
Zwei Mengen von FDs sind äquivalent, wenn sie dieselbe Hülle besitzen.

Kanonische Überdeckung

[Bearbeiten | Quelltext bearbeiten]

Kanonische Überdeckung FC

  1. FC+=F+
  2. In FC existieren keine FDs, die überflüssige Attribute enthalten.
  3. Jede linke Seite einer FD in FC ist einzigartig.

Sie kann wie folgt berechnet werden:

  1. Zerlege alle FDs mittels Dekomposition auf der rechten Seite.
  2. Führe für jede FD α→B∈F die Linksreduktion durch.
    Entferne A∈α falls B∈AttrHülle(F,α−A).
  3. Führe für jede (verbliebene) FD α→B∈F die Rechtsreduktion durch.
    Entferne die Abhängigkeit falls B∈α:B∈AttrHülle(F−(α→B),α).
  4. Fasse mittels der Vereinigungsregel FDs zusammen.
Schlüssel γ⊆ℛ
γ→ℛ und γ ist minimal.
Superschlüssel
γ→ℛ.

Entwurfstheorie und Zerlegung

[Bearbeiten | Quelltext bearbeiten]

Korrektheitskriterien für die Zerlegung von Relationenschemata:

Verlustlosigkeit
Die in der Ausprägung R des Schemas ℛ enthaltenen Informationen müssen aus den Ausprägungen R1,…,Rn der neuen Schemata ℛ1,…,ℛn rekonstruierbar sein.
Abhängigkeitstreue
Die auf ℛ geltenden funktionalen Abhängigkeiten müssen auf die Schemata ℛ1,…,ℛn übertragbar sein.
1. Normalform
Ein Relationenschema, wenn die Domänen atomar sind.
2. Normalform
Eine Relation modelliert nur Informationen von einem Konzept. Nur von historischem Interesse, da es immer noch zu Anomalien kommen kann.

Für jede auf ℛ geltende FD der Form α→B,α⊆ℛ,B∈ℛ gilt mindestens eine der folgenden Bedingungen:

  1. B∈α (trivial)
  2. α ist Superschlüssel von ℛ
  3. das Attribut B ist in einem der Schlüssel von ℛ enthalten
Synthesealgorithmus
  1. Bestimme kanonische Überdeckung Fc zu F.
  2. Für jede FD α→β∈Fc:
    • Erstelle ein Relationenschema ℛi:=α∪β
    • Orde ℛα die FDs Fi:=Fc[ℛi] zu.
  3. Enthält keines der in Schritt 2. erzeugten Teilschemata einen Schlüssel von ℛ bzgl. Fc⟹, wähle einen Schlüssel k∈ℛ aus und definiere folgendes zusätzliche Schema: ℛk:=k mit Fk:=∅.
  4. Eliminiere die in einem anderen Schema ℛj enthaltenen Schemata ℛi.

Boyce-Codd Normalform (BCNF)

[Bearbeiten | Quelltext bearbeiten]

Für jede auf ℛ geltende FD der Form α→B,α⊆ℛ,B∈ℛ gilt mindestens eine der folgenden Bedingungen:

  1. B∈α (trivial)
  2. α ist Superschlüssel von ℛ
Dekompositionsalgorithmus
  1. Starte mit Z={(ℛ,F)}
  2. Solange es Relationenschema (ℛi,Fi)∈Z gibt, das die BCNF verletzt
Wähle eine solche FD α→β aus und zerlege wie folgt:
  • ℛi1:=(α∪β),Fi1:=Fi+[ℛi1]
  • ℛi2:=ℛi−(β−α),Fi2:=Fi+[ℛi2]
Entferne (ℛi,Fi) aus Z und füge (ℛi1,Fi1) und (ℛi2,Fi2) ein.