Datenbanken KE3 Flashcards

1
Q

Prozeduale Sprachelemente bilden eine Erweiterung von SQL. In der Datenbank gespeicherte Prozeduren bieten neben den Operationen zum Einfügen, Ändern und Löschen an das Anwendungsgebiet angepasste Operationen an.
Welche Vorteile besitzen Prozeduren gegenüber einer Folge von generischen SQL-Anweisungen?

A
  • einmalige Definition und Mehrfachausführung.
  • Ein- und Ausgabeparameter
  • Datenbank kann eine Prozedur vorverarbeiten
  • Reduktion der Übertragungszeit
  • Ersparnis von Bandbreite
  • Vorteile bei der Zugriffskontrolle
  • Erleichterung für Konsistenzprüfungen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wann werden Prozeduren in SQL eingesetzt?

A
  • wenn die Operationen (UPDATE, INSERT) nur in Kombination mit weiteren Befehlen aufgerufen werden sollen
  • wenn eine Beschleunigung bei wiederkehrender Benutzung gewünscht ist.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Zeichne den Syntax von Prozeduren.

A

CREATE PROCEDURE ()
IS
BEGIN

END

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

Die Definition von Funktionen unterscheidet sich nur in einer Zeile von der der Prozeduren, welche?

A

RETURN

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

Ein Trigger ist einer Prozedur sehr ähnlich, da beide Sprachelemente eine Folge von Anweisungen darstellen, die als Einheit ausgeführt werden.

Was ist also der Unterschied zwischen Porzeduren und Triggern?

A

Im Gegensatz zu einer Prozedur wird ein Trigger nicht explizit aufgerufen, sondern in der Definition des Triggers wird zusätzlich angegeben, bei welchen Ereignissen der Trigger ausgeführt werden soll.

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

Wie lautet der Syntax von Trigger?

A

CREATE TRIGGER [BEFORE|AFTER]
[INSERT, UPDATE, DELETE] ON
[FOR EACH ROW]
BEGIN

END;

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

Was ist Cursor?

A

Cursor sind ein Hilfsmittel, um bei der imperativen Programmierung, welche tupel-orientiert ist, einen Zugriff auf die Ergebnisse der SQL-Queries, welche mengenorientiert sind, zu erhalten.

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

Die Art der Abarbeitung einer Abfrage ist entscheidend für den notwenigen Aufwand. Eine günstige Ausführungsstrategie kann gegenüber einer naiven Vorgehensweise erheblich Auführungszeit einsparen.

Welcher Teil des DBMS kann hier Abfrageoptimierung betreiben?

A

Der Query-Prozessor (für die Abfrageverarbeitung zuständig)

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

Abfrageoptimierung ist ein sehr komplexes Problem. Allerdings ist der Begriff irreführend, da die Systeme in Wirklichkeit nicht optimieren.
Was können sie stattdessen nur?

A

Sie ermitteln lediglich eine mit großer Wahrscheinlichkeit gute Ausführungsstrategie

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

Welche faktoren sind bei der Optimierung zu berücksichtigen?

A
  • Wie kann die Abfrage umformuliert werden, sodass sie äquivalent zur ursprünglichen Abfrage ist?
  • Welche statistischen Daten liegen vor?
  • Sind die Tupel einer Relation sortiert?
  • Welche Zugriffspfade gibt es?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Im Kurstext werden zwei Möglichkeiten zur Optimierung genannt - welche?

A
  • Algebraische Optimierung

- Optimierung auf der physischen Ebene

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

Welches sind die heuristischen Regeln für die algebraische Optimierung?

