Modellierung

Klausurvorbereitung Modellierung

Klausurvorbereitung Modellierung


O. S.
Diese Lernkarten behandeln fortgeschrittene Themen der Datenbankmodellierung und -abfrage auf Universitätsniveau. Sie decken Schlüsselkonzepte wie Tabellen, Attribute, Primär- und Fremdschlüssel, sowie verschiedene Arten von Beziehungen und Normalformen ab. Zudem werden SQL-Abfragen, Diagramme wie Entity-Relationship-Modelle und BPMN-Gateways erklärt. Die Karteikarten sind besonders nützlich für Studierende und Fachleute, die ihr Verständnis von Datenbankdesign und -abfrage vertiefen möchten, indem sie komplexe Konzepte und deren praktische Anwendung lernen.
Cartes-fiches
56
Utilisateurs
1
Langue
Allemand
Catégorie
Informatique
Niveau
Université
Créé / Mis à jour
05.09.2015 / 08.09.2015

Cartes-fiches

Was sind Eigenschaften eines Datenbank Management Systems?

  • organisiert sehr hohe Mengen an Daten
  • unterstützt effizienten Zugang zu diesen Daten
  • unterstützt ggf.s auch den paralellen Zugriff auf diese Daten
  • unterstützt sicheren atomaren Zugang zu ihnen

Was sind Eigenschaften einer Datenbank?

  • Fehlertoleranz
    • Aufzeichnung von Daten während einer normalen Operation
    • Automatische Reperatur
      • rückgängig machen von nicht beendeten Operationen
      • beenden von abgeschlossenen Transaktionen
  • Mehrbenutzeroperationen
    • gleichzeitiger Zugriff von verschiedenen Benutzern auf die gleichen Daten
    • Synchronisierung

Transaktionseigenschaften (ACID)

  • Atomizität: Transaktionensänderungen sind atomar, entweder alle Änderungen werden aufgenommen oder gar keine; dies beinhaltet Datenbankänderungen, Nachrichten und Aktionen auf den Transducer
  • Konsistenz: Transaktionen müssen korrekt verlaufen und nicht die Intigrität eines Zustandes ändern
  • isolierte Ausübung: trotz Gleichzeitigkeit darf eine Transaktion T nur vor oder nach einer anderen Transaktionen angewendet werden, nicht beides gleichzeitig (keine Verschachtelung)
  • Dauerhaftigkeit:  Daten nach dem erfolgreichen Abschluss einer Transaktion sind garantiert dauerhaft in der Datenbank gespeichert 

Welche Datenbank Entwurfssprachen gibt es?

  • Entity-Relationship Model ERM
  • Unified Model Langugage UML
  • Extended Markup Language XML
  • Standard for the Exchange of Product Defintion Data STEP

Was ist eine Entität?

Eine Entität ist ein Ding, das existiert (physisch und mental) und unterscheidbar ist von anderen Objekten

Was ist eine Entitätsmenge?

Eine Menge von Entitäten des gleichen Typs, die die gleichen Eigenschaften teilen

Was ist eine Datenbank  (ER-Modell)?

Eine begrenzte Anzahl an Entitätsmengen, die sich nicht unbedingt klar von einander abgrenzen müssen (Person kann z.B. auch Kunde sein und umgekehrt)

Was ist eine Relation?

Eine Verbindung unter mehreren Entitäten

Was ist eine Relationsmenge?

Eine mathematische Relation zwischen mehr als 2 Entitäten und Entitätenmengen: \(R\subseteq E_1 \times E_2 \times E_3 \times ...\times E_n \) mit \(n\geq 2\)    und\(\Rightarrow R=\{(e_1,e_2,...,e_n)|e_1 \in E_1, e_2 \in E_2 ,...,e_n \in E_n \}\)und \((e_1,e_2 ,...,e_n )\) ist eine Beziehung.

 

 

Was ist eine Domain?

Eine Menge an erlaubten Werten

Was sind Attribute?

beschreibende Eigenschaften , die auch alle Entitätsmengen beschreiben (sie können simpel, zusammengesetzt, mehrwertig, nullwertig oder abgeleitet sein)

Was ist ein Super Key?

Ein Attribut, deren Werte eine Entitätsmenge eindeutig beschreiben

Was ist ein Candidate Key?

Ein Superkey, dass keine redundanten Attribute mehr hat und nicht weiter reduzierbar ist. Es kann mehr als nur einen Candidate Key geben.

