Ergänzung Flashcards Preview

DB > Ergänzung > Flashcards

Flashcards in Ergänzung Deck (31):
1

Funktionale Abhängigkeit

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

2

Vollfunktionale Abhängigkeit

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

3

Schlüssel

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

4

Superschlüssel

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

5

Kandidatenschlüssel

Ein schlüsselkandidat ist ein minimaler Superschlüssel

6

Primärschlüssel

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

7

Fremdschlüssel

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.

8

6 Inverenzregeln

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

9

O/R Mapper

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

10

Attribut

Attribute sind die (Spalten) der Relation

11

Domäne

Definiert den Wertebereich von Attributen

12

Relation und Tupel

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

13

Reflexivitätsregel

Y ⊆ X ⟹ X → Y

14

Augmentationsregel

X → Y ⟹ XZ → Y Z

15

Transitivitätsregel

X → Y ∧ Y → Z ⟹ X → Z

16

Zerlegungsregel

X → Y Z ⟹ X → Y

17

Vereinigungsregel

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

18

Pseudotransitivität

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

19

DBMS vs. Filesystem

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

DB vs. DBMS

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

ANSI/SPARC-Modell

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

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

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

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

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

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

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');