Relation

Werbung
Widerholung
• DBVS = eine Softwaresystem zum
Organisieren, Speichern, Zugreifen, Analysieren
und Aendern 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 umgrenztnen Gebiet.
• Die Datenbank = eine Sammlung von nichtredundanten Daten, die von mehreren
Anwendungen benutzt werden.
Bemerkung
In jedem System, in dem Daten verwaltet
werden, müssen diese eine bestimmte Struktur
haben. Diese Struktur heißt "SCHEMA" einer
Datenbank. Diese Struktur, zusammen mit den
assoziirten Operatoren wird als Datenmodell,
logisches Modell oder konzeptuelles Modell
bezeichnet.
Es gibt hierarhische Datenmodelle (mit einer
Baumstruktur), Netzwerkdatenmodelle (mit einer
Netzstruktur) relationale Datenmodelle und OO
Datenmodelle.
ARCHITEKTUR VON
DATENBANKVERWALTUNGSSYSTEMEN
•
•
•
•
•
Hierarchische Datenbanksysteme
Netzwerk - Datenbanksysteme
Relationale Datenbanksysteme
Objekt-relationale Datenbanksysteme
Objektorientierte Datenbanksysteme
Gemäss 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
Benutzerbedürfnissen.
c)interne Ebene (technische Sicht)
beschreibt wie die Daten auf dem
physischen Speichermedium
gespeichert werden.
Die wesentliche Speicherformen sind:
• sequentielle Speicherung;
• indizierte Speicherung;
• index-sequentielle Speicherung;
Externe
Sicht 1
Externe
Sicht 2
….
Externe
Sicht n
Externe
Schemata
externe/konzeptuelle
Modellierung
Konzeptuelles Schema
konzeptulle/interne Modellierung
Internes Schema
Geschpeicherte Datenbank
Relationale Datenmodell
Das Model benutzt eine eigene formale
Sprache, obwohl logisch äquivalente Begriffe
aus der Dateiorganization bekannt sind.
Dateiorganization
Relationale
Modell
Repräsentant für
Datei
Relation
Objekttyp (Z.B. Kunde)
Feld
Attribut
Objekteigenschaft (z.B. Name)
Satz
Tupel
Objektausprägung (Daten zur einem
spezielle Kunden)
Beispiel
Attribute
Relation PERSONAL
Name
Vorname
Schneider Anne
Derer
Franz
Müller
Günter
Matr.Nr.
2312
2000
2222
Gehalt
5200
8000
6000
Tupeln
Die Grundterminologie
Relationale Objekte
• Relation (Tabelle)
• Attribut (Spalte, Feld)
• Domain (Wertebereich)
• Degree(Ausdehnungsgrad der Tabelle)
• Tupel (Datensatz, Rekord)
• Cardinalität
• Key (Schlüsselfeld)
• Candidate – Key (eindeutiger Schlüssel)
• Primary – Key ( Hauptschlüssel)
• Alternate – Key (Zweitschlüssel)
• Foreign – Key (Fremdschlüssel)
Relationale Integritätsregeln
• Entity – Integrität
• Referentielle Integrität
Relationale Operationen
• Restriction (Zeilenselektion)
• Projection (Spaltenselektion)
• Union (Vereinigung)
• Intersection (Schnittmenge)
• Difference (Diferenz)
• Product (Kartesisches Produkt)
• Join (Verbindung)
• Division (Division)
Relation – eine Tabelle, in der in
zweidimensionaler Anordnung die Datenelemente erfaßt sind, wobei:
• Bestandsrelation: bildet eine Objektklasse
mit identischen Merkmale (Feldern);
• Beziehungsrelation: schafft eine
Beziehung zwischen zwei verschiedenen
Bestandsrelationen.
Eine Relation hat zusätzlich 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 möglich, 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 Domäne. Da alle Elemente
einer Domäne atomar sind, sind auch die Elemente eines Attributes atomar.
Wenn eine Relation diese Eigenschaft hat, erfüllt sie die Bedingung der
ersten Normalform (siehe Normalformen).
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. Möbelart).
Domäne bezeichnet den Definitionsbereich eines
Attributes. So besteht zum Beispiel die Domäne
Möbelart aus den Werten "Stuhl", "Tisch",
"Sessel".
Degree. Die Anzahl der Attribute einer Relation
wird mit Degree (Ausdehnungsgrad) bezeichnet.
Eine Relation mit nur einem Attribut wird unär,
eine mit zwei Attributen binär genannt. Eine
Relation mit n Attributen wird n-ary gennant.
Tupel. Ein Tupel entspricht einer Zeile innerhalb
der Tabelle und enthält alle auf ein Objekt
bezogenen Feldwerte bzw. Merkmalsausprägungen.
Cardinalität. Mit Cardinalität bezeichnet man die
Anzahl der Tupel einer Relation. Diese ist
zeitabhängig und kann auch gleich Null sein,
wenn die Relation leer ist.
Schlüsselfeld dient der eindeutigen identifikation
eines Tupels in einer Relation und der
Herstellung von Beziehungen zwischen
verschiedenen Relationen.
Schlüsselkandidat (Candidate – Key). Eine
Attributmenge wird Schlüsselkandidat genannt,
wenn alle Werte dieser Attributmenge unique
(eindeutig) sind. Es existieren somit zu keinem
Zeitpunkt zwei Werte eines Candidate-Keys mit
gleichem Inhalt.
Eine Relation kann ein oder mehrere CandidateKeys besitzen:
Relation BÜCHERREGAL
Nr.
Titel
1
Einsicht ins Ich
2
Metamagicum
3
Gödel, Escher, Bach
4
Das Sein
5
Der Pfahl im Fleische
Autor
Hofstadter
Hofstadter
Hofstadter
Sartre
Sartre
ISBN
3-608-9303038
3-608-930089
3-608-93037
3-498060600
3-33499105268
Relation mit mehreren Candidate-Keys
Primärschlüssel(Primary–Key): 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 Primärschlüssel erklärt
oder ein neues Attribut speziell für diesen Zweck
eingeführt wird. (z.B. eine Nummer).
Der Primärschlüssel darf keine Null-Werte
enthalten und sie ist "die Adresse" des Tupels,
was nicht bedeutet, daß ein Zugriff nur über ihn
möglich sein soll.
Der Primärschlüssel soll mindestens einen
schnellen Zugriffspfad garantieren, mit dem
exakt ein Tupel angesprochen werden kann.
Mit Hilfe dieses Primary-Keys werden meist die
Verknüpfungen der Relationen in der Datenbank
hergestellt.
Fremdschlüssel (Foreign Key). Ein Attribut einer
Relation B wird als Fremdschlüssel bezeichnet,
wenn es nicht Primärschlüssel von B ist, aber
Primärschlüssel der Relation A ist.
Beide Attribute(oder Attributmengen, wenn der
Key aus mehr als einem Attribut besteht)
müssen der gleichen Domäne unterliegen.
Es ist wichtig, daß ein Datenbanksystem weiß,
welche Attributmenge den Primärschlüssel
definiert und welche Fremdschlüssel existieren.
Nur so kann das DBVS die referenzielle Integrität
der Datenbank gewährleisten.
Relation ARTIKEL
Artnr.
110
120
125
Name
Felix
Bruno
Pascha
Möbelart
Sthul
Tisch
Sessel
Artgrnr.
M10
M10
M15
Relation ARTIKELGRUPPE
Artgrnr.
M10
M15
M37
Bezeichnung
Eßmöbel
Kleinmöbel
Gartenmöbel
Lagerort
A25
B13
C12
Primärschlüssel und Fremdschlüssel
Aus Performancegründen
(durch Performance versteht man die
Arbeitsgeschwindigkeit eines DVSystems)
können zusätzlich beliebig viele Keys in
einer Relation definiert werden.
Diese werden dann Alternate-Keys oder
auch Secondary–Keys (Zweitschlüssel
oder Sekundärschlüssel) genannt.
Sekundärschlüssel (Secondary–Key) : jedes
beliebige
Attribut,
das
schlüssel
ist
und
Eigenschaften haben kann.
Relation KUNDE
Kunden Name
nr.
25
64
35
46
66
67
99
Honeywell
IBM
Müller AG
Epson
Schmidt
KG
K&N
Köbig
nicht
PrimärKlassifizierende
Strasse
PLZ
Wohnort
Kontonr
Friedenstr.34
Kaiser-Ring 10
Waldstr. 123
Rheinstr. 75
Sonnenstr. 243
5450
6500
6200
6000
6000
Neuwied
Mainz
Wiesbaden
Frankfurt
Frankfurt
739495
94588324
5632734
63744
8377402
Industriestr. 12
Flachstr. 45
6200
6500
Wiesbaden
Mainz
748288
8474700
Mit Hilfe dieses Konzepts lassen sich aber nicht nur verschiedene
Objekte darstellen, sondern auch Beziehungen zwischen diesen.
Relation LAND
Name
Einwohner
Deutschland
62.150.200
Scheweden
8.358.000
Norwegen
4.190.000
Finland
4.925.772
Hauptstadt
Berlin
Stockholm
Oslo
Helsinki
Relation STADT
Name
Einwohner
Stockholm
663.217
Oslo
449.337
Bonn
292.727
München
1.290.079
Berlin
1.860.000
Moskau
8.801.000
AbL
S
N
D
D
D
RF
AbL
D
S
N
SF
Relation ARTIKEL
Haupschlüssel
Artnr.
110
120
125
Name
Felix
Bruno
Pascha
Fremdschlüssel
Möbelart
Sthul
Tisch
Sessel
Artgrnr.
M10
M10
M15
4 Attribute
aus 4 Wertebereiche
3 Tupel ,
Cardinalität = 3
Degree = 4
Die wichtigsten Begriffe des
Relationalen Modells
die Grundeigenschaften des
relationallen Modelles
• eine Relation wird durch eine Tabelle dargestellt in
welcher jede Reihe einen Tupel (Satz) und jede Spalte
ein Domän 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 Einschränkungen verändert
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 Ausprägungen vom
selben Typen und bilden ein Domän.
Relationale Integritätsregeln
Integrität im Bezug auf eine Datenbank bedeutet, das sie unversehrt
ist, also keine wiedersprüchlichen Daten in ihr gespeichert sind.
Die relationale Integritätsregeln beziehen die Entity – Integrität und die
Referenzielle- Integrität.
Mit der Entity – Integrität wird sichergestellt, daß jedes Tupel (Entity) in
einer Relation einen eindeutigen Schlüssel besitzt. Also, wenn ein
Attribut die Komponente eines Primärschlüssels ist, dann darf
dieses Attribut zu keinem Zeitpunkt einen NULL-Wert enthalten.
Durch die referentielle Integrität wird sichergestellt, daß z.B. alle Artikelgruppennummern in der Artikel-relation auch in der Relation
Artikelgruppe sind.
Also, für die referentielle Integrität, besitzt eine Relation R2 einen
Fremdschlüssel, der auf einen Primärschlüssel in einer Relation R1
verweist. Dabei muß jeder Wert des Fremdschlüssel in R2 gleich
einem Wert des Primärschlüssel in R1 sein oder der Wert des
Fremdschlüssels muss ein NULL-Wert sein.
Herunterladen