Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

78
Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Transcript of Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

Page 1: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

Datenbanken

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 2: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

2

Inhalt

1. Motivation2. Grundlegende Begriffe3. Geschichte4. Aufgabenfelder / Tätigkeitsbereiche5. Grundlagen6. Formalisierung der Realität7. Modelle8. Datenmodellierung

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 3: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

3

Literatur

Meier, Andreas, [2001]: Relationale Datenbanken – Leitfaden für die Praxis, Springer, Berlin.

Heuer, Andreas / Saake, Gunter [2000]: Datenbanken: Konzepte und Sprachen, 2. Auflage, mitp, Bonn.

Vossen, Gottfried, [2000]: Datenmodelle, Daten-banksprachen und Datenbankmanagement-systeme, 4. Auflage Oldenburg, München.

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 4: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

4

Motivation

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 5: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

5

Vorher

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 6: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

6Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 7: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

7

Nachher

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 8: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

8Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 9: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

9

Datenbanken - Motivation

Die ganze Datenbankproblematik beginnt damit, dass “man” “Daten” längerfristig, d.h. über die Laufzeit eines Programmes hinaus, auf einem Computer speichern will.

Computer / Rechner EDV

(elektronische Datenverarbeitung)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 10: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

10

Datenbanken - Anforderungen

• Schnelle, flexible Suchmöglichkeiten im Datenbestand

• Gezielter schneller Zugriff auf bestimmte Eigenschaften eines Objektes

• Einfache gezielte Änderung der Daten • Paralleler Zugriff mehrerer Mitarbeiter oder

Programme auf die Daten, ohne dass die Daten fehlerhaft werden

• Datenunabhängigkeit

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 11: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

11

Datenbanken - Anforderungen

• Unterstützung von Transaktionen, (d.h. mehrere sequentiell durchgeführte Änderungen von Daten werden zusammenhängend behandelt. Entweder werden alle Änderungen durchgeführt oder keine)

• Gezielte Vergabe von Zugriffsrechten für Anwender und Entwickler

• Datenkonsistenz /-integrität• Datensicherung

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 12: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

12

Datenbanken - Anforderungen

• Gute Weiterverarbeitungs- bzw. Auswertungsmöglichkeiten der Daten durch Programme

• Hohe Leistungsfähigkeit auch bei der Verarbeitung von sehr grossen Datenmengen und sehr vielen gleichzeitigen Zugriffen

• Synchronisierte effiziente Verteilung der Daten im Netzwerk (Replikation)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 13: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

13

Grundfunktionen von DBen

• Anwender– Suche und Anzeige von Daten– Eingabe von Daten– Löschen von Daten– Veränderung von Daten

• Entwickler– Datenbank anlegen– Tabellen definieren– Verknüpfungen zwischen Tabellen

definieren

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 14: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

14

Vorteile DB gegenüber Datei

• Einfachere Strukturierbarkeit der Daten

• schnellerer systematischerer Zugriff auf die einzelne Daten

• Vorhandene Suchfunktionen bzw. Anfragesprachen (SQL, QBL)

• Flexible Verknüpfbarkeit von Daten

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 15: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

15

Vorteile von zentraler gegenüber lokaler DB

• Massiver kontrollierter Parallelzugriff• Alle berechtigten Mitarbeiter können von

ihrem Arbeitsplatz aus auf die gleichen Daten zugreifen

• Alle berechtigten Mitarbeiter können Daten manipulieren

• Zugriffsrechte können flexibel vergeben werden

• Integrierte Datenhaltung aller Daten (ohne Redundanzen)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 16: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

Grundlegende Begriffe

Page 17: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

17

Definitionen

• Datenbank

• Daten

• Datenbankmanagementsystem

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 18: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

18

Datenbank - Definition

Eine Datenbank ist eine strukturiert bzw. geordnet , elektronisch gespeicherte Sammlung von Daten(elementen).Die dabei berücksichtigen Objekte, Eigenschaften und deren technische Organisation ergeben sich im Rahmen der Datenmodellierung– aus den Aufgaben, für die sie modelliert werden,

und – aus den technischen Möglichkeiten des

Datenbankverwaltungssystems (DBMS).

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 19: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

