Datenbanken Flashcards

1
Q

Was ist eine Datenbank?

A

Eine Datenbank ist eine integrierte Ansammlung von Daten, die allen Benutzern eines Anwendungsbereichs als gemeinsame Basis aktueller Information dient.

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

Welche Probleme gab es bei Dateisystemen?

A

Inkonsistenz der Daten, Redundanz, Daten-Programm-Abhängigkeit, Inflexibilität

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

Zeichnen Sie die Schichten einer Datenbank. Erklären Sie die einzelnen Schichten.

A

Interne Schicht, konzeptuelle Schicht, externe Schicht

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

Welche Aufgaben hat das DBMS?

A

Das Datenbankmanagementsystem ist eine Software, die allgemein gesprochen den Zugriff der Programmiererin auf die Daten regelt, also ermöglicht, Daten abzurufen, zu verändern, zu erstellen oder zu löschen und die Datenbank überhaupt aufzusetzen. Konkret übernimmt das DBMS die notwendigen Umsetzungen, ermittelt die Objekte und übergibt die gewünschten Daten in entsprechender Form an das Anwendungsprogramm. Es stellt die Isolationsschicht zwischen Datenbank und Programmierern dar, so dass diese nicht die interne Struktur der Datenbank kennen müssen.

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

Was ist das Modell der konzeptuellen Schicht?

A

Das konzeptuelle Modell ist ein Modell des Unternehmens bezüglich aller wesentlicher Daten, deren Beziehungen zueinander, Bedingungen, die für die Daten immer gelten oder Vorschriften für das Ändern von Daten machen (= Integritätsbedingungen), Vorschriften, welche Operationen ausgeführt werden dürfen.

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

Was ist das Entity-Relationship-Modell?

A

Das ER-Modell ist ein semantisches Datenmodell (eins der bekanntesten) zum Entwurf von Datenbanken, also für die konzeptuelle Ebene. Als Basiskonstrukte kennt es Entity-Typ (= Objekte gleicher Art), Beziehungs-Typ (= ihre Beziehungen zueinander), die wiederum Attribute haben. Entities können beliebig viele Instanzen haben und beliebig viele Beziehungen zueinander.

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

Schreiben Sie ein Relationenschema auf.

A

R=(A_1,…,A_n), R=Relationenschema, A_i=Attribute

Beispiel:
Kundenschema=(Kundennr, Name, Telefon)

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

Schreiben Sie die Definition einer Relation auf.

A

R Teilmenge D_1 x D_2 x … D_n ist eine n-stellige Relation über den Mengen und n ist der Grad der Relation

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

Was sind Relationenkalkül und Relationenalgebra?

A

Beides sind Spezifikationen der gewünschten Relationen. Eine Relationenalgebra tut dies durch Angabe einer Folge von Operationen, mit denen die Relation(en) aufgebaut werden sollen, beim Relationenkalkül wird - mit Hilfe des Prädikatenkalküls - die Menge der gewünschten Tupel beschrieben. Es wird ein Prädikat (= Bedingung) angegeben, das die Tupel erfüllen müssen.

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

Was ist funktionale Abhängigkeit?

A

In Prosa: Wenn bestimmte Attributwerte einer Relation von anderen Attributwerten derselben Relation abhängen.
Mathematisch: 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 den selben Wert für X, aber zwei verschiedene Werte für Y haben.

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

Schreiben Sie die Grundform einer Abfrage in SQL auf. Erklären Sie dazu die Semantik.

A

SELECT A_1,…, A_n
FROM R_1,…, R_n
WHERE Prädikat(R_1,…, R_n)

Ai ist ein Attribut einer der Relationen R1,…, Rn, Prädikat(R1,…, Rn) ist eine Bedingung, die Attributwerte mit Konstanten oder zwei Attributwerte eines Tupels miteinander vergleicht oder andere Operatoren auf die Attributwerte anwendet. Diese Teilbedingungen können durch die Booleschen Operatoren AND und OR miteinander verknüpft und mit NOT negiert werden.

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

Welche anderen Möglichkeiten gibt es Abfragen aufzuschreiben?

A

Mit Relationenalgebra oder Relationenkalkül.

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

Welche Operationen hat die Relationenalgebra?

A