A
  • Selektionen auf dem gleichen Operanden werden zu komplexen Selektionen zusammengefasst
  • Selektionen werden möglichst früh ausgeführt
  • Projektionen, die keine Eliminierung von Duplikaten erfordern, werden so früh wie möglich, jedoch nicht vor einer Selektion durchgeführt.
  • Projektionen, die eine Eliminierung von Duplikaten erfordern, sind soweit als möglich zur Wurzel des Operatorbaumes zu verschieben.
  • Suche gemeinsame Teilbäume de Operatorbaums. Wenn Ergebnis des gemeinsamen Teilausdrucks eine Relation ist, die vom Sekundärspeicher in sehr viel kürzerer Zeit gelesen werden kann, als zu ihrer Berechnung notwendig ist, so lohnt es sich , diese Zwischenrelation nur einmal zu berechnen und abzuspeichern
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was ist ein Operatorbaum?

A

Ein Operatorbaum einer Abfrage zeigt:

  • zu bearbeitende Relationen (Rechteck, Blätter)
  • auszuführenden Operationen (Ellipse)
  • Präzedenzen zwischen den Operatoren (Gerichtete Kanten)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wie kann auf der physischen Ebene optimiert werden?

A
  • Ausnutzung von Sekundärindexen

- Sortierung von R nach A und von S nach B (ausnutzen von Sortierverfahren)

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

Was sind die Softwareschichten eines DBMS?

A
  • Datenmanager
  • Zugriffsmanager
  • Systempuffer-Manager
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was ist die Aufgabe des Systempuffer-Managers im DBMS?

A

Der Systempuffer-Manager stellt den höheren Schichten des DBMS die Seiten zur Verfügung, auf denen sich die benötigten Daen befindne.
Befindet sich eine benötigte Seite noch nicht im Systempuffer, so ruft er sie vom Betriebssystem ab und platziert sie im Systempuffer

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

Die Seitenverwaltung in Datenbanksystemen muss zusätzliche Anforderungen erfüllen, welche?

A
  • bei Recovery dürfen die Seiten nicht beliebig in die Datenbank geschrieben werden (pinned pages)
  • bei Recovery müssen Seiten gelegentlich auf den Externspeicher zurückgeschrieben werden, obwohl der Platz im Systempuffer gar nicht benötigt wird (forced output)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Was ist der Zugriffsmanager?

A

Der Zugriffsmanager stellt eine Schnittstelle zur Verfügung, n der einzelne Tupel und logische Zugriffspfade angesprochen werden können. (ein-Tupel-Schnittstelle mit Tupel und Indexe).

Wie die Zugriffspfade physisch implementiert sind und wie Tupel intern als Sätze dargestellt werden, weiß nur der Zugriffsmanager.

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

Welche Operatoren stellt der Zugriffsmanager zur Verfügung?

A
  • Zugriff auf Tupel mit gegebenen Attributwerten
  • Zugriff auf Tupel aufgrund ihrer Position in einem Zugriffspfad
  • Bereitstellen eines Tupels in einem Übergabebereich
  • Einfügen, Löschen eines Tupels
  • Verändern von Attributwerten eines Tupels
  • Operatoren für Schemata
  • Operatoren für das Transaktionsmanagement
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Was ist die Aufgabe des Datenmanagers?

A
  • Anweisungen der relationalen Sprache in entsprechende Aufrufe des Zugriffsmanagers umzusetzen
  • Zugriffsberechtigungen der Benutzer zu allen in den Anweisungen referenzierten Daten überprüfen
  • Integritätskontrolle durchführen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Der Entwurfsprozess der Datenbank ist ein Bestandteil des Software-Entwurfsprozesses für das Informationssystem des Unternehmens.
Welche Phasen durchläuft der Lebenszyklus eines solchen Informationssystems?

A
  1. Machbarkeitsanalyse
  2. Erfassung und Analyse der Anforderungen
  3. Entwurf
  4. Implementierung
  5. Validierung und Abnahmetests
  6. Installation, Betrieb, Wartung
22
Q

Welche Ziele verfolgt der Datenbank-Entwurf?