19

Beispiele für Datenbanken

• Mitarbeiterdatenverwaltung• Kundendatenverwaltung• Auftragsverwaltung• Produktkatalog• Bibliotheksverwaltung• Lagerhaltung• Bundes-Bahn-Fahrplan • Veranstaltungsmanagement

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 20: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

20

Daten - Definition

• Daten sind einzelne oder aneinander gereihte Zeichen mit einer Bedeutung

• Daten sind Informationen in einer zur technikgestützten Darstellung und Verarbeitung geeigneten Form.

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 21: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

21

Daten - Beispiele

• Zahlen: „12646“z.B. interpretiert als Kosten in DM

oder als Postleitzahl eines Ortes

• Namen: „Herbert“

z.B. interpretiert als Vorname eines Mitarbeiters

• Datumsangabe: „10.02.02“

interpretiert als 10. Februar 2002

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 22: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

22

Datenbankmanagementsystem (DBMS)

Software-System zur Verwaltung von Datenbanken

und

Datenbankzugriffen

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 23: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

23

Reale DBMS auf dem Markt

• DB2 /UDB (IBM)• Oracle (Oracle)• MS SQL Server (Microsoft)• MySQL (Linux / Open Source)• Sybase (Sybase)• Informix (IBM)• Tamino (Software AG)• MS Access (Microsoft) (Desktop)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 24: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

Geschichte der Datenbanktechnologie

Page 25: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

25

Datenbanken - Geschichte

1. Generation

• Speicherung der Daten auf Lochkarten oder Magnetbändern

• Offline-Betrieb / Batchverarbeitung(Berichte)

• Sequentieller Zugriff auf die Daten

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 26: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

26

Datenbanken - Geschichte

2. Generation

• Speicherung der Daten auf Magnetplatten

• Online-Betrieb (interaktiv am Terminal)

• Direkter Zugriff auf die Daten

• Parallelzugriff auf die Datenbank

• Hierarchisches Datenmodell (IMS / IBM)

• Netzwerkmodell (UDS / Siemens)Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 27: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

27

Datenbanken - Geschichte

3. Generation

• Nichtprozedurale DB-Sprachen (was statt wie)

• Relationales Datenmodell (DB2, Oracle)

• Entity Relationschip Model (Chang)

• SQL (Structered Query Language)

• Datenunabhängigkeit

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 28: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

28

Datenbanken - Geschichte

4. Generation

• Datenbanken auf PC-Basis (dbase / MS-Access)

• Objektorientierte Datenbanken (Poet / O2)

• Client-Server-Architekturen

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 29: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

29

Datenbanken - Geschichte

5. Generation• Offene Schnittstellen (ODBC)• Integration mit Internettechnik (JDBC)• Objektrelationale Datenbanken • Zeitdatenbanken• Deduktive Datenbanken• Multidimensionale Datenbanken• Verteilte Datenbanken

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 30: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

Aufgabenfelder

Page 31: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

31

Aufgabenfelder

• Nutzung durch Anwender

• Entwicklung (Entwickler)

• Verwaltung (Administrator)

• Datenarchitektur (Datenarchitekt)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 32: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

32

Anwendertätigkeiten

• Daten suchen, anschauen

• Datenpflege (Aktualisierung der Daten)– neue Daten eingeben– vorhandene Daten löschen– vorhandene Daten verändern

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 33: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

33

Aufgaben Entwickler

• Datenmodellierung – Konzeptionelles Schema entwerfen– Tabellen und Verknüpfungen definieren

• Ansichten generieren

• Formulare / Masken entwerfen

• Standard-Berichte erstellen

• Anwendungsentwicklung mit DBen

• Konsistenzsicherung der Datenbasis

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 34: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

34

Aufgaben Administrator

• Implementation DBMS

• Datensicherung (Back-up)

• Benutzerverwaltung

• Tuning (Performance-Optimierung)

• Replikation im Rahmen verteilter DBen

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 35: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

35

Aufgaben Datenarchitekt

• Konzept für ein möglichst redundanzfreies unternehmensweites Datenmodell erstellen und pflegen

• Konzept zur Verteilung der Daten im Netzwerk erstellen und pflegen