Als Grundoperationen gelten Vereinigung, Differenz, Kartesisches Produkt, Projektion, Selektion. (evtl. Umbenennung - wird im Skript benutzt)

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

Können alle Relationen vereinigt werden?

A

Nein, sie müssen vereinigungsverträglich sein, die Teilmengen also bezüglich ihrer Bezeichnung und Wertebereiche übereinstimmen

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

Wie wird kartesisches Produkt gebildet?

A

Durch Kombination aller Attribute verschiedener Relationen

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

Welche Bedingung muss gelten, damit das kartesische Produkt gebildet werden kann?

A

Alle Attribute der betreffenden Mengen müssen verschieden sein.

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

Was ist ein Join?

A

Eine Kombination/Verbund von Tupeln aus zwei Relationen, die bzgl. eines Feldes aus beiden Relationen einem vorgegebenen Vergleich genügen.

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

Wie kann der Join in den Grundoperationen formuliert werden?

A

Kartesisches Produkt und Selektion

V = Sigma R_i theta S_j (R x S) (wobei theta = Verbundbedingung.

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

Was ist ein Natural Join?

A

Ein Verbund der Tupel aus zwei Relationen, bei denen denen jeweils die Attribute gleichen Namens aus beiden Relationen übereinstimmen (diese sind im Ergebnis nur einmal vorhanden)

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

Welche Grundoperation ist zusätzlich (im Vergleich zum Join) nötig um den Natural Join auszudrücken?

A

V = Sigma R_i = S_j (R x S), ‘=’ ist die konkrete Verbundbedingung theta)

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

Was ist ein Datenbank-Management-System (DBMS)?

A

dient zur Kontrolle der Datenbank: Ein Softwaresystem, das ermöglicht, deine DB zu definieren, Daten zu speichern, zu verändern, zu löschen und Anfragen an die DB zu stellen.
Das DBMS isoliert die DB von den Anwendungsprogrammen und sorgt dafür, dass der Nutzer die Details der DB nicht kennen muss.

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

Was ist ein Datenbanksystem (DBS)?

A

DB und DBMS = Datenbanksystem (DBS)

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

Was für Schichten/Datenebenen gibt es und wozu sind sie gut?

A

Logische Gesamtsicht: Beschreibung der Gesamtheit der Unternehmensdaten inklusive ihrer Beziehungen zueinander
interne Sicht: Datenorganisation der Daten auf den Speichern, so dass verschiedene Nutzer möglichst effizient auf die gewünschten Daten zugreifen können
externe Sichten: Sicht einzelner Benutzergruppen, jeweils auf die Ausschnitte, die für sie wichtig sind.

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

Welche Datenmodelle gibt es?

A

relationales, objektrelational, objektorientierte Datenmodelle; ER-Modell

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

Welche zwei Arten von Datenunabhängigkeit gibt es?

A

Physische Datenunabhängigkeit: Isolierung der Anwendungsprogramme von Änderungen der physischen Datenorganisation. In der Drei-Schichten-Architektur lassen Änderungen des internen Modells das konzeptuelle Modell unberührt, sie werden durch Änderung der Transformationsregeln aufgefangen. Somit bleiben auch die externen Modelle unberührt.
Logische Datenunabhängigkeit: Isolierung der Anwendungsprogramme von Änderungen des konzeptuellen Modells. Bestehende externe Modelle bleiben von Änderungen wie Hinzufügen von Attributen oder neuen Beziehungen unberührt, nur die Transformationsregeln müssen ggfs abgeändert werden.
Statische vs. Dynamische Datenunabhängigkeit: bei Binden zur Übersetzungszeit muss das Anwendungsprogramm nach Änderungen des internen/konzeptuellen Schemas neu übersetzt werden (statische DU), bei Binden zur Zugriffszeit nicht (dynamische DU), ist aber mit hohen Kosten verbunden.

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

Wie werden Daten im konzeptuellen Modell beschrieben?

A

Die Realwelt wird mittels (semantischem) Datenmodell beschrieben, das nicht unmittelbar vom DBS unterstützt wird, daraus wird dann ein semantisch „ärmeres“ konzeptuelles Model für das DBS abgeleitet. Es sind Konstrukte/“Bauelemente“ vorgegeben, mit denen das konzeptuelle Modell erstellt werden muss. Das Datenmodell muss mächtig genug sein, um alle wichtigen Aspekte der Realwelt beschreiben zu können und zugleich eine einfache, effiziente Implementierung auf der internen Ebene zu ermöglichen.

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

