Datenbanken KE2 Flashcards
Welches Datenmodell ist heute das wichtigste unter den Verschiedenen Datenmodellen, die vom DBMS unterstützt werden?
Das relationale Datenmodell
Welche Datenmanipulationssprache hat sich zum relationalen Datenmodell durchgesetzt?
SQL
Im relationalen Modell werden die Daten der realen Welt als eine Sammlung von Relationen dargestellt.
Wie kann man sich eine Relation anschaulich vorstellen?
Anschaulich kann man sich eine Relation als Tabelle vorstellen.
Entities und Beziehungen werden über solche Tabellen modelliert.
Wie ist eine Relation mathematisch definiert?
Sind D_1, D_2, …, D_n Mengen von Werten, so ist
R Teilmenge von D_1 x D_2 x…x D_n eine n-Stellige Relation über den Mengen (domains) und n ist der Grad (degree) der Relation.
-> Teilmengen aus den Kartesischen Produkt von Mengen
Was beschreib ein Tupel einer Relation im Bezug auf ein relationale Datenmodell?
Ein Tupel einer Relation beschreibt ein Entity, über die Kombination seiner Werte
Was wird durch das Relationenschema beschrieben?
Die Eigenschaften einer Relation
Was beschreibt R(A_1,…,A_n)?
Ein Relationenschema R(A_1,…,A_n) spezifieziert eine Relation mit Namen R und mit den paarweise verschiedenen Attributen A_1,…, A_n . Jedem Attribut A_i ist ein Wertebereich dom(A_i) zugeordnet.
Geben Sie ein Beispiel für ein Relationenschema.
ANGEST(ANGNR, NAME, WOHNORT, BERUF, GEHALT, ABTNR)
Was ist der unterschied zwischen einem Relationenschema und einer Relation?
Die Relation ist die Ausprägung des Relationenschemas.
Beispiel:
Relationenschema: ANGEST(ANGNR, NAME, WOHNORT, BERUF, GEHALT, ABTNR)
Relation: (198, ‘SCHMIDT‘, ‘KARLSRUHE‘, ‘KAUFMANN‘, 7500, 4)
In der Vorstellung von Relationen in Tabellen, was entsprich
einer Zeile?
einer Spalte?
Zeilen: Tupel der Relation
Spalte: Namen der Attribute
Wie nennt man eine Relation, bei der jedes Attribut elementar ist?
erste Normalform (1NF)
Was ist das Schema der (relationalen) Datenbank?
- Die Gesamtheit der Relationsschemata einer Datenbank
- Menge der Integritätsbedinungen
Was ist die auffälligste Eingenschaft des relationalen Datenmodells?
Relationsschema als einziges Konzept zur Modellierung von Daten
Entities und Beziehungen werden als Relationen ausgedrückt.
Was ist ein candidate key?
- Eine Relation wird durch Attributmengen ausgedrückt, wenn diese minimal sind nennen wir sie Schlüssel.
- Ein Primärschlüssel wird erklärt, wenn mehrere Schlüssel möglich sind
- Die anderen Schlüssel sind dann die candidate keys
Man sagt ein relationales Datenmodell ist abgeschlossen. Was meint man damit?
Ebenso wie alle Daten in der Datenbank als Relationen dargestellt werden, ist auch das Ergebnis einer Abfrage (Query) eine Relation
Welche grundlegende Ansätze gibt es für eine Datenmanipulationssprache?
- Relationenalgebra
- Relationenkalkül
Was ist eine Relationenalgebra?
Spezifikation von gewünschten Relationen durch
Angabe einer Folge von Operationen, mit der die Relationen aufgebaut werden sollen.
Der Benutzer wendet spezielle Operationen auf Relationen an, um seine gewünschte Relation zu konstruieren
Was ist ein Relationenkalkül?
Spezifikation von gewünschten Relationen in
deskriptiver Weise (ohne Angabe, welche Operationen zum Aufbau der Relation verwendet werden sollen).
Mit Hilfe des Prädikatenkalküls wird die Menge der gewünschten Tupel beschrieben:
es wird ein Prädikat (eine Bedingung) angegeben, das die Tupel erfüllen müssen.
Was ist ein Retrieval?
ein Retrieval ist der Kern jeder Datenmanipulationssprache, es sind diejenigen Komponenten, die die Datenauswahl (Lesen der gewünschten Daten) betreffen.
Was definiert eine Relationenalgebra?
Eine Relationenalgebra defniert eine Menge von Operattionen auf Relationen, mit deren Hilfe neue Relationen erzeugt werden können.
Welches sind die Grundoperationen der relationalen Algebra?
- Vereinigung (Voraussetzung vereinigungsverträglich) -> V=R U S
- Differenz (Voraussetzung vereinigungsverträglich) ->D=R-S
- Kartesisches Produkt -> K=R x S
- Projektion (entfernen von Attributen aus Relationen) -> P =π_(Ril,…,Rik)
- Selektion (jedes Tupel muss für sich nachprüfbar sein) -> S=o_B(R)
nicht relationale Algebra aber notwendig bei Namenskonflikten:
- Umbenennung U=p_R1‘,…,Rn‘
Welche zusätzlichen Operationen gibt es neben den Grundoperationen in der Relationenalgebra?
- Verbund/Join V=R „Fliege“
- Natürlicher Verbund / Natural Join V=R „Fliege“ S
Welche Operation beschreibt ein Verbund/Join?
Mit dem Verbund werden diejenigen Tupel aus zwei Relationen kombiniert, die bzgl. jeweils eines Fledes aus beiden Relationen einem vorgegeben Vergleich genügen
Welche Operation beschreib der Natürliche Verbund/Natural Join?
MIt dem natürlichen Verbund werden diejenigen Tupel aus zwei Relationen so kombiniert, dass jeweils die Werte der Attribute gleichen Namens aus beiden Relationen übereinstimmen. Im Ergebnis sind diese Attribute nur einmal vorhanden
In was lässt sich der Relattionenkalkül unterteilen?
- Werte-orientiertes Relationenkalkül
- Tupel-orientiertes Relationenkalkül
Was ist der Unterschied zwischen dem Werte-orientierten und dem Tupel-orientierten Relationenkalkül?
Tupel orientiert: Variablen bezeichnen ganze Tupel
Werte orientier: Variablen bezeichnen einzelne Komponenten des Tupels
in einem Relationenkalkül wird die Abfrage
FINDE DIE WOHNORTE ALLER ANGESTELLTEN DIE PROGRAMMIERER SIND
als
{(ANGEST.WOHNORT)|ANGEST.BERUF=‘PROGRAMMIERER‘}
ausgedrückt
Beschreibe den Syntax
Form {t|q}, wobei t eine Liste von Attributname (Schema der gewünschten Relation) und q ein Prädikat (Qualifikationsteil, der die gewünschten Tupel für t spezifiziert)
Ein Prädikat q ist ein logischer Ausdruck von beliebiger Komplexität.
Aus was wird dieser logische Ausdruck aufgebaut?
- Attributnamen
- Konstanten
- Vergleichsoperatoren
- boolschen Operatoren
- Existenzquantoren
- Allquantoren
- Tupelvariablen
Was ist eine Tupelvariable?
Eine Tupelvariable ist eine Variable, die ein Tupel einer Relation bezeichnet
Wann ist eine Tupelvariable in einem Audruck gebunden?
wenn sie Quantifiziert ist (Allquantor, Existenzquantor)