Sie sind auf Seite 1von 36

Widerholung

DBVS = eine Softwaresystem zum


Organisieren, Speichern, Zugreifen, Analysieren
und ndern von Datenbestaenden.
Ein DBVS arbeitet mit Daten welche in
Datenbanken organisiert sind und garantiert
die Richtigkeit der Daten, die Richtigkeit im
Mehrbenutzerbetrieb, das Datensicherheit.
Die Datenbank = eine electronisch organisierte
Datensammlung zu einem tematisch oder
organisatorisch begrenzten Gebiet.
Die Datenbank = eine Sammlung von nicht-
redundanten Daten, die von mehreren
Anwendungen benutzt werden.
Bemerkung
In jedem System, in dem Daten verwaltet
werden, mssen diese eine bestimmte Struktur
haben.
Diese Struktur heit Datenbank "SCHEMA" .
Diese Struktur, zusammen mit den assoziierten
Operatoren wird als Datenmodell, logisches
Modell oder konzeptuelles Modell bezeichnet.
Es gibt:
Hierarhische Datenmodelle (mit einer
Baumstruktur)
Netzwerk Datenmodelle (mit einer Netzstruktur)
Relationale Datenmodelle
OO Datenmodelle.
ARCHITEKTUR VON
DATENBANKVERWALTUNGSSYSTEMEN
Hierarchische Datenbanksysteme
Netzwerk Datenbanksysteme
Relationale Datenbanksysteme
Objektorientierte Datenbanksysteme
Gemss der Konzeption ANSI-SPARC[1] entwickelt
sich eine Datenbank auf drei funktionellen Ebenen:
Externe Ebene (Benutzersichten)
Konzeptuelle Ebene (Logische Gesamtsicht)
Interne Ebene (Physische Sicht)
[1] Standard Planning and Requirement Committee
a)konzeptuelle Ebene (logische Sicht)
beschreibt die Daten einer Unternehmung
sowie deren Beziehungen aus
Unternehmensgesamtsicht.
b) externe Ebene (Benutzersicht)
beschreibt die Sicht eines Anwenders/ einer
Anwendung auf die Daten der konzeptuellen
Ebene. Auf der externen Ebene erfolgt die
Koordination der Datenbank mit den
Benutzerbedrfnissen.
c)interne Ebene (technische Sicht)
beschreibt wie die Daten auf dem
physischen Speichermedium
gespeichert werden.
Die wesentliche Speicherformen sind:
sequentielle Speicherung;
index Speicherung;
index-sequentielle Speicherung;

. Externe
Schemata

externe/konzeptuelle
Modellierung

Konzeptuelles Schema


konzeptulle/interne Modellierung



Internes Schema




Geschpeicherte Datenbank


Externe
Sicht 1
Externe
Sicht 2
Externe
Sicht n
Das erste Beispiel ist ein Datenbankmodell mit logischen
Beziehungen - Relationale Datenbankmodell (E.Codd ,1972)
Das Relationale Datenbankmodell ist das am weitverbreitetste
Modell, das in der Datenbankentwicklung als Standard genutzt
wird.
Die Grundlage dieses Datenbankmodells ist die Relation.
Sie stellt eine mathematische Beschreibung einer Tabelle und
ihre Beziehung zu anderen mglichen Tabellen dar.
Die Operationen auf diese Relationen werden durch die
relationale Algebra bestimmt. Des Weiteren ist die relationale
Algebra auch die Grundlage fr die Datenbanksprache SQL
(Structured Query Language).
Relationale Datenmodell
Das relationale Datenbankmodell besteht
aus drei wichtigen Faktoren:
Die Datenbank kann man sich unter einer
Sammlung von Tabellen und Beziehungen
vorstellen, die miteinander verknpft sind.
Jede Zeile (auch Tupel genannt) in einer
Tabelle ist ein Datensatz (Record).
Jedes Tupel besteht aus einer groen
Reihe von Attributen (Eigenschaften), den
Spalten der Tabelle.
Relationale Datenmodell
Ein Relationsschema legt dabei die Anzahl
und den Typ der Attribute fr eine Tabelle
fest.
Des Weiteren knnen Verknpfungen
(Beziehungen) ber
sogenannte Primrschlssel (Primary
Key) hergestellt werden, um bestimme
Attribute, die den gleichen Primrschlssel
oder in einer Detailtabelle als
Fremdschlssel besitzen, abzufragen.
Relationale Datenmodell
Relationale Datenmodell
Das Model benutzt eine eigene formale
Sprache, obwohl logisch quivalente Begriffe
aus der Dateiorganization bekannt sind.