Wie ist die mathematische Notation des Relationenmodells?

A

Ein Relaionenschema R(A_i,…,A_n) spezialisiert eine Relation mit Namen R und mit den paarweise verschiedenen Attributen A_1,…,A_n .
Jedem Attribut Ai ist ein Wertebereich dom(A_i) zugeordnet.
Die Wertemengen verschiedener Attribute können identisch sein.

Die zu R(A_1,…,A_n) zugehörigen Relationen sind sämtliche Relationen des Typs R, Teilmenge dom(A_1) x dom(A_2) x…x dom(A_n)

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

Welche Beziehungstypen gibt es?

A

1:1-, 1:n-, n:m-Beziehungen

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

Was ist ein Schlüssel?

A

Ein Schlüssel macht Entity-Typen/Tupel einer Relation unterscheidbar: die minimal nötige Menge der Attribute, die eine Relationeninstanz eindeutig beschreiben = Primary Key, weitere heißen candidate keys.
Ein Fremdschlüssel ist ein Attribut oder eine Attributkombination einer Relation, welches auf einen Primärschlüssel einer anderen oder der gleichen Relation verweist.
Schlüssel im Kontext Normalisierung: X ist Schlüssel von {A1, …, An} genau dann wenn X –> {A1, …, An} e F+ und {A1, …, An} ist voll funktional abhängig von X

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

Wie arbeitet die Relationenalgebra?

A

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

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

Welche Vorteile bietet das konzeptionelle Modell?

A
  • stellt stabilen Bezugspunkt für alle Anwendungen dar
  • stellt eine einheitliche Dokumentation wesentlicher Aspekte dar
  • bietet die Möglichkeit, den Gebrauch der Daten an zentraler Stelle zu kontrollieren
  • schafft wesentliche Voraussetzung für Datenunabhängigkeit der Anwendungsprogramme
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Wie ist das ER-Modell aufgebaut?

A

Das ER kennt folgende Basiskonstrukte:

  • Entity-Typ
  • Beziehungstyp
  • Attribute von Entity-Typen und Beziehungstypen
  • beliebig viele Instanzen von Entities und Beziehungen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Wie werden Daten aus einer DB abgefragt?

A
  1. DBMS empfängt Befehl vom Anwendungsprogramm, ein bestimmtes Objekt eines externen Modells zu lesen
  2. DBMS holt sich Definitionen des entsprechenden Objekttyps aus dem zugehörigen externen Schema
  3. Mithilfe der Transformationsregeln extern/koneptuell stellt das DBMS fest, welche konzeptuellen Objekte und Beziehungen benötigt werden
  4. Mit Hilfe der Transformationsregeln konzeptuelles/internes Schema stellt das DBMS fest, welche physischen Objekte zu lesen sind, es ermittelt die auszunützenden Zugriffspfade
  5. DBMS übergibt Betriebssystem die Nummer der zu lesenden Speicherblöcke
  6. Betriebssystem übergibt die verlangten Blöcke an das DBMS in einem Systempuffer
  7. Mit Hilfe der Transformationsregeln stellt DBMS aus den vorhandenen physischen Sätzen das verlangte externe Objekt zusammen
  8. DBMS übergibt das externe Objekt dem Anwendungsprogramm in seinen Arbeitsspeicher
  9. Anwendungsprogramm verarbeitet die Daten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Definiton Relation

A

Mathematisch: R D1 x D2 x …x Dn ist eine n-stellige Relation über den Mengen (domains) und n ist der Grad (degree) der Relation. (Di x Dj = kartesisches Produkt)

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

Definition Tupel

A

Mathematisch: Ein Element r = (d1, d2, …, dn) e R (di e Di, i = 1, …, n) ist ein Tupel einer Relation R (n-Tupel), di ist i-te Komponente des Tupels.

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

Einfache Abfrage mit Join und Filter zu den Relationen im Relationenkalkül notieren Die gleiche Abfrage zu den Relationen in SQL notieren

A

Zwei Tabellen:
ANGEST(NAME,BERUF,ID,OFFICENR)
OFFICE(ID,STANDORD,OFFICELEITER)

Wir suchen Standorte, in denen ein Programmierer beschäftigt ist.