A
  • Erfüllung der Anforderungen, die an die Dateninhalte gestellt werden
  • Bereitstellung einer natürlichen und verständlichen Strukturierung der Informationen
  • Unterstützung der Verarbeitungsanforderungen
23
Q

In welche Phasen wird der gesamte Datenbank-Entwurfsprozess unterteilt?

A
  1. Erfassung und Analyse der Anforderungen
  2. Konzeptueller Datenbankentwurf
  3. Wahl des DBMS
  4. Abbildung des Entwurfes auf das Datenmodell
  5. Physischer Datenbank-Entwurf
  6. Implementierung des Datenbanksystems und Tuning
24
Q

Was ist das Ziel des konzeptuellen Entwurfs?

A

ein Datenbank-Schema zu erstellen, das unabhängig von einem bestimmten Datenbanksystem ist und deshalb durch eine konzeptuelle Modellierungssprache dargestellt werden kann.

25
Q

Welche Vorteile bietet die Erstellung eines DBMS-unabhängigen konzeptuellen Modells?

A
  • Die modelle von Datenbanksystemen haben typischerweise spezielle Einschränkungen, die den konzeptuellen Entwurf nicht beeinflussen sollten
  • größere Flexibilität bei der Implementierung/Plattformwechsel:
    Das konzeptuelle Schema bleibt stabil, selbst wenn sich das eingesetzte Datenbanksystem ändern sollte
  • Modell kann auf eine Weise präsentiert werden, die auch für Laien verständlich ist.
26
Q

Zwischen welchen beiden prinzipiellen Ansätzen kann bei der Erstellung eines komplexen Datenbankschemas unterscheiden?

A
  1. Zentraler Schema-Entwurf

2. View-Integration

27
Q

Was zeichnet den Zentralen Schema-Entwurf aus?

A

Die Integration der verschiedenen Anforderungen wird vor dem Schema-Entwurf durchgeführt. Anschließend werden die externen Views definiert.

28
Q

Wie geht man bei der View-Integration vor?

A

Die Anforderungen der einzelnen Anwendungen werden direkt in konzeptuelle Schemata umgesetzt.
Anschließend werden diese Teilschemata integriert zu einem globalen konzeptuellen Schema für die gesamte Datenbank.

Vorteil: Modellierung selbst dezentral und erst in der anschließenden Integrationsphase werden die verschiedenen Sichten zusammengefasst.

29
Q

Welche Aktivitäten beinhaltet die Integrationsphase des View-Integrations-Ansatz zur Erstellung eines komplexen Datenbankschemas?

A
  • Identifizierung von gemeinsamen Konzepten
  • Bei Unterschieden der gemeinsamen Konzepten müssen Teilschemata modifiziert werden, um sie konform zu machen
  • Mischen von Teilschemata
  • globale Schema wird umstrukturiert um Redundanzen und unnötige Komplexität zu eleminieren
30
Q

Was sind die Regeln für die Transformation von ER-Diagrammen in relationale Datenbankschemata?
Bei starken Entity-Typen?

A

Starke Entitytypen werden in eine Relation/Tabelle überführt, die die entsprechenden (Schlüssel-) Attribute der Entity als Spalten enthält.

31
Q

Was sind die Regeln für die Transformation von ER-Diagrammen in relationale Datenbankschemata?
n:m-Beziehungstypen?

A

n:m-Beziehungstypen bspw. zwischen den Entity-Typen A und B werden in eine eigene Relation X überführt. Dabei sind die Primärschlüssel der Relationen A und B jeweils Fremdschlüssel in X, die Summe der Schlüssel ist wiederum Primärschlüssel von X

32
Q

Was sind die Regeln für die Transformation von ER-Diagrammen in relationale Datenbankschemata?
bei 1:n Beziehungstypen?

A

keine zusätzliche Relation

der Primärschlüssel der Relation auf der 1-Seite wird als Fremdschlüssel der n-Relation hinzugefügt.

33
Q

