Ergänzung Flashcards

(31 cards)

1
Q

Funktionale Abhängigkeit

A

Gleichzusetzen mit superschlüssel? Eine funktionale Abhängigkeit innerhalb einer Relation Rzwischen den Attributmengen X und Y besteht genau dann, wenn für beliebige Tupel von R der Attributwert von X den Attributwert von Y festlegt. X wird die Determinante von Y genannt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vollfunktionale Abhängigkeit

A

Gleichzusetzen mit Kandidatenschlüsel. Y heißt voll funktional abhängig von X, wenn aus der Attributmenge X kein Attribut entfernt werden kann ohne die funktionale Abhängigkeit zu zerstören. Schreibweise X–>Y

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Schlüssel

A

Ein Schlüssel ist ein Attribut oder eine Attributkombination, mit dem eine Entität eines Entitätstyps eindeutig identifiziert werden kann.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Superschlüssel

A

EIn superschlüel ist eine Menge von einem oder mehreren Attributen, die ein Tupel in einer Relation garantiert eindeutig identifizieren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Kandidatenschlüssel

A

Ein schlüsselkandidat ist ein minimaler Superschlüssel

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Primärschlüssel

A

Genau ein Schlüsselkandidat wird als Primärschlüssel festgelegt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Fremdschlüssel

A

Ein Fremdschlüssel ist eine Menge von Attributen in einer Referenzierenden Relation, deren Werte garantiert als Primärschlüssel in der referenzierten Relation vorkommen. Fremschlüssel sind in der referenzierenden Relation nicht eindeutig.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

6 Inverenzregeln

A

Reflexivität, Aufmentation, Transitivität, Zerlegungs, Vereinigungs, Pseudotransitivität

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

O/R Mapper

A

Bildet die zwischenschicht zwischen Anwendung und Datenbank. Erledigt das Mapping von Objekten auf Relationen. Transparent für den Anwendungsentwickler.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Attribut

A

Attribute sind die (Spalten) der Relation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Domäne

A

Definiert den Wertebereich von Attributen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Relation und Tupel

A

Eine Relation des Schemas R ist eine Menge von Tupeln. Jedes Tupel ist eine geordnete Liste von Werten

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Reflexivitätsregel

A

Y ⊆ X ⟹ X → Y

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Augmentationsregel

A

X → Y ⟹ XZ → Y Z

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Transitivitätsregel

A

X → Y ∧ Y → Z ⟹ X → Z

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Zerlegungsregel

A

X → Y Z ⟹ X → Y

17
Q

Vereinigungsregel

A

X → Y ∧ X → Z ⟹ X → Y Z

18
Q

Pseudotransitivität

A

X → Y ∧ W Y → Z ⟹ W X → Z

19
Q

DBMS vs. Filesystem

A

Dateisystembasierte Datenspeicherung gewährt keine logische und physische Datenunabhängigkeit
Konkurrierende Zugriffe im Dateisystem quasi nicht möglich
Integritätsbedingungen müssen durch den Entwickler implementiert werden
Unzureichende Zugriffskontrollen

20
Q

DB vs. DBMS

A

Eine Datenbank ist eine physische Sammlung von Daten, die einen Ausschnitt der realenWelt beschreiben.
Unter Daten verstehen wir bekannte Tatsachen, die aufgezeichnet werden können und eine implizite
Bedeutung haben. Ein Datenbankmanagementsystem ist ein Softwaresystem, welches dem Benutzer das
Erstellen und die Pflege einer Datenbank ermöglicht.

21
Q

ANSI/SPARC-Modell

A

Eine Datendatei kann z. B. als XML-Datei oder in einem Binärformat auf der Festplatte abgelegt werden,
das DBMS muss das Format kennen (internes Schema) und danach auf der konzeptuellen Ebene
Relationen zur Verfügung stellen. Auf den Relationen können dann Views gebildet werden, die z. B. nur
einen Teilausschnitt aus den Daten beinhalten oder Aggregatfunktionen berechnen.

22
Q

Erläutern Sie (formal) die Bestandteile einer Relation r und begründen Sie,

  1. warum unter den Tupeln t1 . . . tm 2 r keine Reihenfolge existiert
  2. warum die Werte v1 . . . vn eines Tupels tj eine geordnete Liste sind
A

