Datenbank

Werbung
Software Engineering
Datenmodellierung
Datenmodellierung
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
1
Inhalt
•
Grundkonzepte
•
Begriffe
•
Entity-Relationship-Modell
•
Normalformen
•
Beziehungstypen
•
Ein Beispiel
•
ODBC, SQL
•
Datenmodell und Systemanalyse / -entwurf
Datenmodellierung
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
2
Einführung
Gespeicherte Daten, die durch Computerprogramme verarbeitet
werden, sind auf allen Systemen anzutreffen.
Wir sehen diese als Dateien auf den Datenträgern.
Wie sind solche Daten organisiert?
Was unterscheidet Datenbanken von anderen Dateien?
Wie erstellt man eine vernünftige Datenbank?
Datenmodellierung
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
3
Grundkonzept
Datenbanken
sind eine Menge von Daten, die durch Strukturierung als Information für ein
bestimmtes Thema oder einen bestimmten Zweck verwendet werden.
Kundenanschriften
Artikeldaten
Aufträge
Telefonnummern
Rechnungsdaten
Unternehmensdatenbank
Datenmodellierung
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
4
Grundkonzept
Relationale (Tabellen) Datenbank
In der tabellarischen Struktur werden die Daten zu einem
bestimmten Datenobjekttyp (z.B. Kunde) in Zeilen und
Spalten dargestellt. Die Zeilen stehen für Datensätze und
die Spalten für die Felder des Datensatzes. Diese Tabellen
sind also zweidimensional angelegt.
KdNr
Firma
StrasseHausnummer
PLZ
Ort
1
Laser & Co. Solutions
Promenadenring 8
02708
Löbau
2
Musterbau GmbH
Musterstraße 22-23
78123
Musterhausen
(Auto)
Datenmodellierung
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
5
Begriffe
Datenbank
eine Sammlung von Datenobjekten mit gleicher Strukur.
Relation
Tabelle
Relationale Datenbank
eine in Tabellenform organisierte Datenbank
Attribut
Feld / Spalte einer Tabelle, Eigenschaft eines Entity
Tupel
eine Zeile / ein Datensatz in einer Tabelle / Relation
Primärschlüssel
eindeutiges Merkmal zur Identifizierung eines Datensatzes
Relationship
Beziehung zwischen zwei Tabellen
Fremdschlüssel
Zeiger auf einen Datensatz einer anderen Tabelle (Relationship)
Index
zusätzliche sortierte Tabelle für den schnelleren Zugriff auf Datensätze
Datenmodellierung
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
6
Datenbank
Attribut 1
Attribut 2
Attribut 3
0001001
0001002
Attribut 1
Attribut 2
Attribut 3
0001003
0001004
0001005
Attribut 1
Attribut 2
Attribut 3
0001006
Rechnungsdaten
Die Daten
Kundenanschriften
102001000
102001001
Attribut 1
Attribut 2
Attribut 3
102001002
102001002
102001003
102001004
Attribut 1
Attribut 2
Attribut 3
einer Datenbank
werden
Artikeldaten
als Tabellen,
sogenannte
Telefonnummern
“Tables“
gespeichert.
Aufträge
Tabellen haben eine feste Anzahl von Spalten (=Attribute/Felder)
Datenmodellierung
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
7
Datenbank
Tabellen stehen in einer Datenbank in Beziehung
Attribut
Attribut
Attribut
1 Attribut 12 Attribut 32 Attribut 3
0001001Attribut 1
Attribut 2 Attribut 3
KdNr
Name
Vorname
0001002
0001003
0001004
0001005
0001006
010001
Müller
Joachim
Dresden
010002
Seidel
Michael
Chemnitz
Attribut 1
Attribut 2
Attribut 3
Attribut
00010011 Attribut 2 Attribut 3
Attribut 1 Attribut 2 Attribut 3
KdNr 0001002
AuftrNr
Datum
0001003
010001 0001004
00173
02.10.1999
0001005
010001
05012
01.11.2000
0001006
010003
Mayer
Frank
Speyer
010001
06234
22.01.2001
010004
Richter
Margitta
Berlin
010004
06235
22.01.2001
Datenmodellierung
Ort
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
8
Eine ACCESS Datenbank
Beziehung
Nutzerführung
Eingabemaske
Übersicht
Tabelle
Datenmodellierung
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
9
Entity-Relationship-Modell, ERM
Entity-Relationship-Diagramm, ERD
Für den Entwurf von Relationalen Datenbanken wurde von Peter Chen
1973 das Entity-Relationship-Modell entwickelt. Das Darstellungsmittel
für die Datenmodellierung ist das Entity-Relationship-Diagramm. Diese
Methodik hat bis zum heutigen Zeitpunkt an Bedeutung immer weiter
zugenommen.
Datenmodellierung
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
10
Begriffe
Entity
ein Objekt zu dem Informationen zu speichern sind
Relationship
Beziehung zwischen zwei Entitäten
Attribut
Feld / Spalte einer Tabelle, Eigenschaft eines Entity
Table
Tabelle, Relation
Kardinalität
beschreib die Typen von Beziehungen (Beziehungstypen)
Normalformen
Regeln zum Entwurf von Datenbanken
Datenmodellierung
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
11
Elemente
Entity
ist ein Gegenstand (Objekt) oder ein
gedankliches Konstrukt mit klarer
Bedeutung und Abgrenzung.
Relatinship
Beziehung zwischen zwei Entitäten.
Kardinalität
der Beziehungstyp beschreibt wie viele
Ausprägungen des einen Entitytyps mit
Ausprägungen eines anderen Entitytyps in
Beziehung stehen können.
Kunde
erhält
1
n
Kunde
1
erhält
n
Rechnung
Ein Kunde erhält keine, eine oder viele Rechnungen.
Eine Rechnung gehört zu genau einem Kunden.
Datenmodellierung
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
12
Elemente
Entity
Relationship
Ein Entity, wird auch oft als Entität oder Objekt
bezeichnet, ist eine Sache die eindeutig identifiziert
werden kann. Entitäten können in verschiedenen
Entitätstypen klassifiziert werden wie Kunde, Arbeitnehmer, Rufnummer. Im Entity-Relationship-Diagramm wird ein Entity mit hellblauem Rechteck
dargestellt.
Es gibt viele Typen von Beziehungen zwischen den
Entitäten, von denen nur einige für das Unternehmen
von Interesse sind. Sie als Datenbankdesigner sind
für die richtige Auswahl der Beziehungstypen
verantwortlich.
Den
Beziehungstyp
zwischen
Entitytypen bezeichnet man als Relationship,
welches es bei einer Beziehung zu spezifizieren gilt.
1
Kunde
n
löst aus
Auftrag
Table
Kardinalität
Möchte man nun die in einem Entity definierten
Attribute als Tabelle in der Datenbank realisieren,
muss man das gewünschte Entity einem Table
zuweisen.
Die Kardinalität eines Beziehungstyps gibt an, wie
viele Ausprägungen des einen Entitytyps, Beziehungen zu einer Ausprägung des jeweils anderen
Entitytyps haben können. Die Kardinalität wird
durch die Beschriftung der Beziehungskanten ausgedrückt. Diese werden nach dem Autor des ERM
benannt, der Chenschen Notation.
1:1
Datenmodellierung
(eins-zu-eins) | 1: n (eins-zu-viele) | m: n (viele-zu-viele)
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
13
Kardinalitäten
(Beziehungstypen)
1:1 Beziehung
1
Datenmodellierung
1
1:n Beziehung
1
n:m Beziehung
n
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
n
m
14
Normalformen
Die Theorie der Normalisierung, die durch E.F. Codd begründet worden ist,
besteht aus Regeln die sicher stellen, dass ihre Datenbank konsistent,
zukunftssicher und redundanzarm ist.
Diese Regeln werden auch als Normalformen bezeichnet von denen die ersten 3
die wichtigsten sind.
Es gibt die Normalformen 1-3 (1NF-3NF), die aus Codds Originaldefinition von
1972 hervorgegangen sind. Boyce und Codd definierten 1974 eine Boyce-CoddNormalform (BCNF). R. Fagin fügte dieser 1977 eine vierte und 1979 eine
fünfte hinzu.
Datenmodellierung
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
15
1. Normalform
Eine Relation befindet sich in der ersten Normalform wenn alle Attribute nur
atomare Werte beinhalten.
KdNr
Name
GebJahr
Alter
Bankverbindung
1
Huwaldt, Alexander
1965
36
430002345, Kreissparkasse XYZ, BLZ 850340200
2
Riedel, Toralf
1964
35
672009001, SpardaBank ABC, BLZ 850200310
KdNr
Vorname
Name
GebJahr
Alter
Kreditinstitut
BLZ
Konto
1
Alexander
Huwaldt
1965
36
Kreissparkasse XYZ
850340200
430002345
2
Toralf
Riedel
1964
35
SpardaBank ABC
850200310
672009001
Datenmodellierung
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
16
2. Normalform
Eine Relation (Tabelle) befindet sich in 2. Normalform wenn sie der 1.
Normalform genügt und alle nicht zum Schlüssel gehörenden Attribute vom
Schlüssel vollständig abhängig sind. (Abhängigkeit: Attribut-Teilschlüssel)
KdNr
Vorname
Name
GebJahr
Alter
Kreditinstitut
BLZ
Konto
1
Alexander
Huwaldt
1965
36
Kreissparkasse XYZ
850340200
430002345
2
Toralf
Riedel
1964
35
SpardaBank ABC
850200310
672009001
KdNr
Firma
GebJahr
Alter
BLZ
Konto
1
Huwaldt, Alexander
1965
36
850340200
430002345
2
Riedel, Toralf
1964
35
850200310
672009001
Datenmodellierung
BLZ
Kreditinstitut
850340200
Kreissparkasse XYZ
850200310
SpardaBank ABC
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
17
3. Normalform
Eine Relation (Tabelle) befindet sich in 3. Normalform wenn sie der 2.
Normalform genügt und keine funktionalen Abhängigkeiten zwischen Attributen
bestehen. (funktionale Abhängigkeit: Attribut-Attribut)
KdNr
Firma
GebJahr
Alter
BLZ
Konto
1
Huwaldt, Alexander
1965
36
850340200
430002345
2
Riedel, Toralf
1964
35
850200310
672009001
Datenmodellierung
BLZ
Kreditinstitut
850340200
Kreissparkasse XYZ
850200310
SpardaBank ABC
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
18
Kardinalitäten und Tabellen
Tabelle 1
1
1
Entity 1
Relationship
Entity 2
Tabelle 1
Tabelle 2
1
Entity 1
n
Relationship
Tabelle 1
Tabelle 3
n
Entity 1
Datenmodellierung
Entity 2
Tabelle 2
m
Relationship
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
Entity 2
19
ERD Beispiel
(SiSy)
Kunde
1
erhält
Rechnung
n
1
m
beinhaltet
n
Artikel
Datenmodellierung
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
20
ERD Beispiel
(SiSy)
Kunde
1
erhält
Rechnung
n
n
beinhaltet
m
Artikel
Datenmodellierung
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
21
ERD Beispiel
(SiSy)
Kunde
Kunde
Rechnung
1
erhält
Rechnung
n
Positionen
n
Artikel
beinhaltet
m
Artikel
Datenmodellierung
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
22
ERD Beispiel
(ACCESS)
Artik e / Teile
n
beinhalten
m
Bes tellung
n
erz eugt
n
realis iert
1
Lieferant
1
n
1
OO
1
Warenengang
Datenmodellierung
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
23
ODBC