SQL:
SELECT STANDORT
FROM ANGEST 
JOIN OFFICE ON ANGEST.OFFICENR=OFFICE.ID
WHERE BERUF= ‘PROGRAMMIERER‘

Relationenkalkül:
{(OFFICE.STANDORT)|OFFICE.ID=ANGEST.OFFICENR „logisches und“ ANGEST.BERUF=‘PROGRAMMIERER‘}

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

Definition der 3 Normalformen

A

1NF=Die Relationen, wie wir sie definiert haben, sind bereits in erster Normalform. Das bedeutet: die Werte der Wertebereiche jedes Attributes sind unteilbare Werte und nicht ihrerseits wieder Mengen oder Tupel
bestehen.
2NF=Eine Relation R ist in zweiter Normalform, wenn jedes Nichtschlüsselattribut A von R voll funktional abhängig von jedem Schlüssel X von R ist.
3NF=Ein Relationenschema R mit Pd-Menge F ist in dritter Normalform, wenn für alle X➔A E p+ mit A nichtelement X gilt: X enthält einen Schlüssel für R oder A ist Schlüsselattribut.

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

Ähnelt eine SQL-Abfrage eher dem Relationenkalkül oder der Relationenalgebra ?

A

Eher dem Relationenkalkül. Man spezifiziert in der Abfrage, WAS man erhalten will, nicht WIE das geschehen soll.

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

Definition Relationsschema

A

Ein Relationenschema R(A_1,…,A_n) spezifiziert eine Relation mit Namen R und mi den paarweisen verschiedenen Attributen A_1,…A_n. Jedem Attribut A_i ist ein Wertebereich dom(A_i) zugeordnet. Die Wertemengen verschiedener Attribute können natürlich auch identisch sein.
Die zu R(A_i,…,A_n) gehörigen Relationen sind also sämtlich Relationen des Typs R Teilmenge dom(A_1) x dom(A_2) x…x dom(A_n).

40
Q

Definition funktionale Abhängigkeit und volle funktionale Abhängigkeit

A
funktionale Abhängigkeit
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

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

Beispiel:
Adresse voll funktional abhängig von Lieferant aber nicht von {Lieferant, Artikel}

41
Q

Was leistet eine Datenbank?

A
  • Sie soll den die gleichzeitige Nutzung mehrerer Nutzer ermöglichen
  • in ungeplanter Weise abfragbar sein (flexibel)
42
Q

Wofür ist interne Schicht zuständig?

A

Die interne Schicht regelt die interne, physische Organisation der Daten: genaue Festlegungen zu Repräsentation von Attributwerten, Aufbau gespeicherter Sätze, Zugriffsmethoden auf Sätze, zusätzliche Zugriffspfade (Indexe, Verkettungen, usw.). Einige dieser Entwurfsentscheidungen sind in kommerziellen DB schon gegeben.

43
Q

Was für Veränderungen können an der internen Schicht notwendig werden?
Wie wird das gemacht?

A

Zur Verbesserung des Systemverhaltens kann es notwendig sein, die physische Datenorganisation zu verändern.

Wenn Änderungen der internen Sicht durchgeführt werden müssen, so müssen auch die Transformationsregeln der konzeptuellen/internen Schicht angepasst werden.

44
Q

Was für Veränderungen können an der konzeptuellen Schicht nötig werden?

A

Wenn sich an der Struktur des Unternehmens etwas ändert, das die Daten betrifft, muss dies auch auf der konzeptuellen Ebene abgebildet werden

45
Q

Was für Abfragesprachen gibt es?

A

SQL, Relationenalgebra, Relationenkalkül

46
Q

Was macht die Select-Anweisung?

A

Sie setzt eine Query ab, die die DB nach bestimmten Kriterien durchsucht und ein entsprechendes Ergebnis zurückliefert

47
Q

Unterschied zwischen Entity-RelationshipModell und andererseits Relationenalgebra und Relationenkalkül

A

Das ER-Modell ist ein semantisches Modell, d.h. es ist dafür da, Dinge der Realwelt möglichst getreu abzubilden, Relationenalgebra und -kalkül sind mathematische Möglichkeiten, das in ein Datenmodell umzusetzen. ???

48
Q

Wie sorgt die Datenbank für Konsistenz und wie werden die Regeln umgesetzt?