Formal ist eine Relation R eine Teilmenge des kartesischen Produktes von Mengen (und somit wiederum
eine Menge). Eine Domäne D ist eine Menge atomarer, d.h. nicht weiter teilbarer Werte. Ein Attribut Ai
ist die Rollenbezeichnung einer Domäne D innerhalb einer Relation. Die Domäne eines Attributs A wird
geschrieben als dom(Ai). Ein Relationenschema R(A1,A2, . . . ,An) besteht aus dem Relationsnamen R
und den Attributen A1,A2, . . . ,An. Eine Relation r des Schemas R(A1,A2, . . . ,An), auch geschrieben
als r(R), ist eine Menge von n-Tupeln r = {t1, t2, . . . , tm}. Jedes n-Tupel tj ist eine geordnete Liste
von Werten tj = (v1, v2, . . . , vn), wobei gilt: 8vi 2 tj : vi 2 dom(Ai) Da in einer Menge keine Ordnung
besteht, kann daher auch in den Tupeln einer Relation keine Ordnung vorausgesetzt werden. Ein einzelnes
Tupel entstammt jedoch dem kartesischen Produkt der entsprechenden Domänen und ist daher eine
geordnete Liste.

23
Q

Erläutern Sie,

  1. warum die Operationen [, \ und − Schemagleichheit der beteiligten Relationen erfordern
  2. warum die Operation × paarweise Disjunktheit der Attributnamen der beteiligten Relationen fordert
  3. warum die Operation notwendig ist
  4. aus welchen Basisoperationen die abgeleitete Operation on hergeleitet werden kann
A

Ein Superschlüssel ist eine Menge von einem oder mehreren Attributen, von denen alle anderen Attribute
funktional abhängig sind. Ein Superschlüssel garantiert damit die eindeutige Identifizierbarkeit des Tupels.
Ein Schlüsselkandidat ist ein minimaler Superschlüssel, d. h. die Attributmenge, von der alle andern Attribute
der Relation funktional abhängen, kann nicht weiter verkleinert werden. Genau ein Schlüsselkandidat
wird als Primärschlüssel festgelegt.
Beispiel: Artikel(EAN, LfdNr, Regalnr, Regalfachnr, Name, Stückzahl)
Superschlüssel
– EAN, LfdNr, Regalnr, Regalfachnr, Name
– EAN, LfdNr, Regalnr, Regalfachnr
– Regalnr, Regalfachnr
– EAN
– …
Kandidatenschlüssel
– EAN
– LfdNr
– Regalnr, Regalfachnr
Gewählter Primärschlüssel
– EAN

24
Q

Erläutern Sie

  1. die Unterschiede zwischen einem Theta-Join, einem Equi-Join sowie einem Natural Join
  2. das Ergebnis eines natürlichen Verbundes zweier Relationen, deren Attributlisten paarweise disjunkt
    sind
  3. einen full outer join anhand eines selbst erstellten Beispiels
    DHBW
A
  1. Der Theta-Join ist die allgemeine Form des Joins mit der Möglichkeit, die Verbundattribute sowie
    den Vergleichsoperator explizit zu setzen. Der Equijoin ist ein Theta-Join, der auf Gleichheit der
    Verbundattribute prüft. Der Natural Join ist ein Equijoin, der auf den gleichnamigen Attributen der
    beteiligten Relationen arbeitet.
  2. Das Resultat ist ein Kreuzprodukt.
  3. Full Outer Join mit den beteiligten Relationen:
    Person(PNR, Vorname, Nachname)
    Mitarbeiter(PNR, Login, Password)

PNR Vorname Nachname Login Password
4711 Hans Mustermann null null
4712 null null emfr abcd
4713 Otto Schmidt oschm qwertz

Person Nr. 4711 ist kein Mitarbeiter, für Mitarbeiter 4712 existiert kein Eintrag in Person, 4713 ist
Person und Mitarbeiter.

25
FOREIGN KEY
ON UPDATE CASCADE SET NULL NO ACTION ON DELETE CASCADE SET NULL NO ACTION
26
Wahrheitstabelle
``` true & false = false true & null = null false | null = false true | null = true true| null = null !null = null ```
27
API Struktur
(RESULT SET -> Statement; RESULT SET -> PreparedStatement ) -> Connection -> DriverManager
28
3-Tier
Client: Präsentation der Daten Middle: Anwendungslogik Server: Datenhaltung Modifizierbar ohne Einflüsse auf andere
29
drei SQL befehle
boolean Statement.execute(String sqlbefehl) Führt den SQL-Befehl aus. Rückgabewert true , wenn Ausführung erfolgreich Resultate können danach mit der Methode getResult() abgerufen werden. ResultSet Statement.executeQuery(String sqlbefehl) Führt den SQL-Befehl aus und gibt das Resultat als RÜckgabewert zurück Das ResultSet ist null im Fehlerfall int Statement.executeUpdate(String sqlBefehl) Führt den SQL-Befehl aus. Eine Rückgabe von Ergebnissen wird nicht erwartet Der Rückgabewert beinhaltet die Anzahl der betroffenen Tupel
30
Korrelierende
``` SELECT * FROM Kunde k WHERE EXISTS (SELECT * FROM Ranking WHERE KNR = k.KNR AND Ranking = 'A'); ```
31
Nicht korrelierende
SELECT * FROM Kunde k | WHERE k.KNR IN (SELECT KNR FROM Ranking WHERE Ranking = 'A');