Upload
tanasescu-toma
View
11
Download
0
Embed Size (px)
Citation preview
Widerholung
• DBVS = eine Softwaresystem zumOrganisieren, Speichern, Zugreifen, Analysierenund Ändern von Datenbestaenden.
Ein DBVS arbeitet mit Daten welche inDatenbanken organisiert sind und garantiertdie Richtigkeit der Daten, die Richtigkeit imMehrbenutzerbetrieb, das Datensicherheit.
• Die Datenbank = eine electronisch organisierteDatensammlung zu einem tematisch oderorganisatorisch begrenzten Gebiet.
• Die Datenbank = eine Sammlung von nicht-redundanten Daten, die von mehrerenAnwendungen benutzt werden.
Bemerkung
In jedem System, in dem Daten verwaltet
werden, müssen diese eine bestimmte Struktur
haben.
Diese Struktur heißt 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
Gemäss der Konzeption ANSI-SPARC[1] entwickeltsich 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;
• 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 möglichen Tabellen dar.
Die Operationen auf diese Relationen werden durch die
relationale Algebra bestimmt. Des Weiteren ist die relationale
Algebra auch die Grundlage für 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 verknüpft sind.
Jede Zeile (auch Tupel genannt) in einer
Tabelle ist ein Datensatz (Record).
Jedes Tupel besteht aus einer großen
Reihe von Attributen (Eigenschaften), den
Spalten der Tabelle.
Relationale Datenmodell
• Ein Relationsschema legt dabei die Anzahl
und den Typ der Attribute für eine Tabelle
fest.
• Des Weiteren können Verknüpfungen
(Beziehungen) über
sogenannte Primärschlüssel (Primary
Key) hergestellt werden, um bestimme
Attribute, die den gleichen Primärschlüssel
oder in einer Detailtabelle als
Fremdschlüssel 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 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
Relation PERSONAL
Name Vorname Matr.Nr. Gehalt
Schneider Anne 2312 5200
Derer Franz 2000 8000
Müller Günter 2222 6000
Attribute
Tupeln
Die Grundterminologie
Relationale Objekte
• Relation (Tabelle)
• Attribut (Spalte, Feld)
• Domäne (Wertebereich)
• Degree (Ausdehnungsgrad der Tabelle)
• Tupel (Datensatz, Record)
• Cardinalität
• Key (Schlüsselfeld)
• Candidate Key – Key (eindeutiger Schlüssel)
• Primary Key – Key (Primärschlüssel)
• Alternate Key – Key (Zweitschlüssel)
• Foreign Key – Key (Fremdschlüssel)
Relation – eine Tabelle, in der in
zweidimensionaler Anordnung die Daten-
elemente 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, derenAttributwerte den gleichen Inhalt haben.
• Tupelreihenfolge.
Die Reihenfolge, mit der die Tupel in einer Relationgespeichert sind, ist nicht definiert. Man darf sich also nie aufeine bestimmte Reihenfolge der Tupel in einer Relationverlassen!
• Attributreihenfolge.
Die Reihenfolge der Attribute in einer Relation ist nichtdefiniert. Es ist also nicht möglich, das n-te Attribut einerRelation anzusprechen. Man kann ein bestimmtes Attribut nurmit seinem Namen ansprechen.
• Attributenwerte sind atomar.
Die Werte eines Attributes unterliegen einer Domäne. Da alleElemente einer Domäne atomar sind, sind auch die Elementeeines Attributes atomar (kann nicht zerlegt werden).
Relationsschema. Die Menge der Felder(Attributen) die einer Relation entsprechen wirdRelationsschema genannt. Die Syntax istfolgende
<Relationsname> (<Feld1>,<Feld2>,<Feld3>,...<Feld n>)
Attribut. Unter einem Attribut versteht man einFeld innerhalb der Beschreibung eines Tupels(z.B. Möbelart).
Domäne bezeichnet den Definitionsbereich einesAttributes. So besteht zum Beispiel die domäneMöbelart aus den Werten "Stuhl", "Tisch","Sessel".
Degree (Ausdehnungsgrad der Tabelle)
Die Anzahl der Attribute einer Relation wird mitDegree (Ausdehnungsgrad) bezeichnet. EineRelation mit nur einem Attribut wird unär, einemit zwei Attributen binär genannt. Eine Relationmit n Attributen wird n-ary gennant.
Tupel. Ein Tupel entspricht einer Zeile innerhalbder Tabelle und enthält alle auf ein Objektbezogenen Feldwerte bzw. Merkmals-ausprägungen.
Cardinalität. Mit Cardinalität bezeichnet man dieAnzahl der Tupel einer Relation. Diese istzeitabhängig und kann auch gleich Null sein,wenn die Relation leer ist.
Beispiel Attribute Domäne
Schlüsselfeld dient der eindeutigen identifikationeines Tupels in einer Relation und derHerstellung von Beziehungen zwischenverschiedenen Relationen.
Schlüsselkandidat (Candidate – Key). EineAttributmenge wird Schlüsselkandidat genannt,wenn alle Werte dieser Attributmenge unique(eindeutig) sind. Es existieren somit zu keinemZeitpunkt zwei Werte eines Candidate-Keys mitgleichem Inhalt.
Relation BÜCHERREGAL
Nr. Titel Autor ISBN
1 Einsicht ins Ich Hofstadter 3-608-9303038
2 Metamagicum Hofstadter 3-608-930089
3 Gödel, 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-Keysbesitzen:
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. Vertrag Nummer).
Der Primärschlüssel darf keine Null-Werteenthalten und sie ist "die Adresse" desTupels, was nicht bedeutet, daß ein Zugriffnur über ihn möglich sein soll.
Der Primärschlüssel soll mindestens einenschnellen Zugriffspfad garantieren, mitdem exakt ein Tupel angesprochenwerden kann.
Mit Hilfe dieses Primary-Keys werden meistdie Verknüpfungen der Relationen in derDatenbank hergestellt.
Fremdschlüssel (Foreign Key) - Ein Attributeiner Relation B wird als Fremdschlüsselbezeichnet, wenn es nicht Primärschlüssel vonB ist, aber Primärschlüssel der Relation A ist.
Beide Attributen (oder Attributmengen, wenn derKey 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üsseldefiniert und welche Fremdschlüssel existieren.
Nur so kann das DBVS die referenzielle Integritätder Datenbank gewährleisten.
Beispiel:
Relation A – Attribute 1 ist Primärschlüssel
Relation B - Attribute 1 ist Fremdschlüssel
Relation A
Attribute 1
Attribute 2
Relation B
Attribute 3
Attribute 1
Relation ARTIKEL
Artnr. Name Möbelart Artgrnr.
110 Felix Sthul M10
120 Bruno Tisch M10
125 Pascha Sessel M15
Relation ARTIKELGRUPPE
Artgrnr. Bezeichnung Lagerort
M10 Eßmöbel A25
M15 Kleinmöbel B13
M37 Gartenmöbel C12
Primärschlüssel und Fremdschlüssel
Aus Performancegründen
(durch Performance versteht man dieArbeitsgeschwindigkeit eines DV-Systems)
können zusätzlich beliebig viele Keys ineiner Relation definiert werden.
Diese werden dann Alternate-Keys oderauch Secondary–Keys (Zweitschlüsseloder Sekundärschlüssel) genannt.
Sekundärschlüssel (Secondary–Key) : jedes beliebige Attribut, das nicht Primär-
schlüssel 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 Müller 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 Köbig Flachstr. 45 6500 Mainz 8474700
Relation ARTIKEL
Haupschlüssel Fremdschlüssel
Artnr. Name Möbelart 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 ,
Cardinalität = 3
Die Grundeigenschaften des
Relationallen Modellen
• Eine Relation wird durch eine Tabelle dargestellt inwelcher jede Reihe einen Tupel (Satz) und jede Spalteein domäne darstellt;
• Jede Reihe der Tabelle muss verschieden von denanderen Reihen sein (Duplikate sind verboten);
• Die Reihenfolge der Reihen in der Tabelle ist nichtfestgelegt und kann ohne Einschränkungen verändertwerden;
• Die Spalten der Tabellen werden durch verschiedeneNamen identifiziert und stellen die Felder (Attribute) dar;
• Ein Attribut darf nur ein einziges Mal innerhalb einerRelation auftreten.
• In jeder Spalte der Tabelle sind die Ausprägungen vomselben Typen und bilden ein domäne.
Relationale Integritätsregeln
Integrität im Bezug auf eine Datenbankbedeutet, das sie unversehrt ist, also keinewieder sprüchlichen Daten in ihr gespeichertsind.
Die relationale Integritätsregeln beziehen
• die Entity – Integrität
• die Referenzielle Integrität
Eine Datenbank soll für den abzubildendenAusschnitt der Realität korrekte Daten liefern.
Eine Art der Integrität von Daten ist sicherlich, obdie gespeicherten Werte wahr sind. Diese Formder Integrität lässt sich nur durch einen Vergleichmit der Wirklichkeit überprüfen
Die Integrität der Daten (Matthias,2004) kann durch die
folgenden drei Bedingungen gewährleistet werden:
• 1. Jeder Datensatz einer Tabelle hat einen eindeutigen
Primärschlüsselwert. Man nennt diese Bedingung auch
Entity-Integrität.
• 2. Zu jedem Wert eines Fremdschlüsselattributes in
einer Tabelle T1 gibt es in der referenzierten Tabelle T2
einen Datensatz dessen Primärschlüsselattribut den
gleichen Wert hat. Diese Form der Integrität nennt man
referenzielle Integrität.
• 3. Weitere Bedingungen, die beim Anlegen von Tabellen
formuliert wurden, sind erfüllt. Man nennt solche
Bedingungen auch Constraints (Einschränkungen). Ein
Constraint könnte sein, dass der Wert eines Attributes
"Lagerbestand" nicht kleiner Null werden darf.
Die Entity-Integrität wird dadurch erreicht, in dem manbeim Anlegen einer Tabelle ein Attribut oder eineAttributkombination als Primärschlüssel definiert. Im
Beispiel ist das Attribut "Student Code" alsPrimärschlüssel definiert.
Also, wenn ein Attribut die Komponente einesPrimärschlüssels ist, dann darf dieses Attribut zukeinem Zeitpunkt einen NULL-Wert enthalten.
Durch die referentielle Integrität wird sichergestellt, daßz.B. alle Artikel-gruppennummern in der Artikel-relation auch in der Relation Artikelgruppe sind.
Also, für die referentielle Integrität, besitzt eineRelation R2 einen Fremdschlüssel, der auf einenPrimärschlüssel in einer Relation R1 verweist. Dabeimuß jeder Wert des Fremdschlüssel in R2 gleicheinem Wert des Primärschlüssel in R1 sein oder derWert des Fremdschlüssels muss ein NULL-Wert sein.
Projektierung relationalen Models durch Normalisierungsprozess
Notwendige Etappen
1. Es werden die Attribute von den Primärdokumenten,Berichten, Situationen usw. vorgenommen und in einDatenwörterbuch eingeschlossen. Ein Attribut kommtnur einmal in einem Datenwörterbuch vor. DasDatenwörterbuch enthält keinen berechnetenAttributen.
2. Auf Grund der Verwaltungsregeln, werden diefunktionelle Abhängigkeiten zwischen Attributenfestgesetzt. Die Darstellung der funktionelleAbhängigkeiten kann durch eine Matix oder einemDiagramm der funktionellen Abhängigkeiten realisiertwerden.
3. Alle bestimmende Attributen werden
Candidaten Schlüssel.
4. Es werden Primärschlüssel von der Candidaten
Schlüssel gewählt.
5. Mit jedem Primärschlüssel und von diesem
direkt bestimmten Attributen (nicht transitiv),
wird eine Tabelle gegründet.
6. Wenn es einzelne Attribute gibt, die von
keinem Primärschlüssel bestimmt werden,
dann werden Non-schlüssel Attributengruppen
gesucht, die diese bestimmen können.
7. Wenn keine solche Attribute übrigbleiben, dannwerden Gruppen von Primärschlüssel gesucht (diewir vorher festgesetzt haben) die sie bestimmenkönnen. Diese Gruppen werden anderePrimärschlüssel bilden.
8. Es werden die vielwertigen Abhängigkeitenzwischen den Primärschlüsseln bestimmt, untereiner Bedingung, und zwar, daß diese vielwertigeAbhängigkeiten gegenseitig sein sollen.
9. Falls zwischen 2 Primärschlüsseln vielwertigegegenseitige Abhängigkeiten existieren dannwerden diese 2 Primärschlüssel einen anderenPrimärschlüssel bilden, der zu einer neuen Tabelleführt.
10. Es werden die überflüssigen 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)