A

Durch Transaktionsmanagement …

49
Q

Definition Transaktionsmanagement

A

Es ist Aufgabe des Transaktionsmanagement, für die Unteilbarkeit und Isolation ablaufender Transaktionen (Folge von Befehlen die vollständig und korrekt ausgeführt werden müssen) zu sorgen.

50
Q

Auf die interne Sicht gibt es mehrere Zugriffspfade – wozu?

A

Um Daten möglichst effizient (= auf schnellstem Weg) bearbeiten zu können. (Schätzung??)

51
Q

Was unterscheidet eine Datenbank von einer Verwaltung mit Dateien? Was sind die Probleme bei der Verwendung von Dateien anstatt von Datenbanken?

A

Der große Unterschied ist, dass in einer DB eine gemeinsame Datenbasis für alle Benutzer vorhanden ist, und diese durch das DBMS auch vor dem direkten Zugriff des Anwenders “geschützt” ist. Probleme: Redundanz, Inkonsistenz, Daten-Programm-Abhängigkeit, Inflexibilität

52
Q

Was ist ein Datenmodell?

A

Das Baugerüst, wonach etwas, z.B. ein Unternehmen, aus der Realwelt auf Datenebene abgebildet wird. Es sind dabei Konstrukte/“Bauelemente“ vorgegeben, mit denen das konzeptuelle Modell erstellt werden muss. Das Datenmodell muss mächtig genug sein, um alle wichtigen Aspekte der Realwelt beschreiben zu können und zugleich eine einfache, effiziente Implementierung auf der internen Ebene zu ermöglichen.

53
Q

Welche Sichten (Datenebenen) gibt es auf eine DB?

A

Interne Sicht (physische Datenorganisation), logische Gesamtsicht, externe Sichten der Benutzer

54
Q

Warum gibt es in mehrere externe Sichten?

A

Weil nicht jeder Nutzer die selben Daten benötigt oder nutzen darf/soll. Ein Personaler muss z.B. auf die Gehaltsdaten seiner Mitarbeiter zugreifen können, ein Mitarbeiter braucht die Daten zu seinen Projekten, aber nicht zu anderen, etc.

55
Q

Wie werden die einzelnen Schichten durch das DBMS ineinander umgesetzt?

A

?
Transformationsregeln beschreiben, wie man aus einem konzeptuellen Modell ein internes bzw. externes Modell herleitet.
Werden Änderungen an der Internen Ebene vorgenommen, so müssen nur die Transformationsregeln angepasst werden.

56
Q

Welche Datenunabhängigkeit würde wegfallen, wenn man die interne und die konzeptuelle Ebene zusammenfassen würde?

A

Die physische Datenunabhängigkeit, die Anwendungsprogramme von Änderungen der physischen Datenorganisation isoliert. In der Drei-Schichten-Architektur lassen Änderungen des internen Modells das konzeptuelle Modell unberührt, sie werden durch Änderung der Transformationsregeln aufgefangen. Somit bleiben auch die externen Modelle unberührt.

57
Q

Wie würde man vorgehen, wenn man eine DB für eine Firma entwerfen wollte?

A
  • Anforderungsanalyse
  • Konzeptueller Entwurf
  • Wahl des DBMS
  • Abbildung des Entwurfs auf Datenmodell
  • Physischer Datenbankentwurf
  • Implementierung des Datenbanksysstems und Tuning
58
Q

Welche Funktionen hat ein DBMS aus Benutzersicht?

A

Der Benutzer formuliert seine Zugriffswünsche in den Begriffen seines externen Modells. Das DBMS übernimm die notwendigen Umsetzungen, ermittelt die Objekte, die von den Speichen zu lesen sind und übergibt die gewünschten Daten in der entsprechenden Form an das Anwendungsprogramm

59
Q

Was ist ein Schema, welche gibt es?

A

Jede Ebene der Daten modelliert die Unternehmensdaten auf einem anderen Abstraktionsniveau. Diese Modelle der Datenwelt des Unternehmens werden mi Hilfe sogenannter Datenbeschreibungssprachen in einer für das DBMS verständlichen Form beschrieben.
Diese Beschreibung heißt dann Schema.

Es gibt

  • verschiedene externe Schemata
  • konzeptuelles Schema
  • internes Schema
60
Q