• Beratung und Koordination von Entwicklern und Administratoren

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 36: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

36

Datenbankmanagementsystem (DBMS)

Zugriffsformen

DB1 DB2 DB3

Entwickler

Entwicklungs-tool

Verwaltungs-tool

Anwender-tool

Administrator Anwender

Page 37: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

Grundlagen

Page 38: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

38

Unterschied: Daten - Dokumente

• Daten setzen sich aus terminologisch kontrollierten und systematisch verknüpften Datenelementen zusammen

• Daten sind durch Datenfelder stark strukturiert (Beispiel: Tabelle)

• Dokumente sind schwach strukturierte und terminologisch wenig kontrollierte Informationen (Beispiel: Text, Multimedia)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 39: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

39

Unterschied: DBMS- DMS/CMS

• DBMS: Datenbankmanagementsystem– speichert Daten in einzelnen Feldern– erlaubt direkten Zugriff und kombinierte

Suche über jedes Datenfeld– kontrollierte Terminologie

• DMS Dokumentenmangementsystem– speichert Dokumente– Zugriff mittels Index oder Volltextsuche

• CMS: Content Management System

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 40: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

40

Unterschied: DBMS- DMS/CMS

• CMS: Content Management System– speichert Dokumente– Zugriff mittels Index, Volltextsuche, Link– Web-orientiert (Hypermedia) – Trennung von Inhalt und Form– Site-Management– unterstützt kooperatives / paralleles Web-

Publishing– Schnittstellen zu DBMS und DMS

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 41: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

41

Datenbanktypen / (Modelle)

• Hierarchische Datenbanken

• Netzwerk Datenbanken

• Relationale Datenbanken

• Objektrelationale Datenbanken

• Objektorientierte Datenbanken

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 42: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

42

Datenbanktypen

• Föderierte Datenbanken

• Multimedia Datenbanken

• Temporale Datenbanken

• Deduktive Datenbanken

• XML-Datenbanken

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 43: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

43

Datenbankanwendungen

• WEB-Datenbanken

• CAD-Datenbanken

• Data-Warehouse-Systeme

• Volltext-Datenbanken

• Geographische Informationssysteme

• Dokumenten- /Content-Management

• Suchmaschinen / Information Retrieval

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 44: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

44

Desintegrierte Datenhaltung

Datei1 Datei2 Datei3

Anw.1 Anw.2 Anw.3

Client1 Client2 Client3

Page 45: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

45

Integrierte Datenhaltung in mehreren DB

DB1 DB2 DB3

Anw.1 Anw.2 Anw.3

Client1 Client2 Client3

Datenbankmanagementsystem (DBMS)

Page 46: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

46

Integrierte Datenhaltung in einer DB

Daten-bank

Anw.1 Anw.2 Anw.3

Client1 Client2 Client3

Datenbankmanagementsystem (DBMS)

Page 47: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

47

Datenbankmanagementsystem (DBMS)

Komplette Integration

Daten-bank

Anw.1 Anw.2Client

MiddlewareS1

S2S3

S4

S6

S5

S7

S8

S9

Komponenten/Services

KomponentenServices

Page 48: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

48

ANSI (SPARC) DB-Architektur

Datei2 Datei3 Datei4

Sicht1 Sicht2 Sicht3

Benutzer2 Benutzer3Benutzer1

externe Ebene

Physikalische Ebene

Konzeptionelle Ebene / Logisches Datenmodell

Datei1 Datei5

SichtendereinzelnenBenutzer

PhysikalischeDatenorganisationund Zugriff

Page 49: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

49

Datenunabhängigkeit

• Die ANSI SPARC 3 Schema-Architektur ermöglicht Datenunabhängigkeit

• An jedem Schema können Änderungen vorgenommen werden, ohne dass die anderen Schemata davon betroffen sind.

• Am der konzeptionellen Schemata können Änderungen durchgeführt werden, ohne dass Anwendungen, die auf dem externen Schema aufsetzen, dadurch angepasst werden müssten.

• Gleiches gilt für Änderungen auf dem internen Schema

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 50: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

50

Datenqualität

• Korrektheit der Daten

• Aktualität der Daten

