Aufgabe 1)

Werbung
Übung 4:
Aufgabe 1)
1.2
Relation:
Eine Relation besteht aus Attributen und Tupeln. Sie wird üblicherweise mit Hilfe einer
Tabelle beschrieben, welche in zweidimensionaler Anordnung die Datenelemente
erfasst.
Tupel:
Ein Tupel stellt eine konkrete Kombination von Attributwerten dar und wird im
Datenbankbereich auch als Datensatz bezeichnet ( = die Zeilen in einer Tabelle).
HT
TH
Attribut:
Attribut: Eigenschaft eines Entitätstyps (zum Beispiel Nachname und Geburtsdatum
von Entitätstyp Angestellter). Das Attribut oder die Attributkombination eines
Entitätstyps, deren Wert(e) die Entität eindeutig beschreiben, d.h. diese identifizieren,
heißen identifizierende(s) Attribut(e) (zum Beispiel ist das Attribut Projektnummer
identifizierend für den Entitätstyp Projekt). Üblicherweise haben 1:nBeziehungstypen keine Attribute, da diese immer einem der beteiligten Entitätstypen
zugeordnet werden können. Im Falle eines n:m-Beziehungstyps kann aus dem
Beziehungstyp ein eigenständiger Entitätstyp mit Beziehungstypen zu den
ursprünglich beteiligten Entitätstypen geschaffen werden. Dem neuen Entitätstyp
kann dann das Attribut zugeordnet werden (zum Beispiel Attribut
Projektbeteiligungsgrad beim n:m-Beziehungstyp „Angestellter arbeitet am Projekt“
zwischen den Entitätstypen Angestellter und Projekt).
(= die Spalten in einer Tabelle).
Tabelle:
Eine Datenbanktabelle ist eine Menge von Daten, die in Zeilen und Spalten einer Tabelle
strukturiert sind. Dabei legen die Spalten fest, was in der Tabelle gespeichert wird. In
den Zeilen liegen die einzelnen Datensätze vor.
Die Zeilen werden hier als Tupel bezeichnet. Die Spalten werden Attribute genannt.
Schlüssel:
Ein Schlüssel dient in einer Relationalen Datenbank dazu, die Tupel einer Relation
eindeutig zu identifizieren. Zum Beispiel kann eine Relation als Tabelle dargestellt
werden. Dann ist der Schlüssel für so eine Tabelle eine Gruppe von Spalten, welche so
ausgewählt werden, dass jede Zeile in dieser Gruppe eine einmalige Wertekombination
hat.
Primärschlüssel:
Im relationalen Datenmodell spielt die Verknüpfung von verschiedenen Tabellen eine
entscheidende Rolle. Um Tabellen eindeutig verknüpfen zu können, muss allerdings jeder
Datensatz einer Tabelle eindeutig identifiziert und adressiert werden. Ein Attribut, das
einen Datensatz mit allen seinen Feldwerten eindeutig identifiziert, wird als
Primärschlüssel bezeichnet.
Für einen Primärschlüssel muss immer gelten:
• Er darf nicht leer sein.
• Es dürfen keine Duplikate in den Datensätzen derselben Tabelle existieren.
• Jede Tabelle hat genau einen Primärschlüssel.
Fremdschlüssel:
Ein Fremdschlüssel ist ein Attribut in einer Relation (Tabelle), welches eine Beziehung
zu einem Schlüsselfeld einer anderen Relation (Tabelle) herstellt.
HT
TH
HT
HT
TH
TH
HT
HT
TH
HT
TH
TH
1.3
Transaktion:
Eine Transaktion besteht aus einer Gruppe von Aktionen, die in einer oder mehreren
Datenbanktabellen erfolgreich ausgeführt werden müssen, bevor sie endgültig
festgeschrieben (gespeichert) werden. Schlägt eine der Aktionen in der Gruppe fehl,
werden alle anderen Aktionen ebenfalls rückgängig gemacht (rolled back). Transaktionen
verhindern also, dass die Datenbank in einen inkonsistenten Zustand gerät, wenn ein
Problem bei der Durchführung einer der Aktionen auftritt, aus denen sich die Transaktion
zusammensetzt.
ACID-Prinzip:
"ACID"-Eigenschaften:
• Atomic
Eine Transaktion wird entweder ganz oder gar nicht ausgeführt. Transaktionen
sind also „unteilbar“. Wenn eine atomare Transaktion abgebrochen wird, ist das
System unverändert. (Unteilbarkeit: Alles-oder-nichts-Prinzip)
• Consistent
Konsistenz: Wenn das System vor der Transaktion in einem gültigen Zustand war,
dann ist es dies auch nachher
• Isolated
Bei gleichzeitiger Ausführung mehrerer Transaktionen dürfen sich diese nicht
gegenseitig beeinflussen.
•
Durable
Die Auswirkungen einer Transaktion müssen im Datenbestand dauerhaft bestehen
bleiben. Die Effekte von Transaktionen dürfen also nicht „mit der Zeit
verblassen“ oder „aus Versehen verloren gehen“. Eine Verschachtelung von
Transaktionen ist wegen dieser Eigenschaft strenggenommen nicht möglich, da
ein Rollback einer äußeren Transaktion die Dauerhaftigkeit einer inneren, bereits
ausgeführten Transaktion verletzen würde.
Aufgabe 2)
2.1
Entity Relationship-Modell (ERM):
(=Gegenstands-Beziehungsmodell)
-
dient dazu, im Rahmen der semantischen Datenmodellierung einen Ausschnitt der
realen Welt zu beschreiben
es besteht aus einer Grafik und einer Beschreibung der darin verwendeten
Elemente
kommt im Wesentlichen auf das Was und nicht auf das Wie an
HT
TH
Grundlage der Entity-Relationship-Modelle ist die Typisierung von Objekten und
deren Beziehungen untereinander:
- Entität (Entity): Objekt der Wirklichkeit, materiell oder abstrakt
- Entitätstyp: Typisierung gleichartiger Entitäten
- Beziehung (Relationship): Verknüpfung zwischen zwei oder mehreren Entitäten
- Beziehungstyp: Typisierung gleichartiger Beziehungen
- Grad oder Komplexität eines Beziehungstyps: Anzahl der Entitätstypen, die an
einem Beziehungstyp beteiligt sind. Die Regel ist der Grad 2
- Kardinalität: mögliche Anzahl der an einer Beziehung beteiligten Entitäten (zum
Beispiel kann ein Angestellter mehrere Projekte leiten, während ein Projekt von
genau einem Angestellten geleitet wird).
- Attribut: Eigenschaft eines Entitätstyps
HT
HTU
UTH
U
TH
U
U
U
U
U
U
U
U
HTU
U
UTH
U
Das Modell selbst besteht aber immer ausschließlich aus Entitätstypen und
Beziehungstypen.
2.2
Die Abbildung besteht aus vier Entitäten, nämlich Student, Studiengang und
Lehrveranstaltung. Es gibt jeweils eine Beziehung zwischen Student und Studiengang mit
der Kardinalität N:1 bzw. Studiengang und Lehrveranstaltung mit Kardinalität M:N.
Diese zwei Beziehungen sind von einem unterschiedlichen Typ.
Weiters wird die Entität Student durch die Attribute Name, Vorname und Legi-Nr.
beschrieben.
Bezeichnung und Departement sind ebenfalls zwei Attribute und beschreiben den
Studiengang. Die Entität Lehrveranstaltung lässt sich durch die Attribute LV_Name und
LV_Nummer näher identifizieren.
2.3
Aufgabe 3)
Tabelle: Autor
ID-Nr._A
U
Name
U
Tabelle: Zeitschrift
Nr.-Zeitschrift
U
U
Titel
Vorname
Seiten
Initialien
Ausgabe-Nummer
Jahr
Tabelle: Buch
ISBN-Nr.
U
Titel
U
Tabelle: Artikel
Artikel-Nr
U
U
Jahr
Titel
Tabelle: Verlag
Verlag-Nr
U
Tabelle: Schreiben
ISBN-Nr.
Seiten
Verlag-Name
U
ID-Nr._A
Artikel-Nr
Aufgabe 4)
4.1
1. 1. Normalform:
2. Die Feldinhalte müssen einfach (atomar) sein.
Die Attribute der Relation müssen atomar sein (ist eine schon vorausgesetze Eigenschaft
von Relationen). Strukturierte Attribute (wie Adresse) müssen aufgeteilt werden in ihre
Teilattribute (z.B. in PLZ, Ort, Straße und Hausnummer). Relationen in erster
Normalform werden auch oft als flache Relationen bezeichnet. Aufgrund von
funktionalen Abhängigkeiten (PLZ bestimmt Ort) ergeben sich in 1NF-Relationen
Redundanzen.
3. 2. Normalform:
4. Jedes Feld muß funktional vom Schlüsselfeld abhängig sein.
Die zweite Normalform vermeidet partielle funktionale Abhängigkeiten (diese bewirken
Redundanzen). Eine partielle funktionale Abhängigkeit besteht, wenn Attribute (die nicht
Schlüsselkandidaten sind) funktional schon von einem Teil des Schlüssels abhängen
(siehe Abbildung). Die zweite Normalform kann durch Elimination der abhängigen
Attribute und Auslagerung in eine eigene Relation erreicht werden.
3. Normalform
Es dürfen keine funktionalen Abhängigkeiten zwischen Nicht-SchlüsselFeldern existieren. Die Tabelle darf somit keine transitiven
Abhängigkeiten aufweisen.
Die dritte Normalform löst transitive Abhängigkeiten auf. Geht man von einem Schlüssel
aus, der eine Attributmenge bestimmt, die wiederum ein abhängiges Attribut bestimmt,
so liegt eine transitive Abhängigkeit vor (siehe Abbildung). Zur Beseitigung kann man
das transitiv abhängige Attribut in eine neue Relation kopieren (gemeinsam mit der
bestimmenden Attributmenge) und aus der ursprünglichen Relation entfernen.
4.2
Da die Feldelemente atomar sind und funktional vom Schlüssel abhängen und keine transitiven Abhängigkeiten
bestehen, befinden sich die Tabellen bereits in 3.Normalform.
Tabelle: Autor
ID-Nr._A
U
Name
U
Tabelle: Zeitschrift
Nr.-Zeitschrift
U
Tabelle: Buch
ISBN-Nr.
U
U
Tabelle: Artikel
Artikel-Nr
U
U
U
Vorname
Titel
Seiten
Titel
Jahr
Tabelle: Schreiben
ISBN-Nr.
Ausgabe-Nummer
Seiten
Titel
Tabelle: Verlag
Verlag-Nr
U
Initialien
ID-Nr._A
Verlag-Nr
Nr.-Zeitschrift
Verlag-Name
U
Jahr
Artikel-Nr
Aufgabe 5)
5.1
Wird der gleiche Befehl zweimal eingegeben entsteht ein Duplikat, was eine Fehlermeldung hervorruft, da der
Primärschlüssel eindeutig sein muss.
5.2
Herunterladen