Was legen externes Modell, konzeptuelles Modell, internes Modell fest?

A

externes Modell:
Sichten der Benutzer

konzeptuelles Modell:
Repräsentiert die logische Gesamtsicht der Daten und ihrer Beziehungen untereinander

internes Modell:
physischen Datenorganisation
genaue Festlegungen zu Repräsentation von Attributwerten, Aufbau gespeicherter Sätze, Zugriffsmethoden auf Sätze, zusätzliche Zugriffspfade

61
Q

Operationen auf Datenbanken sind unterschiedlich schnell. Welche Operation ist laufzeittechnisch besonders aufwändig?

A

Verbund (Join)

62
Q

Wie lassen sich Join-Abfragen optimieren?

A
  1. Selektionen auf dem gleichen Operanden werden zu komplexen Selektionen zusammengefasst.
  2. Selektionen werden möglichst zu den Blattknoten des O-Baumes verschoben, also möglichst früh ausgeführt.
    Warum ist das wichtig? In der Regel fallen bei einer Selektion eine Reihe von Tupeln weg, so dass nachfolgende
    OPs auf viel kleineren Tupelmengen arbeiten müssen.
  3. Projektionen, die keine Eliminierung von Duplikaten erfordern, kommen gleich nach Selektionen
  4. Dagegen kommen Projektionen, die die Eliminierung von Duplikaten erfordern, so weit wie möglich zur
    Wurzel
  5. Suche gemeinsame Teilbäume. Ist das Ergebnis eine Relation, lohnt es sich, die Zwischenrelation
    abzuspeichern.
63
Q

Ist der Aufbau von Indizes bei JOIN-verknüpften Relationen stets vorteilhaft?

A

? Bei Natural-Join-verknüpften Relationen besteht bereits ein Identifikator, nämlich der, mit dem der Join überhaupt hergestellt worden ist. Anhand dieses Schlüssels, kann die Relation bereits eindeutig identifiziert werden, somit ist der Aufbau eines weiteren Indizes nicht notwendig

64
Q

Was bedeutet integriert?

A

gemäß den natürlichen Zusammenhängen in der Anwendungswelt strukturiert, nicht danach, wie Anwendungen die Daten benötigen.

65
Q

Auf welcher Ebene des Schichtenmodells findet man denn das Integrationskriterium?

A

in der konzeptuellen Schicht

66
Q

Was sind denn die Aufgaben der logischen Schicht?

A

Logische Gesamtschicht- Konzeptuelles Modell:
Beschreibung der Gesamtheit der Unternehmensdaten inklusive ihrer
Beziehungen zueinander
Ferner werden auch Integritätsbedingungen und Zugriffsrechte dokumentiert.

67
Q

Was versteht man unter Konsistenz?

A

?
Widerspruchsfreiheit
In relationalen Datenbanken versteht man unter Konsistenz die Integrität von Daten.

Beispiele von Inkonsistenz: Referenz ins Leere, Kontobuchungsfehler, negatives Alter, nichtkonsistente Speicherung von Daten.

68
Q

Kann es zu einem Konsistenzproblem kommen, wenn bei zwei konkurrierenden Zugriffen nur einer schreibend ist?

A

.

69
Q

Definition ACID

A

= atomicity, consistency, isolation, durability. So können die Eigenschaften einer Transaktion beschrieben werden. Im Detail:
Unteilbarkeit (atomicity)
Eine Transaktion ist eine unteilbare Verarbeitungseinheit; sie wird entweder ganz oder überhaupt nicht ausgeführt.
Konsistenz (consistency)
Eine korrekte Ausführung der Transaktion führt die DB von einem konsistenten zu einem konsistenten Zustand.
Isolation (isolation)
Eine Transaktion muss so ablaufen, als sei sie die einzige im System. Zwischenzustände (die ja inkonsistent sein können) düfen für andere Transaktionen nicht sichtbar sein.
Dauerhaftigkeit (durability)
Ergebnisse einer erfolgreich beendeten Transaktion sind dauerhaft, d.h. überleben jeden nachfolgenden Fehler.

70
Q

Aus dem Kurs Betriebssysteme kennen wir ja das Konzept vom virtuellen Speicher. Gibt es so etwas bei Datenbanken auch?
Welche Besonderheiten gibt es aber?
Was genau steckt dahinter?

A