• Vollständigkeit der Daten

• Widerspruchsfreiheit der Daten

• Relevanz der Daten

• „Algorithmen und Datenstrukturen“

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 51: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

Formalisierung der Realität

Page 52: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

52

Formalisierung der Realität

• Gegenstände, Individuen, Objekte – Eigennamen (Peter, Hasso, USA) – Kennzeichnungen (der Pförtner von IBM)– Nominalphrasen (der Chef von IBM)

• Begriffe, Klassen, Objekttypen, Eigenschaften, Attribute, Merkmale

(Mensch, Tier, Lebewesen, Staat)

• Relationen (z.B.: grösser als, höher als)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 53: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

53

Formalisierung der Realität

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Ding

PflanzeMensch Tier

SacheLebe-wesen

Mitar-beiter

Haus Stein

BaumHund

Birke

HassoPaul

is-ais-a

is-a

is-ais-a

is-a

is-a

is-a is-a is-a

instanz instanz

BegriffeKlassenObjekttypen

Objekte

Teil-von

Ideeis-a

OberbegriffeUnterbegriffe

Page 54: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

54

Formalisierung der Realität

Logik:

is-a(Mensch, Lebewesen)

Mensch(Paul), Lebewesen(Paul)

G H is-a(G,H) ( x G(x) H(x))

instanz(Paul,Mensch), Mensch(Paul)

x G instanz(x,G) G(x)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 55: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

55

Formalisierung der Realität

Extensional: „G ist Teilmenge von H“

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Mensch

Lebewesen

.Paul

Tier

Page 56: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

56

Formalisierung der Realität

Eigenschaften / Attribute

• Klassenzugehörigkeit (Lebewesen)

• „pure“ Eigenschaft (Attribut)

Beispiele:

Gewicht, Grösse, Alter,Farbe, Name,

Gehaltsstufe, Höchstgeschwindigkeit

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 57: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

57

Formalisierung der Realität

grün(Bank1) Farbe(Bank1, grün).

schwer(Bank1) Gewicht(Bank1,schwer).

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Objektname Farbe Gewicht

schwergrünBank1

Tabelle

Page 58: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

58

Formalisierung der Realität

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Eigenschaft

Farbe Gewicht

grün schwerblau

Page 59: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

Modelle

Page 60: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

60

Modelle

• Bilden die Wirklichkeit ab durch – Zweckbezogene Abstraktion– Zweckbezogene Reduktion der

Komplexität

• schaffen bessere Einsicht in die relevanten Zusammenhänge relevanten Eigenschaften relevanten Beziehungen der relevanten Komponenten.

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 61: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

61

Modelle

• Zwischenrepräsentationen für die Entwicklung komplexer Systeme

• Darstellungen, Muster, oder Schemata gegebener oder erst noch zu schaffender Phänomene,

• Dienen in einem gegebenen Kontext bestimmten Personen bei der Verfolgung bestimmter Ziele und Zwecke.

• Sind für gewisse Aufgaben und innerhalb eines gewissen pragmatischen Kontextes geschaffen

• Unterstützen die Kommunikation zwischen Entwicklern und Anwendern

• Ermöglichen übersichtliche Spezifikation und Dokumentation

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 62: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

62

Modelle - Merkmale

• Abbildungsmerkmal(Modell von was?)

• Verkürzungsmerkmal (Selektionsmerkmal)

• Pragmatisches Merkmal (Funktion - Intention, Modell wozu? für wen? wann?)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 63: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

63

Modellierung

Die methodisch geleitete Tätigkeit

der Erstellung von Modellen

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 64: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

64

Modellierungsansatz

ist eine aufeinander abgestimmte Kombination von

• Methoden (wie ist etwas zu tun?)

• Vorgehen (was ist wann zu tun?)

• Werkzeugen (Womit ist etwas zu tun?)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 65: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

Datenmodellierung

Page 66: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

66

Datenmodellierung

• Tätigkeit zur Strukturierung der Datenbestände

Ziel:Redundanzarme systematische Beschreibung der zur computerunterstützten Arbeit mit einem DBMS benötigten Gegenstände, Begriffe und deren Zusammenhänge.

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 67: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