Was sind die Regeln für die Transformation von ER-Diagrammen in relationale Datenbankschemata?
1:1-Beziehungstypen

A

hier hat man die Wahl, welche Seite mann den Primärschlüssel als Fremdschlüssel hinzufügt. Sinnvolles wählen empfohlen (z.B. is tABT-Leiter in einer Relation Abteilung geschickter als LEITET_ABT bei ANGEST, da jede Abteilung geleitet wird, aber nicht jeder Angestellte eine leitet-> viele NULL-Werte)

34
Q

Was sind die Regeln für die Transformation von ER-Diagrammen in relationale Datenbankschemata?
bei schwachen Entity-Typen?

A

Schwache Entity-Typen bekommen eine eigene Relation, wenn sie nur durch eine andere Relation identifiziert werden können, ist diese der Owner-Typ dessen Primärschlüssel als Fremdschlüssel in die schache Relation eingefügt wird. Dort bildet er zusammen mit dem partiellen Schlüssel den Primärschlüssel

35
Q

was ist ein partieller Schlüssel?

A

Menge der Attribute, die ein Entity innerhalb der Menge aller schwachen Entities, die zu einem Owner gehören, identifizieren

36
Q

Was sind die Regeln für die Transformation von ER-Diagrammen in relationale Datenbankschemata?
Bei Mehrwertigen Beziehugnstypen?

A

Mehrwertige Beziehungstypen werden grundsätzlich in eine eigene Relation überführt. Dabei werden die Primärschlüssel der beteiligten Entity-Typen als Fremdschlüssel sowie alle Attribute des Beziehungstypen in die neue Relation eingebaut. Der Primärschlüssel ist hier für die Kombination aller Fremdschlüssel

37
Q

Was sind die Regeln für die Transformation von ER-Diagrammen in relationale Datenbankschemata?
Für Supertyp/Subtyp-Hierarchien?

A

Hier gibt es mehrere Umsetzungsmethoden:

  1. Je eigene Relation für jede Subrelation, die jeweils nur ihrer speziellen Attribute enthält, nicht die ihres Supertyps. Primärschlüssel ist jeweils der Primärschlüssel des Supertyps, diese sind zugleich Fremdschlüssel, wenn sie auf den Supertyp verweisen.
  2. Relation nur für den Supertyp, die Attribute der Subtypen werden in dieser integriert.
38
Q

Eine Relation sollte Informationen beinhalten, die tatsächlich auch logisch zusammengehören. Schwächen im Schema sind Abhängigkeiten von Dingen, die logisch nicht voneinander abhängen sollen.

Welche dieser Schwächen (Anomalien) unterscheiden wir?

A
  1. Einfüge-Anomalie
    Ein neues Tupel kann erst eingetragen werden, wenn alle X Informationen vorliegen. Falls Nullwerte erlaubt sind, gibt es dann Probleme falls die fehlende Info zum Schlüssel gehört.
  2. Lösch-Anomalie
    Wird eine Information aus der Relation entfernt, so gehen mehr Informationen verloren, als gewollt war. Tritt oft auf wenn in einer Relation mehr als eine Entity vertreten ist!
  3. Änderungs-Anomalie
    Falls eine Änderung der Daten vorgenommen werden muss, muss dies an mehreren Stellen in der Relation geschehen, da sonst die Konsistenz bedroht ist.
39
Q

Wodurch entstehen Anomalien?

A

Anomalien entstehen durch Auftreten bzw. Nichterkennen von funktionalen Abhängigkeiten.

40
Q

Was ist funktionale Abhängigkeit und wie wird sie formal definiert?

A

Ein Attribut B ist von einem Attribut A funktional abhängig, wenn es zu jedem A genau ein B gibt.

Wenn zwei Tupel einer Relation gleiche Werte für alle Attribute in A haben und auch ihre B-Werte übereinstimmen, dann ist B von A funktional abhängig. Anders formuliert, bestimmen die A-Werte eindeutig die B-Werte