Datei-
organization
Relationale
Modell
Reprsentant fr
Datei Relation Objekttyp (Z.B. Kunde)
Feld Attribut Objekteigenschaft (z.B. Name)
Satz Tupel
Objektausprgung (Daten zur einem
spezielle Kunden)

Beispiel

Relation PERSONAL
Name Vorname Matr.Nr. Gehalt
Schneider Anne 2312 5200
Derer Franz 2000 8000
Mller Gnter 2222 6000

Attribute
Tupeln
Die Grundterminologie
Relationale Objekte
Relation (Tabelle)
Attribut (Spalte, Feld)
Domne (Wertebereich)
Degree (Ausdehnungsgrad der Tabelle)
Tupel (Datensatz, Record)
Cardinalitt
Key (Schlsselfeld)
Candidate Key Key (eindeutiger Schlssel)
Primary Key Key (Primrschlssel)
Alternate Key Key (Zweitschlssel)
Foreign Key Key (Fremdschlssel)
Relation eine Tabelle, in der in
zweidimensionaler Anordnung die Daten-
elemente erfat sind, wobei:
Bestandsrelation: bildet eine Objektklasse
mit identischen Merkmale (Feldern);
Beziehungsrelation: schafft eine Beziehung
zwischen zwei verschiedenen
Bestandsrelationen.
Eine Relation hat zustzlich folgende Eigenschaften:
Keine doppelten Tupel.
D.h. es gibt zu keinem Zeitpunkt zwei Tupel, deren
Attributwerte den gleichen Inhalt haben.
Tupelreihenfolge.
Die Reihenfolge, mit der die Tupel in einer Relation
gespeichert sind, ist nicht definiert. Man darf sich also nie auf
eine bestimmte Reihenfolge der Tupel in einer Relation
verlassen!
Attributreihenfolge.
Die Reihenfolge der Attribute in einer Relation ist nicht
definiert. Es ist also nicht mglich, das n-te Attribut einer
Relation anzusprechen. Man kann ein bestimmtes Attribut nur
mit seinem Namen ansprechen.
Attributenwerte sind atomar.
Die Werte eines Attributes unterliegen einer Domne. Da alle
Elemente einer Domne atomar sind, sind auch die Elemente
eines Attributes atomar (kann nicht zerlegt werden).
Relationsschema. Die Menge der Felder
(Attributen) die einer Relation entsprechen wird
Relationsschema genannt. Die Syntax ist
folgende
<Relationsname> (<Feld1>,<Feld2>,<Feld3>,
...<Feld n>)
Attribut. Unter einem Attribut versteht man ein
Feld innerhalb der Beschreibung eines Tupels
(z.B. Mbelart).
Domne bezeichnet den Definitionsbereich eines
Attributes. So besteht zum Beispiel die domne
Mbelart aus den Werten "Stuhl", "Tisch",
"Sessel".
Degree (Ausdehnungsgrad der Tabelle)
Die Anzahl der Attribute einer Relation wird mit
Degree (Ausdehnungsgrad) bezeichnet. Eine
Relation mit nur einem Attribut wird unr, eine
mit zwei Attributen binr genannt. Eine Relation
mit n Attributen wird n-ary gennant.
Tupel. Ein Tupel entspricht einer Zeile innerhalb
der Tabelle und enthlt alle auf ein Objekt
bezogenen Feldwerte bzw. Merkmals-
ausprgungen.
Cardinalitt. Mit Cardinalitt bezeichnet man die
Anzahl der Tupel einer Relation. Diese ist
zeitabhngig und kann auch gleich Null sein,
wenn die Relation leer ist.
Beispiel Attribute Domne
Schlsselfeld dient der eindeutigen identifikation
eines Tupels in einer Relation und der
Herstellung von Beziehungen zwischen
verschiedenen Relationen.
Schlsselkandidat (Candidate Key). Eine
Attributmenge wird Schlsselkandidat genannt,
wenn alle Werte dieser Attributmenge unique
(eindeutig) sind. Es existieren somit zu keinem
Zeitpunkt zwei Werte eines Candidate-Keys mit
gleichem Inhalt.
Relation BCHERREGAL
Nr. Titel Autor ISBN
1 Einsicht ins Ich Hofstadter 3-608-9303038
2 Metamagicum Hofstadter 3-608-930089
3 Gdel, Escher, Bach Hofstadter 3-608-93037
4 Das Sein Sartre 3-498060600
5 Der Pfahl im Fleische Sartre 3-33499105268

