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.

Kurs 2 - Datenbankmodellen

Embed Size (px)

Citation preview

Page 1: Kurs 2 - Datenbankmodellen

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.

Page 2: Kurs 2 - Datenbankmodellen

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.

Page 3: Kurs 2 - Datenbankmodellen

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

Page 4: Kurs 2 - Datenbankmodellen

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.

Page 5: Kurs 2 - Datenbankmodellen

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;

Page 6: Kurs 2 - Datenbankmodellen

…. Externe

Schemata

externe/konzeptuelle

Modellierung

Konzeptuelles Schema

konzeptulle/interne Modellierung

Internes Schema

Geschpeicherte Datenbank

Externe

Sicht 1

Externe

Sicht 2

Externe

Sicht n

Page 7: Kurs 2 - Datenbankmodellen

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

Page 8: Kurs 2 - Datenbankmodellen

• 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

Page 9: Kurs 2 - Datenbankmodellen

• 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

Page 10: Kurs 2 - Datenbankmodellen

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)

Page 11: Kurs 2 - Datenbankmodellen

Beispiel

Relation PERSONAL

Name Vorname Matr.Nr. Gehalt

Schneider Anne 2312 5200

Derer Franz 2000 8000

Müller Günter 2222 6000

Attribute

Tupeln

Page 12: Kurs 2 - Datenbankmodellen

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)

Page 13: Kurs 2 - Datenbankmodellen

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.

Page 14: Kurs 2 - Datenbankmodellen

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).

Page 15: Kurs 2 - Datenbankmodellen

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".

Page 16: Kurs 2 - Datenbankmodellen

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.

Page 17: Kurs 2 - Datenbankmodellen
Page 18: Kurs 2 - Datenbankmodellen

Beispiel Attribute Domäne

Page 19: Kurs 2 - Datenbankmodellen

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.

Page 20: Kurs 2 - Datenbankmodellen

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:

Page 21: Kurs 2 - Datenbankmodellen

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).

Page 22: Kurs 2 - Datenbankmodellen

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.

Page 23: Kurs 2 - Datenbankmodellen

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.

Page 24: Kurs 2 - Datenbankmodellen

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

Page 25: Kurs 2 - Datenbankmodellen

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

Page 26: Kurs 2 - Datenbankmodellen

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.

Page 27: Kurs 2 - Datenbankmodellen

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

Page 28: Kurs 2 - Datenbankmodellen

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

Page 29: Kurs 2 - Datenbankmodellen

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.

Page 30: Kurs 2 - Datenbankmodellen

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

Page 31: Kurs 2 - Datenbankmodellen

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.

Page 32: Kurs 2 - Datenbankmodellen

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.

Page 33: Kurs 2 - Datenbankmodellen

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.

Page 34: Kurs 2 - Datenbankmodellen

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.

Page 35: Kurs 2 - Datenbankmodellen

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.

Page 36: Kurs 2 - Datenbankmodellen

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)