Open DataBase Connectivity = Offene Datenbankschnittstelle

ODBC ermöglicht Anwendungen, auf fremde Datenbanken zuzugreifen

Voraussetzung ist ein installierter ODBC-Treiber für die jeweiligen Datenbanken
Anwendungen
Word
ODBCSchnittstelle
SiSy
Access
Datenmodellierung
(=Betriebssystemkomponente)
Treiber
Datenbanken
Access
Access
dBase
dBase
FoxPro
FoxPro
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
24
SQL
Structured Query Language (SQL)
SQL ist eine strukturierte Abfragesprache, die für das Abfragen, Aktualisieren
und Verwalten von relationalen Datenbanken verwendet wird.
Typische SQL-Statement die in unterschiedlichen Programmiersprachen
benutzt werden können:
• CREATE TABLE
• ALTER TABLE
• DROP TABLE
... erzeugt eine Tabelle
... ändert eine Tabelle
... löscht eine Tabelle
Beachten Sie, dass hier die physische Datenstrukur erzeugt/verändert wird,
d.h. alle eventuell bestehenden Datensätze gehen verloren.
• SELECT … FROM … WHERE
... fragt eine Tabelle
mit bestimten Kriterien ab
CREATE TABLE Auftr ( AuftragsNummer CHAR(100), Datum DATETIME, KundenNummer LONG )
Datenmodellierung
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
25
Datenentwurf und SA
• Der Strukturierung der Funktionen wird die Strukturierung der Daten beigestellt.
• Mit dem Entity-Relationship-Modell können die Struktur und die Beziehungen von Daten
beschrieben werden.
• Die so entstandenen Datenmodelle können bis zur Definition der physischen Datenbanken
verfeinert werden.
• Die Entities repräsentieren die Speicher der Strukturierten Analyse.
Eingabe
Datenfluss
Kunde
1
erhält
n
Rechnung
Systemfunktion
2
Ausgabe
Systemfunktion
1
speichern
Rechnung
Datenmodellierung
Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions
Systemfunktion
3
lesen
26
Herunterladen