Was ist ein Primary Key?

Einer von den Candidate Keys, dass sich dafür eignet die Entitätsmenge eindeutig zu identifizieren. Manchmal ist es nötig diesen künstlich zu erzeugen (z.B. Rentenversicherungsnummer).

Was ist ein Weak Entity Set?

Ein Entitätsmenge, die keinen Primary Key hat. Sie muss sich auf eine Strong Entity Set beziehen mittels one-to-many Verbindung.

Diagramme Entity-Relationship

Bild

Was ist Generalisierung?

  • Bottom-Up-Design Prozess
  • is-a Beziehung
  • rekursiv anwendbar, organisiert Klassen in Generalisierungshierarchie
  • analog Spezialisierung in top-down-Design Prozess

Wie vererben ER-Modelle?

  • Superclass Eigenschaften werden an Subklassen weiter vererbt
  • dadurch keine Wiederholung von beschreibenden Informationen (kürzer)
  • Fehlervermeidung
  • vererbt werden Attribute, Konstanten und default Werte, sowie Beziehungen, Methoden, Prädikate und Operationen

Was sind die fundamentalen Regeln des Relationalen Models?

  1. Jede Zeile (Tupel) ist einzigartig und beschreibt eine Entität der Miniwelt.
  2. Bedeutende Informationen werden einzig und allein durch Werte dargestellt.
  3. Jeder Datenwert ist ein atomares Datenelement in der Tabelle
  4. Ein Primärschlüssel existiert und machmal auch mehrere zusätzliche candidate keys.
  5. Die Anordnung von Zeilen ist nicht relevant.
  6. Die Anordnung der Spalten ist nicht relevant.

Was ist ein foreign key?

Ein foreign key, das sich auf eine Tabelle R1 bezieht ist ein (zusammengesetztes) Attributschlüssel einer Tabelle R2 für die das folgende immer wahr ist:

Für jeden Wert (nicht NULL) des foreign key muss der gleiche Wert für den Primärschlüssel oder candidate key  in Werten von R1 existieren. 

Was gilt für foreign keys?

  • sie können NULL Werte haben, wenn sie nicht Teil eines Primärschlüssels sind.
  • candidate keys dürfen keine NULL Werte haben
  • Eine Tabelle kann mehrere foreign keys haben, die zu einer anderen oder zur gleichen Tabelle referenzieren.
  • referenzierte und referenzierende Tabelle müssen nicht unbedingt verschieden sein (selbstreferezierend)
  • Zyklen sind möglich.

Welche Regeln  gelten für zwei Entitätsmengen und Many-To-Many Relationsmengen?

- Relation hat ebenfalls Tabelle mit Fremdschlüsseln = Primärschlüsseln der zugehörigen Entities

Zwei Entitätsmengen + One-To-Many Relationsmenge

Die n-entity bekommt als Fremschlüssel dne Primärschlüssel der 1-entity. Ausnahme: die Relation hat zusätzliche Attribute, dann Extratabelle für die Relation

Schwache Entitätsmenge

Zwei Tabellen. 3 Tabellen nur wenn die Relation beschreibende Attribute hat.