Relation mit mehreren Candidate-Keys
Eine Relation kann ein oder mehrere Candidate-Keys
besitzen:
Primrschlssel (PrimaryKey): Attribut mit
eindeutig identifizierender Eigenschaft; kann
sich aus einem oder mehreren Attributen
zusammensetzen.
Jede Relation besitzt genau einen Primary Key,
um ein Tupel der Relation eindeutig zu
identifizieren. Es wird definiert, indem einer der
Candidate - Keys zum Primrschlssel erklrt
oder ein neues Attribut speziell fr diesen Zweck
eingefhrt wird. (z.B. Vertrag Nummer).
Der Primrschlssel darf keine Null-Werte
enthalten und sie ist "die Adresse" des
Tupels, was nicht bedeutet, da ein Zugriff
nur ber ihn mglich sein soll.
Der Primrschlssel soll mindestens einen
schnellen Zugriffspfad garantieren, mit
dem exakt ein Tupel angesprochen
werden kann.
Mit Hilfe dieses Primary-Keys werden meist
die Verknpfungen der Relationen in der
Datenbank hergestellt.
Fremdschlssel (Foreign Key) - Ein Attribut
einer Relation B wird als Fremdschlssel
bezeichnet, wenn es nicht Primrschlssel von
B ist, aber Primrschlssel der Relation A ist.
Beide Attributen (oder Attributmengen, wenn der
Key aus mehr als einem Attribut besteht)
mssen der gleichen Domne unterliegen.
Es ist wichtig, da ein Datenbanksystem wei,
welche Attributmenge den Primrschlssel
definiert und welche Fremdschlssel existieren.
Nur so kann das DBVS die referenzielle Integritt
der Datenbank gewhrleisten.
Beispiel:
Relation A Attribute 1 ist Primrschlssel
Relation B - Attribute 1 ist Fremdschlssel
Relation A
Attribute 1
Attribute 2
Relation B
Attribute 3
Attribute 1
Relation ARTIKEL

Artnr. Name Mbelart Artgrnr.
110 Felix Sthul M10
120 Bruno Tisch M10
125 Pascha Sessel M15


Relation ARTIKELGRUPPE

Artgrnr. Bezeichnung Lagerort
M10 Embel A25
M15 Kleinmbel B13
M37 Gartenmbel C12

Primrschlssel und Fremdschlssel
Aus Performancegrnden
(durch Performance versteht man die
Arbeitsgeschwindigkeit eines DV-
Systems)
knnen zustzlich beliebig viele Keys in
einer Relation definiert werden.
Diese werden dann Alternate-Keys oder
auch SecondaryKeys (Zweitschlssel
oder Sekundrschlssel) genannt.
Sekundrschlssel (SecondaryKey) : jedes
beliebige Attribut, das nicht Primr-
schlssel ist und Klassifizierende
Eigenschaften haben kann.

Relation KUNDE
Kunden
nr.
Name Strasse PLZ Wohnort Kontonr
25 Honeywell Friedenstr.34 5450 Neuwied 739495
64 IBM Kaiser-Ring 10 6500 Mainz 94588324
35 Mller AG Waldstr. 123 6200 Wiesbaden 5632734
46 Epson Rheinstr. 75 6000 Frankfurt 63744
66 Schmidt
KG
Sonnenstr. 243 6000 Frankfurt 8377402
67 K&N Industriestr. 12 6200 Wiesbaden 748288
99 Kbig Flachstr. 45 6500 Mainz 8474700


Relation ARTIKEL

Haupschlssel Fremdschlssel


Artnr. Name Mbelart Artgrnr.
110 Felix Sthul M10
120 Bruno Tisch M10
125 Pascha Sessel M15

Degree = 4