67

Datenmodellierung im Relationalen Modell

• Bestimmung der relevanten Objekttypen

• Bestimmung der relevanten Eigenschaften (Attribute)

• Bestimmung der Beziehungen zwischen den Objekttypen

• Abbildung der Objekttypen und der Beziehungen auf Tabellen

• Normalisierung der TabellenProf. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 68: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

68

Datenmodellierung im Relationalen Modell

Objekte (Entities) können sein:

• Dinge

• Personen

• Gegenstände

• Vorgänge

alles was Eigenschaften hat!!!

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 69: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

69

Datenmodellierung im Relationalen Modell

Definition: Relation

Eine Relation R ist eine Teilmenge des kartesischen Produktes von Domänen Di (1 i n):

R D1 x ... x Dn.

Endliche Relationen kann man auch als zweidimensionale Tabellen darstellen.

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 70: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

70

Datenmodellierung im Relationalen Modell

Tabellen

• Tabellenname

• Zeilen, Spalten, Zellen

• Merkmale, Attribute Spalten

• Datensätze Zeilen

• Datenelemente Zellen

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 71: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

71

Datenmodellierung im Relationalen Modell

Beispiel

Mitarbeiter

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

M# Name Ort

M1 Becker Basel

M2 Meier Lörrach

Spalte / Attribut

Datensatz

Datenelement / Datenwert

Page 72: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

72

Datenmodellierung im Relationalen Modell

Beziehung Tabelle / Relation

R= {(M1, Becker, Basel), (M2, Meier, Lörrach)}

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

M# Name Ort

M1 Becker Basel

M2 Meier Lörrach

Page 73: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

73

Relationen / Tabellen / ERM

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Relation Tabelle ERM

Objekttyp Relation Tabelle Entity-Typ

Objekt Tupel Zeile Entity

Eigenschaft "Stelle" in der Relation

Spalte mit Attribut- name

Attribut

Beziehung zwischen Objekten

Mittels eigener Relation zwischen Objektnamen

Durch Verknüpfung von Schlüssel-attributen

Relationship

Page 74: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

74

Datenmodellierung im Relationalen Modell

Tabellendefinition• Eindeutiger Tabellenname• Eindeutiger Merkmalsname pro Tabelle• Reihenfolge der Merkmale ist egal• Anzahl der Merkmale ist beliebig (endlich)• Anzahl der Datensätze ist beliebig (endlich)• Die Reihenfolge der Datensätze ist beliebig• Mit jedem Merkmal wird ein Datentyp verknüpft• Schlüsselfeld dient der eindeutigen Identifikation eines

Datensatzes• Es gibt keine 2 Datensätze mit identischen

SchlüsselwertenProf. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 75: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

75

Datenmodellierung im Relationalen Modell

Atomare Attributwerte:

Für das Relationale Modell gilt folgende wesentliche Einschränkung:

• Der Wert eines Attributs darf nur aus einem „atomaren“ Attributwert bestehen.

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 76: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

76

Datenmodellierung im Relationalen Modell

Beispiel:Die Relation Hobby(Name, Hobbies) enthalte die folgenden Tupel:

• (Huber, {Drachenfliegen,Segeln, Bergsteigen})• (Meier, Musik)• (Mueller, {Musik, Literatur, Theater})

Nicht-atomare Attributwerte sind • {Drachenfliegen, Segeln, Bergsteigen} und

{Musik, Literatur, Theater}. Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 77: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

77

Datenmodellierung im Relationalen Modell

Definition: erste Normalform

Eine Relation ist in erster Normalform (1NF), wenn alle ihre Attribute nur atomare Attributwerte besitzen.

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Page 78: Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

78

Datenmodellierung im Relationalen Modell

Beispiel: Normalisierung in 1NFDie Relation Hobby kann auf einfache Weise in eine Relation „Hob“

in erster Normalform überführt werden:

Relationenschema

Hob(Name: varchar(20), Hobby: varchar(30))

und folgenden Tupeln

(Huber, Drachenfliegen)(Huber, Segeln)(Huber, Bergsteigen)(Meier, Musik)(Mueller, Musik)(Mueller, Literatur)(Mueller, Theater)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002