Das Konzept besagt ja, dass wir u.a. auch mit Programmen arbeiten können, die größer als der RAM sind, indem wir pages auf den Sekundärspeicher auslagern und bei Bedarf in den Arbeitsspeicher holen (mit paging). Bei Datenbanken ist die Arbeitsweise ähnlich: Angeforderte Daten sind nach Möglichkeit bereits im Cache des Arbeitsspeichers – welche pages das sind, entscheidet der Systempuffer-Manager. Das Problem bei beiden Konzepten: Welche Seiten dürfen überschrieben werden, wenn wir Platz im Cache brauchen?
Seitenmanager in DBS müssen allerdings mehr leisten: Siehe pinned pages und forced output

71
Q

Pinned Pages

A

Im Zusammenspiel mit der Recovery (Wiederherstellung nach Fehlern) dürfen Seiten nicht beliebig in die Datenbank geschrieben werden. Solche
Seiten heißen pinned (festgeheftet). Beispielsweise ist Recovery nach einem Fehler sehr einfach, wenn die betroffenen Seiten noch nicht in die Datenbank zurückgeschrieben wurden.

72
Q

Forced Output

A

Ebenfalls im Zusammenhang mit der Recovery müssen gelegentlich Seiten auf den Externspeicher zurückgeschrieben werden, obwohl der Platz
im Systempuffer gar nicht benötigt wird. Diese Situation nennt man forced output (zwangsweises Schreiben).

73
Q

Angenommen, der Hauptspeicher ist vollständig mit „pinned pages“ belegt, wie erfolgt dann die Verdrängungsstrategie?

A

?

74
Q

Wie werden Objekte des konzeptuellen Schemas auf das interne Schema abgebildet?

A

Mithilfe der Transaktionsregeln konzeptuell/intern

75
Q

Was steuert eine Datenbank?

A

Das Datenbankmanagementsystem

76
Q

Wie kann man erreichen, dass die Anwendungen trotzdem bei Änderungen am konzeptuellen Modell nicht geändert werden müssen?

A

Binden zur Laufzeit- Anpassung von transformationsregeln

77
Q

Können die geänderten Seiten einfach so in die Datenbank zurückgeschrieben werden?

A

Aufgrund von Recovery sind zwei zusätzlich Anforderungen an das paging bzgl. Datenbanken zu beachten:

  • Pinned Pages: Auf die Datenbank darf nicht beliebig geschrieben werden
  • Forced Output: Manchmal müssen Seiten auf den Sekundärspeicher ausgelagert werden, obwohl im Hauptspeicher noch genügend Platz ist.
78
Q

Was wird dann im Endeffekt abgespeichert, also worauf wird auf der physischen Ebene zugegriffen?

A

Auf einen Block

79
Q

Was macht einen Zugriff teuer? Welche Operation tut sich da besonders hervor?

A

Der Verbund

80
Q

Können auch Beziehungstypen Attribute haben?

A

Ja Entities und Beziehungen besitzen Attribute

81
Q

Was sind Transaktionen und welche Eigenschaften haben sie?

A

Transaktionen sind Folgen von Anweisungen die entweder ganz oder gar nicht durchgeführt werden müssen.

Sie müssen das ACID-Prinzip erfüllen:
A = Atomarity = Unteilbar
C = Consistency - Nach Transaktion ist DB noch konsistent
I = Isolation - Soll durchgeführt werden, als wäre sie die einzige Transaktion im System
D = Durability - Dauerhaftigkeit - vollständig durchgeführte Transaktion muss jede weitere Transaktion überleben

82
Q

Was ändert sich am externen bzw. internen Modell, wenn konzeptuell integer zu long wird?

A

.

83
Q

Implementierung: Systempuffermanager

A

Der Systempuffermanager ist eine Schicht im DBMS. Er stellt für die oberen Schichten die Seiten für den Zugriff zur Verfügung.

84
Q

Ist der Systempuffermanager zu vergleichen mit der Seitenbehandlung beim Betriebssystem?

A

Ja, ist er, auf ihn kommen jedoch noch weitere Anforderungen aufgrund Recovery zu:
Pinned Pages
Forced Output

85
Q

Welche Schlüsseltypen gibt es?

A

Primärschlüssel - Identifiziert die Relation eindeutig

Fremdschlüssel - Schlüssel, der auf eine andere Relation referenziert