Definition:
Sei R(A_1,A_2,...,A_n) ein Relationenschema und X und Y Teilmengen von {A_1, A_2,...A_n}. Dann ist Y funktional abhängig von X, geschrieben X->Y, wenn es keine Relation vom Typ R geben kann, in der zwei Tupel denselben Wert für X, aber verschiedene Werte für Y haben.
41
Q

Was ist Closure von F?

A

Die enge F+ aller funktionalen Abhängigkeiten, die von F impliziert werden, heißt Closure von F

42
Q

Wie ist die voll funktionale abhängigkeit definiert?

A

Für eine Fd-Menge F und eine funktionale Abhängigkeit X->Y \in F+ heißt Y voll funktional abhängig von X, genau dann wenn es keine echte Teilmenge X‘ von X gibt, so dass X‘->Y \in F+

Beispiel:
ADRESSE ist voll funktional abhängig von LIEFERANT, aber nicht von {LIEFERANT, ARTIKEL}

43
Q

Was ist ein Schlüssel in der Terminologie von funktionaler Abhängigkeit?

A

X ist Schlüssel von {A_1,…A_n} genau dann, wenn X->{A_1,…,A_n} \in F+ und {A_1,…A_n} ist voll funktional abhängig von X}

44
Q

Was ist ein Schlüsselattribut / Nicht-Schlüsselattribut?

A

Wir nennen A ein Schlüsselattribut des Relationenschemas R, wenn A Element irgendeines Schlüssels von R ist; andernfalls nennen wir A Nichtschlüsselattribut.

45
Q

Was gilt für die ERste Normalform (1NF)?

A

Die Werte der Wertebereiche jedes Attributes sind unteilbare Werte und bestehen nicht ihrerseits wieder aus Mengen oder Tupeln

46
Q

Beschreibe die zewiete Normalform (2NF)

A

jedes Nichtschlüsselattribut A von R ist voll funktional abhängig von jedem Schlüssel X von R

47
Q

Beschreibe die Dritte Normalform

A

Ein Relationenschema R mit Fd-Menge F ist in dritter Normalform, wenn für alle X->A \in F+ mit A \notin X gilt: X enthält einen Schlüssel für R oder A ist Schlüsselattribut.

Anders formuliert, die dritte Normalform ist verletzt, wenn es eine funktionale Abhängigkeit X-> A gibt, so dass X Nichtschlüssel und A Nichschlüsselattribut ist.

48
Q

Beschreibe die Boyce-Codd Normalform (BCNF)

A

Relation R ist in BCNF, wenn für jede funktionale Abhängigkeit X->A \in F+, A \notin X gilt: X enthält einen Schlüssel für R

Hier sind also auch funktionale Abhängigkeiten zwischen Nichtschlüsseln und Schlüsselattributen verboten

49
Q

Warum macht es manchmal Sinn bei der 3ten NF nicht zu BCNF überzugehen?

A

es kann es sein, dass bei dieser Form funktionale Abhängigkeiten verloren gehen, deshalb kann es Sinn
machen, nach der 3NF zu stoppen und eine fd-treue Zerlegung zu garantieren.

50
Q

Zur Optimierung von Abfragen auf der physischen Ebene kann das Ausnutzen eines Sekundärindex nützlich sein. Um was handelt es sich dabei?

A

Ein Sekundärindex ist eine zusätzliche Datenstruktur mi einem Verzeichnis von Wertepaaren mit der Struktur (, )
Der Einsatz eines Sekundärindexes kann Sinn machen, wenn häufig nach einer bestimmten Merkmalsausprägung gesucht werden.

Da der Sekundärindex zusätzlich zu der Speicherung der Orginaldaten angelegt wird, ist bei Änderung des Datenbestandes auch eine Änderung des Sekundärindexes erforderlich. Daher muss der Einsatz im Einzelfall abgewägt werden.