Die wichtigsten Begriffe des
Relationalen Modells
4 Attribute
aus 4 Werte-
bereiche
3 Tupel ,
Cardinalitt = 3
Die Grundeigenschaften des
Relationallen Modellen
Eine Relation wird durch eine Tabelle dargestellt in
welcher jede Reihe einen Tupel (Satz) und jede Spalte
ein domne darstellt;
Jede Reihe der Tabelle muss verschieden von den
anderen Reihen sein (Duplikate sind verboten);
Die Reihenfolge der Reihen in der Tabelle ist nicht
festgelegt und kann ohne Einschrnkungen verndert
werden;
Die Spalten der Tabellen werden durch verschiedene
Namen identifiziert und stellen die Felder (Attribute) dar;
Ein Attribut darf nur ein einziges Mal innerhalb einer
Relation auftreten.
In jeder Spalte der Tabelle sind die Ausprgungen vom
selben Typen und bilden ein domne.
Relationale Integrittsregeln
Integritt im Bezug auf eine Datenbank
bedeutet, das sie unversehrt ist, also keine
wieder sprchlichen Daten in ihr gespeichert
sind.
Die relationale Integrittsregeln beziehen
die Entity Integritt
die Referenzielle Integritt
Eine Datenbank soll fr den abzubildenden
Ausschnitt der Realitt korrekte Daten liefern.
Eine Art der Integritt von Daten ist sicherlich, ob
die gespeicherten Werte wahr sind. Diese Form
der Integritt lsst sich nur durch einen Vergleich
mit der Wirklichkeit berprfen
Die Integritt der Daten (Matthias,2004) kann durch die
folgenden drei Bedingungen gewhrleistet werden:
1. Jeder Datensatz einer Tabelle hat einen eindeutigen
Primrschlsselwert. Man nennt diese Bedingung auch
Entity-Integritt.
2. Zu jedem Wert eines Fremdschlsselattributes in
einer Tabelle T1 gibt es in der referenzierten Tabelle T2
einen Datensatz dessen Primrschlsselattribut den
gleichen Wert hat. Diese Form der Integritt nennt man
referenzielle Integritt.
3. Weitere Bedingungen, die beim Anlegen von Tabellen
formuliert wurden, sind erfllt. Man nennt solche
Bedingungen auch Constraints (Einschrnkungen). Ein
Constraint knnte sein, dass der Wert eines Attributes
"Lagerbestand" nicht kleiner Null werden darf.
Die Entity-Integritt wird dadurch erreicht, in dem man
beim Anlegen einer Tabelle ein Attribut oder eine
Attributkombination als Primrschlssel definiert. Im
Beispiel ist das Attribut "Student Code" als
Primrschlssel definiert.
Also, wenn ein Attribut die Komponente eines
Primrschlssels ist, dann darf dieses Attribut zu
keinem Zeitpunkt einen NULL-Wert enthalten.
Durch die referentielle Integritt wird sichergestellt, da
z.B. alle Artikel-gruppennummern in der Artikel-
relation auch in der Relation Artikelgruppe sind.
Also, fr die referentielle Integritt, besitzt eine
Relation R2 einen Fremdschlssel, der auf einen
Primrschlssel in einer Relation R1 verweist. Dabei
mu jeder Wert des Fremdschlssel in R2 gleich
einem Wert des Primrschlssel in R1 sein oder der
Wert des Fremdschlssels muss ein NULL-Wert sein.
Projektierung relationalen Models durch
Normalisierungsprozess
Notwendige Etappen
1. Es werden die Attribute von den Primrdokumenten,
Berichten, Situationen usw. vorgenommen und in ein
Datenwrterbuch eingeschlossen. Ein Attribut kommt
nur einmal in einem Datenwrterbuch vor. Das
Datenwrterbuch enthlt keinen berechneten
Attributen.
2. Auf Grund der Verwaltungsregeln, werden die
funktionelle Abhngigkeiten zwischen Attributen
festgesetzt. Die Darstellung der funktionelle
Abhngigkeiten kann durch eine Matix oder einem
Diagramm der funktionellen Abhngigkeiten realisiert
werden.
3. Alle bestimmende Attributen werden
Candidaten Schlssel.
4. Es werden Primrschlssel von der Candidaten
Schlssel gewhlt.
5. Mit jedem Primrschlssel und von diesem
direkt bestimmten Attributen (nicht transitiv),
wird eine Tabelle gegrndet.
6. Wenn es einzelne Attribute gibt, die von
keinem Primrschlssel bestimmt werden,
dann werden Non-schlssel Attributengruppen
gesucht, die diese bestimmen knnen.
7. Wenn keine solche Attribute brigbleiben, dann
werden Gruppen von Primrschlssel gesucht (die
wir vorher festgesetzt haben) die sie bestimmen
knnen. Diese Gruppen werden andere
Primrschlssel bilden.
8. Es werden die vielwertigen Abhngigkeiten
zwischen den Primrschlsseln bestimmt, unter
einer Bedingung, und zwar, da diese vielwertige
Abhngigkeiten gegenseitig sein sollen.
9. Falls zwischen 2 Primrschlsseln vielwertige
gegenseitige Abhngigkeiten existieren dann
werden diese 2 Primrschlssel einen anderen
Primrschlssel bilden, der zu einer neuen Tabelle
fhrt.
10. Es werden die berflssigen Tabellen beseitigt.
Bibliographie
Ivancenco V., Boldeanu D. Datenbanken : theorie und
praxis, Bucuresti, Editura ASE, 2006.
Source: http://www.datenbanken-
verstehen.de/datenbanken/datenbank-
grundlagen/datenbankmodell/relationales-
datenbankmodell/
Schubert, Matthias: Datenbanken, B.G. Teubner Verlag,
Wiesbaden 2004, S. 76 - Uwe Homm Version vom 17.
Februar 2009 (Source:
http://www.uwehomm.de/Datenbanken/PDF/20%20Integ
ritaetsbedingungen.pdf)