86
Q

Welche zwei Arten von Primärschlüsseln gibt es?

A

.

87
Q

Kann der Systempuffermanager einfach Seiten auf den Externspeicher schreiben, obwohl die zugehörige Transaktion noch nicht abgeschlossen ist?

A

.

88
Q

Was passiert nach dem Commit?

A

.

89
Q

Wann nutzt man dynamische, wann statische Bindung?

A

.

90
Q

Was garantiert, dass die logische und physische Datenunabhängigkeit existiert?

A

.

91
Q

Erstelle ein beliebiges ER Modell und führe es in ein Relationenschema über

A

.

92
Q

Formulieren Sie ein SQL basierend dem Relationsschema mit n:m. “Suche alle Produkte eines Kunden”

A

SELECT * FROM products LEFT JOIN customers USING (id) WHERE id=”17”

93
Q

Was ist ein Cursor?

A

Cursor sind ein Hilfsmittel, um bei der imperativen Programmierung (die tupel-orientiert ist) einen Zugriff auf die Ergebnisse der SQL-Queries (die mengenorientiert sind) zu erhalten.
Nach seiner Definition wird der Cursor in der OPEN-Anweisung geöffnet, danach werden die Elemente der Ergebnismenge in einer Folge von FETCH-Anweisungen durchlaufen. Mit FOUND wird überprüft, ob die Ergebnismenge schon vollständig durchlaufen wurde.

94
Q

Mithilfe der funktionalen Abhängigkeiten sind die Normalformen definiert. Was heisst das z.B. für die 2. Normalform?

A

Eine Relation R ist in zweiter Normalform, wenn jedes Nichtschlüsselattribut von R voll funktional abhängig von jedem Schlüssel X von R ist.
Wenn nicht in 2NF, resultieren daraus Anomalien (zum Beispiel Lösch-Anomalie, d.h. wenn das letzte Feld eines bestimmten Schlüsselattributs gelöscht wird, verlieren wir auch die Informationen über davon funktional abhängige weitere Attribute).
Wie geht das: Normalisierungsschritt: partielle Abhängigkeiten eliminieren!
1NF-Relation zerlegen, partielle abhängige Attribute in neue Relation übertragen, mit einer Kopie der Attribute, von denen sie abhängig sind. -> Erhalten der 2NF.
Anomalien können aber immer noch auftreten – bei indirekten Abhängigkeiten vom Schlüssel! Dann brauch man die dritte Normalform.

95
Q

Wie ist die erste Normalform definiert?

A

(Fangfrage) Die Relationen, wie wir sie definiert haben, sind bereits in erster Normalform. Laut Def. sind die Werte der Wertebereiche jedes Attributs unteilbare Werte und bestehen nicht ihrerseits wieder aus Mengen oder Tupeln

96
Q

Welche Aufgaben hat das DBMS noch?

A
  • muss Datendefinitionen akzeptieren und interpretieren können. Diese müssen auch für den Nutzer abfragbar sein (= Metadaten). Werden im Katalog/Data Dictionary des DBMS zusammengefasst.
  • soll Integritätsverletzungen verhindern
  • Datensicherung (Recovery): nach Fehlern soll das DBMS die DB wieder in konsistenten Zustand versetzen
  • Koordination gleichzeitig auf der DB arbeitender Benutzer
  • Schutz der Daten gegen unberechtigten Zugriff
97
Q

Wofür braucht man ein Data Dictionary?

A

dient dem DBMS zur Speicherung der Verwaltungsdaten der DB (Schema-Informationen, Sichten, Zugriffsrechte…) und dem Anwendungsprogrammierer zur Suche nach Informationen über gespeicherte Daten und deren Struktur (Schema-Informationen) und zur Analyse bei Leistungsproblemen = somit eine Datenbank für sich selbst. Heute mehr und mehr ein Repository. Ein Data Dictionary System verwaltet: Beschreibung der Daten, Angaben der Beziehungen zwischen den Daten, Beschreibungen der Programme (Transaktionen), Angaben, welche Programme welche Daten nutzen, Konsistenzbedingungen, Angaben über Zugriffsbefugnisse, Entwurfsdaten, Verantwortlichkeiten, Entwurfsdokumente. An diese Vereinbarungen muss sich jeder Entwickler halten.