Relationale Algebra (Operatoren)

  • Selektion : \(\delta_p(R)\) Ausfall einer Spalte einer Tabelle durch Prädikate. Ergebnis ist Teilmenge der Tabelle.
  • Projektion:  \(\pi_p(R)\)wählt Teilmenge der Attribute aus, also Spalten. Duplikate werden entfernt.
  • Vereinigung:  \(R'=R_1\cup R_2\)nur bei gleichen Schemata anwendbar, vereinigt zwei Tabellen.
  • Differenz: \(R'=R_1-R_2\) nur bei gleichme Schemata anwendbar, entfernt R2 von R1
  • Kreuzprodukt:  \(R'=R_1\times R_2\)Schemata egal, jedes Tupel aus R1 wird mit jedem Tupel aus R2 zusammengeführt
  • Umbenennung:  \(R'=\rho_{R'}(R)\)Alias wird definiert, möglichst ist auch eine Umbenennung von einzelnen Atributen
  • Join: Karthesisches Produkt und Selektion (Hintereinanderausführung \(\Rightarrow R\bowtie _{Ausdruck}S:=\delta_{Ausdruck}(R\times S)\)

Wie sieht eine typische SQL Anfrage aus?

SELECT  A1, A2,…An  (Attribute)

FROM     r1, r2, … rm (Tabellen bzw. Relationen)

WHERE P                        (Prädikat)

Das Resultat einer SQL Anfrage ist eine Tabelle

Wie verhindert man Duplikate im Ergebnis der SQL Anfrage wie verhindert man dies?

Durch das Keyword DISTINCT nach SELECT

SELECT   DISTINCT projectno

Durch das Keyword ALL nach SELECT wird das verhindert.

Was bewirkt das Keyword BETWEEN in der WHERE Abfrage?

Beschränkt den Ausgabebereich

WHERE   budget BETWEEN 200000

AND         10000000

Was macht die FROM Klausel?

Sie entspricht dem karthesischem Produkt der Tabellen die gescannt werden.

Welche String Operationen gibt es in SQL?

(%): Suche nach Substrings (Anknüpfungen)

(_): Suche nach Einzelzeichen

Was bewirkt das Keyword ORDER BY?

Ergebnis in aufsteigender Reihenfolge (default) oder absteigend mit Keyword DESC

FROM            parts

ORDER BY  description DESC

Was bewirkt ein * ?

Auswahl aller Attribute in der Tabelle

Welche arithmetischen Operationen gibt es bei SQL Abfragen als Keyword?

  • AVG: Durschnittswert
  • MIN: Minimum
  • MAX: Maximum
  • SUM: Summe
  • COUNT: Anzahl an Zeilen oder Werten (wie viele verschiedene Werte?)

Beispiel: Durchschnittsbudget aller Projekte:

SELECT   AVG(budget)

FROM      projects

Was bewirkt GROUP BY?

Gruppierung nach Attribut

Was bewirkt die HAVING Klausel?

Muss nach GROUP BY erfolgen. Bewirkt die Auswahl der Gruppen die ins Resultat einbezogen werden zu wählen.

Schritte einer SQL Abfrage

  1. Die Tabelle, die überprüft wird, wird aus der FROM Klausel bezogen
  2. Das karthesische Produkt aller Tabellen in der FROM Klausel wird gebildet
  3. Alle Zeilen, die die WHERE Klausel erfüllen, werden selektiert (das Prädikat muss wahr sein)
  4. Die Zeilen werden in verschiedene Gruppen getrennt, die von der GROUP BY Klausel bestimmt werden.
  5. Gruppen, die die HAVING Klausel erfüllen, werden selektiert
  6. Die Ausgabe wird von der SELECT Klausel abgeleitet
  7.  Die Ergebnistupel werden durch das ORDER BY geordnet.

Was bewirkt das Keyword IS NULL oder IS NOT NULL?

Überprüft auf NULL Werte

SELECT     partno

FROM        parts

WHERE     projectno IS NULL

Was sind Armstrong Axiome?

  • wenn \(\beta\subseteq\alpha\), dann  \(\alpha \rightarrow \beta\)(Reflexivität)
  • wenn \(\alpha\rightarrow \beta\), dann \(\gamma \alpha\rightarrow\gamma\beta\)  (Vermehrung/Augmentation)
  • wenn \(\alpha\rightarrow \beta \), dann \(\beta\rightarrow\gamma\) , dann \(\alpha\rightarrow \gamma\) (Transitivität)
  • Wenn \(\alpha\rightarrow \beta \)  und ,\(\alpha\rightarrow \gamma\) dann \(\alpha\rightarrow \beta\gamma\)  (Vereinigung)
  • Wenn \(\alpha \rightarrow\beta\gamma\)  und \(\alpha \rightarrow \beta\), dann  \(\alpha\rightarrow\gamma\)(Dekomposition)
  • Wenn \(\alpha \rightarrow \beta\) und \(\beta\gamma \rightarrow \delta\) , dann \(\alpha\gamma \rightarrow \delta\) (Pseudotransitivität)

Was ist der Closure Algorithmus?

R=(A,B,C,G,H,I)

F=(A -> B, A -> C, CG -> H, CG -> I, B -> H)

AG^+

Result =AG

=ABG

=ABCG

=ABCGH

=ABCGHI

Candidate key?

  1. AG -> R in F^+
  2. A -> R in F^+
  3. G -> R in F^+

Was sind die Kriterien für die First Normal Form?

  • Werte jedes Attributs sind atomar
  • Keine zusammengesetzten Werte
  • Alle Einträge in einer Spalte müssen gleichen Typs sein
  • Jede Spalte muss einen einzigartigen Namen haben
  • Keine zwei Zeilen dürfen identisch sein

Étudier