DBS Flashcards
IS
Informationssstem: DBS + Anwendungssysteme + Benutzerschnittstellen
DBS
Datenbanksystem: DB + Datenbankverwaltungssystem (DBVS, DBMS)
DBVS/DBMS
Datenbankverwaltungssystem: generisches Software-System zur Definition, Verwaltung, Verarbeitung und Auswertung der DB-Daten Einsatz für unterschiedlichste Anwendungen
ACID
Atomicity: “Alles oder nichts” - Fehlerisolierungn (UNDO) Consistency: erfolgreiche Transaktion erhält die DB-Konsistenz (Gewährleistung der definierten Integritätsbedingungen) - keine Anomalien und Redundanzen Integrity: alle Aktionen innerhalb einer Transaktion müssen vor parallel ablaufenden Transaktionen verborgen werden („logischer Einbenutzerbetrieb“) Durability: Überleben von Änderungen erfolgreich beendeter Transaktionen trotz beliebiger (erwarteter) Fehler (Persistenz, REDO)
Datenunabhängigkeit Definition + Typen
Maß für die Isolation zwischen Anwendungsprogrammen (AWP) und Daten (sonst: extremer Wartungsaufwand für die AWPs) - physisch: ggü. Art der physischen Datenspeicherung (Geräteeigenschaften, Indexstrukturen …) = Minimalziel - logisch: ggü. logischer Strukturierung der Daten (z.B. durch Sichten) – nur teilweise erreichbar
DBA + Aufgaben
Datenbankadministrator - Entwurf des externen/konzeptionellen/internen Schemas - Zugriffskontrolle auf externe Schemata - Definition und Implementierung von Integritätsbedingungen - Entwurf und Umsetzung einer Strategie für Datensicherung und Recovery
Data Warehouse
DB, in der Datenbestände aus unterschiedlichen Quellen für Analysen konsolidiert und integriert werden -> OLAP
OLAP
Online Analytical Processing - umfassende Auswertung/Analyse großer Datenbestände - meist über Data Warehouse - zur Unterstützung von Geschäftsentscheidungen (Vertriebskontrolle, Preisoptimierung, …)
OLTP
Online Transaction Processing - dominierende Einsatzform von DBS - vorgeplante Anwendungsprogramme (Produktbestellungen, Überweisungen, …) greifen auf DBs zu - TAs: kurz + häufig + wenige Daten
3-Ebenen-Architektur
- nach ANSI
- intern: physische Struktur der DB
-
konzeptuell:
- logische Sicht auf Struktur der Daten
- abstrahiert von interner Struktur -> physische Datenunabhängigkeit
-
extern: definiert Nutzersichten auf Struktur der Daten (für Nutzer/AWPs)
- Zugriffsschutz, Reduzierung der Komplexität
- abstrahiert vom konzeptuellen Schema -> teilweise logische Datenunabhängigkeit
ER
Entity-Menge
Definition
Zusammenfassung gleichartiger Entities (Entitäten mit den gleichen Attributen) - homogene Menge
Definition:
- eindeutiger Name
- Festlegung aller Attribute
- Angabe des Primätschlüssels
ER
schwache Entity-Menge
- Existenzabhängigkeit von anderer Entity-Menge
- kein eigener Schlüsselkanditat - Primärschlüssel teilweise von Vater-Entity
- 1:1 oder 1:n-Beziehung zu Vater-Entity-Menge
ER
Schlüsselkandidat
- Attribut oder Menge von Attributen einer Entity-Menge
- eindeutig für jede Entity der Menge
- kein Null-Wert
- minimal (Entfernen eines Attributes im Schlüsselkandidaten führt nicht zu einem neuen Schlüsselkanditaten)
ER
Primärschlüssel
- ausgewählter Schlüsselkandidat einer Entity-Menge
- ggf. mit lfd. Nummer erzeugt
ER
Relationship-Menge
- Zusammenfassung gleichartiger Beziehungen zwischen Entities, die jeweils gleichen Entity-Mengen angehören
- math. Relation zwischen n Entitymengen E1xE2x…xEn
- üblicherweise binär oder tertiär (n ε {2,3})
- kann selber Attribute haben
- keine Disjunktheit der beteiligten Entity-Mengen gefordert (rekursive Beziehungen) - mit Rollennamen möglich
ER
Diagrammsymbole
Modellierung
3 Abstraktionskonzepte
Klassifikation: fasst Objekte (Entities, Instanzen) mit gemeinsamen Eigenschaften zu einem neuen (Mengen-) Objekt (Entity-Menge, Klasse, Objekttyp) zusammen - Instanzen einer Klasse unterliegen gleicher Struktur (Attribute), gleichen Integritätsbedingungen, gleichen Operationen -> ER, UML
Aggregation: Zusammenfassung potentiell unterschiedlicher Teilobjekte (Komponenten) zu neuem Objekt – mathematisch: Bildung von kartesischen Produkten -> ER, UML
Generalisierung / Spezialisierung: Teilmengenbeziehungen zwischen Elementen verschiedener Klassen -> UML
- mathematisch: Bildung von Potenzmengen (bzw. Teilmengen)
- wesentlich: Vererbung von Eigenschaften an Teilmengen
UML
Assoziationen
- Repräsentation von Beziehungen
- optional: Assoziationsnamen + Leserichtung + Rollennamen + Sichtbarkeit von Rollen (+, -, #) + Kardinalitätsrestriktionen
- gerichtete Assoziationen: mit Pfeil
- Assoziationsklassen mit Strichellinie an Assoziationslinie
UML
zulässige Multiplizitätsfestlegungen
x .. y
0 .. *
1 .. *
0 .. 1
1
*
Relationsschema
Definition
R(A1,…,An)
- R = Name
- A1, …, An = Liste von paarweise entschiedenen Attributnamen bzw. ensprechenden Attributen
Attribut
Definition
- Name: A
- Wertebereich: W(A)
- Kontext: zugehöriges Relationsschema
- Semantik: oft implizit durch Name
Relation
Definition
- r(R) ist eine Relation r zu einem Relationsschema R
- Teilmenge des kartesischen Produkts der Attributwertebereiche
- Menge von Tupeln (Zeilen)
- RM -> nur atomare Werte (keine zusammengesetzten oder mehrwertigen Attribute)
Grad
Kardinalität
Grad = Anzahl der Attribute
Kardinalität = Anzahl der Tupel/Sätze/Zeilen
Äquivalenz von Relationen R und S
- alle Attribute stimmen überein
- Anordnung der Attribute von S ist durch Permutation der Attribute von R entstanden
Relationenmodell
Darstellung Primärschlüssel/Fremdschlüssel
Primärschlüssel o. (APK):PK
Fremdschlüssel: gepunktet unterstrichen + mit Pfeil o. (AFK):FK auf S
7 Aufgaben/Eigenschaften von DBS
- Zentrale Kontrolle über die operationalen Daten
- Hohe Datenunabhängigkeit
- Hohe Leistung und Skalierbarkeit
- Mächtige Datenmodelle und Abfragesprachen
- Transaktionskonzept (ACID)
- Automatisierte Zugriffskontrolle/Datenschutz
- Ständige Verfügbarkeit
UML
Spezialisierung/Generalisierung
- Def. + Eigenschaften
- Is-A-Beziehungen
- Vererbung von Eigenschaften der Oberklasse
- Subklasse: Klasse S, deren Entities eine Teilmenge einer Superklasse G sind, d. h. jedes Element (Ausprägung) von S ist auch Element von G.
- Z heisst vollständig (complete), falls gilt: G = Vereinigung Si (i = 1..n) andernfalls partiell (incomplete).
Z ist disjunkt (disjoint), falls Si Schnitt Sj = { } für i ungleich j andernfalls überlappend (overlapping).
UML
Aggregation
Referenzsemantik - Wertesemantik
- Zusammensetzung: part-of-Beziehung
- Elemente einer Subkomponente sind auch Elemente aller Superkomponenten dieser Subkomponente
- keine Vererbung
- Referenzsemantik: gleichzeitig Element verschiedener Komponenten -> Netzwerke, (n:m) !
- Wertesemantik (Komposition): genau zu einem Aggregat-Objekt; Existenzabhängigkeit!
Relationenmodell
Relationale Invarianten
- inhärente Integritätsbedingungen des Relationenmodells
1. Primärschlüsselbedingung (Entity-Integrität)
- Eindeutigkeit des Primärschlüssels / Minimalität
- keine Nullwerte!
- Fremdschlüsselbedingung (referentielle Integrität):
- zugehötiger Primärschlüssel muss existieren
- d.h. zu jedem Wert (ungleich Null) eines _Fremdschlüsselattribut_s einer Relation R2 muss gleicher Wert des _Primärschlüsse_ls in irgendeinem Tupel von Relation R1 vorhanden sein
- Nullwerte möglcih, wenn nicht Teil eines Primärschlüssels
- “zusammengesetzt“, wenn zugehöriger Primärschlüssel „zusammengesetzt“ ist
- Zyklen möglich (geschlossener referentieller Pfad)
- selbstreferenzierende Tabelle möglich
SQL
Wartung der referentiellen Integrität
- NOT NULL
- Löschregel für Zielrelation: ON DELETE {NO ACTION | CASCADE | SET NULL | SET DEFAULT }
- Änderungsregel fÜr Ziel-Primärschlüssel: ON UPDATE {NO ACTION | CASCADE | SET NULL | SET DEFAULT}
NO ACTION (Voreinstellung): Operation nur zugelassen, wenn keine Abhängigkeiten bestehen
Abbildung ERM / UML -> RM
Regeln
- jede Entity-Menge muss als eigenständige Relation mit einem eindeutigen Primärschlüssel definiert werden
- Relationship-Mengen können als eigene Relationen definiert werden, wobei die Primärschlüssel der zugehörigen Entity-Mengen als Fremdschlüssel zu verwenden sind
- n:m-Beziehungen müssen durch eigene Relation dargestellt werden
- RM unterstützt nicht Aggregation/Generalisierung
Generalisierung im RM
4 Arten
- vertikale Partitionierung (ID dupliziert, sonst nur nicht vererbte Attribute) - jede Instanz in Subklasse gespeichert
- horizontale Partitionierung (jede Instanz ist genau einmal und vollständig in ihrer „Hausklasse“ mit allen (ererbten) Attributen gespeichert – keinerlei Redundanz)
- volle Redundanz (eine Instanz wird wiederholt in jeder Klasse, zu der sie gehoört, mit eigenen + ererbten Attributen gespeichert)
- Wide Table (eine einzige Tabelle mit allen Attributen, mit NOT NULL auffüllen)
Relationenalgebra
Definition
System, das aus einer nichtleeren Menge und einer Familie von Operationen besteht
- Relationen sind Mengen
- Operationen auf Relationen arbeiten auf einer oder mehreren Relationen als Eingabe und
erzeugen eine Relation als Ausgabe (Abgeschlossenheitseigenschaft) => mengenorientierte Operationen
Relationenalgebra
Klassische Mengenoperationen u. Relationenoperationen
Klassische Mengenoperationen
- Vereinigung
- Differenz
- kartesisches Produkt
- Durchschnitt (ableitbar)
Relationenoperationen
- Selektion
- Projektion
- Verbund (Join) (ableitbar)
- Division (ableitbar)
Relationenalgebra
Selektion
- Def.
- Schreibweise
- Grad/Kardinalität
Auswahl von Zeilen einer Relation über Prädikate
Relationenalgebra
Projektion
- Def.
- Schreibweise
- Grad/Kardinalität
Auswahl der Spalten (Attribute) A1, A2, . . . , Ak aus einer Relation R
Relationenalgebra
Theta-Join, Equijoin
Natural Join
- kartesisches Produkt zwischen zwei Relationen
- eingeschränkt durch θ -Bedingungen zwischen Attribut A von R und Attribut B von S.
- Equijoin: θ ist ‘=’
- Natural Join: Gleichverbund über alle gleichnamigen Attribute und Projektion über die verschiedenen Attribute
Relationenalgebra
Semi-Join
Ergebnisbeschränkung des Gleichverbundes auf eine der beiden Eingaberelationen
Relationenalgebra
(Left/Right) Outer Join
- Ziel: Verlustfreier Verbund soll erzwungen werden
- verlustfrei = alle Tupel von R und S nehmen am Verbund teil
- inverse Operation Projektion erzeugt dann wieder R und S (lossless join)
- durch Einfügen künstlischer Verbundpartner
Relationenalgebra
Division
- Simulation des Allquantors => ein Tupel aus R steht mit allen Tupeln aus S in einer bestimmten Beziehung
- Zusammenhang mit kartesischen Produkt: (RxS) / S = R