1 FB Automatisierung und Informatik: Einf. in Datenbanken
Einführung
Einführung in in Datenbanken Datenbanken
■
Dipl.-Inf. Michael Wilhelm
■
Hochschule Harz
■
FB Automatisierung und Informatik
■
mwilhelm@hs-harz.de
■
Raum 2.202
■
Tel. 03943 / 659 338
Inhalt
1. Grundlegende Begriffe der Datenbanktechnologie 2. Datenbankentwurf / Datenmodelle
3. ER-Modell / ER-Diagramm 3. Normalisierung
4. SQL-Sprache
3 FB Automatisierung und Informatik: Einf. in Datenbanken
Mathematische Grundlagen
Definition 9 - Menge:
Eine Menge als Zusammenfassung von bestimmten, wohlunterschiedenen Objekten zu einem Ganzen ist ein fundamentaler Begriff in der Mathematik:
A = {a1,a2,a3,...an}
und nennen die a
i, die durch Komma getrennt aufgezählt wer- den, Elemente der Menge A. Also ist z.B. a
2Element der Menge A, d.h. A
2∈ A
In der Menge spielt die Reihenfolge der Elemente keine Rolle, und ebenso ist wichtig, dass es keine Elementeswiederholung gibt.
Definition 10 - Kartesisches Produkt:
Seien a und b beliebige Elemente. Dann bezeichnet (a,b) ein geordnetes Paar, bestehend aus erster und zweiter Koordinate.
Das kartesische Produkt zweier Mengen A und B ist die Menge aller geordneten Paare, deren erste Koordinate ein Element von A und deren zweite Koordinate Element von B ist.
A ×××× B { (a,b) | a ∈ ∈ ∈ ∈ A und b ∈ ∈ ∈ ∈ B
Beispiel:
A = {King, Scott, Adams}
B = {Accounting, Research}
Lösung: ?
5 FB Automatisierung und Informatik: Einf. in Datenbanken
Definition 11 - Relation:
Eine Relation zwischen zwei Mengen A und B ist eine Teilmenge R des kartesischen Produkts der beiden Mengen.
R ⊆ ⊆ ⊆ ⊆ A ×××× B
ist eine zweistellige Relation, da zwei Mengen bei der Bildung beteiligt sind.
Beispiel: (entspricht der modellierten Realität) R ⊆ A × B = {
(King, Accounting), (Scott, Research), (Adams, Research) }
Beziehungstypen:
Eine zweistellige Relation ist eine Abbildung aus der Menge A in die Menge B. Durch die geordneten Paare wird dem Element a das Element b zugeordnet. Für die Abbildung sind mathematisch so genannte
Zuordnungstypen, in der Datenbanktheorie als Beziehungstypen bezeichnet.
Da Beziehungstypen die gegenseitige Zuordnung beschreiben, sind sie die Kombination aus zwei gegenseitigen Assoziationstypen. Es sind bei der Betrachtung der Beziehungen zwischen den einzelnen Elementen, im einfachsten Fall, zweier Mengen, die Standpunkte ausgehend von jeweils einer Menge anzugeben:
Assoziationstyp Bedeutung
1 - einfache Assoziation jedem Element aus A ist ein Element aus B zugeordnet
c - konditionelle Assoziation
jedem Element aus A ist kein, oder ein Element aus B zugeordnet
m - multiple Assoziation jedem Element aus A ist mindestens ein Element aus B zugeordnet
7 FB Automatisierung und Informatik: Einf. in Datenbanken
Beziehungstypen:
Werden diese Assoziationstypen, die nur eine Richtung der Abbildung beschreiben, verwendet, die Beziehungstypen zu definieren, so erhält man folgende Übersicht:
Beziehungstypen Bedeutung
1 c m mc
1 1:1 c:1 m:1 mc:1 hierarchische Beziehung c 1:c c:c m:c mc:c konditionelle
Beziehung m 1:m c:m m:
m
mc:m netzförmige
mc 1:m c
c:m c
m:
mc
mc:mc Beziehung
9 FB Automatisierung und Informatik: Einf. in Datenbanken
Definition 12 - Funktion:
Eine Funktion F ist eine spezielle Abbildung, nämlich eine eindeutige Abbildung aus der Menge a in die Menge B:
F = { (a,b) | a ∈ ∈ ∈ ∈ A und b ∈ ∈ ∈ ∈ B}
Eindeutigkeit heißt, dass aus
(a,b
1) ∈ ∈ ∈ ∈ F und (a,b
2) ∈ ∈ ∈ ∈ F ⇒ ⇒ ⇒ ⇒ b
1= b
2Mit folgender Schreibweise:
F: A→ → → →B
A wird Definitionsbereich von F genannt B wird der Wertebereich von F genannt.
B ist funktional abhängig von A.
Datenorganisation
■
Daten müssen persistent (dauerhaft, über die Dauer einer Anwendung hinaus) gespeichert werden
–
Daten: Folgen von binären Zuständen (0/1, ein/aus)
–
persistente Speicherung: z. B. Magnetisierung eines Datenträgers
■
kleinste Speichereinheit ist der Sektor
■
Betriebssystem stellt eine Datei als logisches Konstrukt zur
Verfügung
11 FB Automatisierung und Informatik: Einf. in Datenbanken
Aufbau einer Festplatte
Software-Schichten
Betriebssystem (Windows NT) System-Software Benutzerschnittstellen
(Windows) Basis-Software Textverarbeitungssysteme
(Word)
Anwendungs-Software Desktop Publishing Systeme
(Publisher) Individual-Software angepasste DesktopPublishing Systeme
Datenbanksysteme (SQL Server)
13 FB Automatisierung und Informatik: Einf. in Datenbanken
Aufgaben eines DBMS (Codd 1982)
■
Integration
■
Operationen
■
Katalog
■
Benutzersichten
■
Konsistenzüberwachung
■
Zugriffskontrolle
■
Transaktionen
■
Synchronisation
■
Datensicherung
Datenbanken entstehen...
■
...im Datenbankentwurfsprozess
■
Ergebnis des Datenbankenwurfsprozesses ist
◆
die Datendefinition
- Beschreibung der (logischen) Datenbankstruktur, der Daten und ihrer Beziehungen zueinander
- die Zuordnung zu externen Speichermedien
- die Definition der Nutzersichten
- Beschreibung der Integritätsbedingungen
- Beschreibung der Zugriffsrechte
15 FB Automatisierung und Informatik: Einf. in Datenbanken
Phasen und Phasenmodelle
Besserer, effizienterer Datenbankentwurfsprozess durch Untergliederung in Phasen (Phasenmodell)
– Problemstellung analysieren und spezifizieren
■ Nutzersichten berücksichtigen
■ funktionelle und qualitative Anforderungen festlegen
– Datenbankentwurf
■ konzeptionelles Datenmodell
– Implementierung/Installation (Prototyp)
■ mit DBMS-Software
– Test (Prototyp)
– Optimierung
– erneuter Test
– Betrieb und Wartung
Prototypen
■
„ein funktionsfähiges Muster oder Vorbild des zu entwickelnden Programmes“
(Trautloft, Lindner, Datenbanken)■
können einen Teil oder alle funktionellen Leistungen des zukünftigen Programmes enthalten
■
begleitet(n) alle Phasen des Entwicklungsprozesses
17 FB Automatisierung und Informatik: Einf. in Datenbanken
Prototyen
Notwendigkeit:
■
zukünftige Nutzer erhalten durch Einsicht in die Spezifikation nur unvollständige Vorstellung vom tatsächlichen Leistungsvermögen der DB
■
zum Zeitpunkt der Spezifikation der Anforderung sind meistens nicht alle Anforderungen bekannt
■
zu einem möglichst frühen Zeitpunkt können Fehler festgestellt und Änderungswünsche berücksichtigt werden
■
meistens entstehen durch Erprobung eine Menge von Änderungswünschen
Haupt- und Hilfsprozesse
Analysieren und spezifizieren Entwurf
Implementieren Nutzung, Wartung
Kontrolle Dokumentation Verwaltung
Hauptprozesse
Hilfsprozesse
19 FB Automatisierung und Informatik: Einf. in Datenbanken
Anforderungen an Datenbanksysteme
■
langfristig
■
skalierbar
■
verteilt
■
sicher
■
schnell
■
plattformunabhängig
■
anwendungsneutral
■
einfach zu bedienen
langfristig
■
allgemein anerkannte Form
■
viele Produkte
skalierbar
■
für kleine Datenmengen „overkill“ (hoher Aufwand)
■
für größere bis sehr große Datenmengen geeignet
■
Anpassung im laufenden Betrieb
■
modularer Aufbau
■
Profis - Anfänger
21 FB Automatisierung und Informatik: Einf. in Datenbanken
verteilt
■
Datenbank
■
Tabellen
sicher
■
Redundanzfreiheit (Datenintegration)
■
Datenkapselung (Zugriff nur über definierte Schnittstelle)
■
Transaktionskonzept
■
Synchronisation konkurrierender Zugriffe
■
Konsistenzmechanismen (Trigger, Constraints)
■
Sicherungsmechanismen (Backup, Replikation)
■
Wiederherstellungsmechanismen (Recovery)
■
Nutzer- und Rechteverwaltung
schnell
■
Indizierung
■
Anfrageoptimierung
plattformunabhängig
■
auf der Basis unterschiedlicher Betriebssysteme
■
Verteilung (?)
23 FB Automatisierung und Informatik: Einf. in Datenbanken
anwendungsneutral
■
an keine Anwendung gebunden
■
standardisierte Schnittstelle
■
3-Ebenen-Konzept (Datenunabhängigkeit)
■
Benutzersichten
einfach zu bedienen
■
einfache Abfragesprache
■
Benutzersichten
■
Masken
Methodik des DB-Entwurfs
Analyse des Realitätsausschnitts
funktionelle Spezifikation
Struktureller Entwurf im ERM
Entwurf der Relationen, Normalisierungen
Implementierungsentwurf Auswahl der DBMS
Ggf. Verteilungsentwurf Entscheidung über Client-Server-Architektur
DMBS unabhängigDMBS abhängig
25 FB Automatisierung und Informatik: Einf. in Datenbanken
Methodik des DB-Entwurfs
Entwicklungsschritte (1)
■ 1. Analyse des Realitätsausschnittes:
Neben der Abgrenzung und Eingrenzung des zu modellierenden Realitätsausschnittes ist das Erkennen von Objekten und deren Beziehungen zwischen ihnen wichtig. Dieses Herausarbeiten der Grundobjekte für eine spätere Verarbeitung muss in enger
Wechselwirkung mit der Zielstellung des Datenbankentwurfes, d.h. vor allem mit der funktionellen Spezifikation, erfolgen.
■ 2. Funktionelle Spezifikation:
Es ist festzulegen, in welcher Weise die Objekte zu bearbeiten sind. Es sind ggf. Nutzergruppen mit unterschiedlichen Anforderungsprofilen zu berücksichtigen. Umfang und Zielstellung des Datenbanksystems sind zu beschreiben.
27 FB Automatisierung und Informatik: Einf. in Datenbanken
Entwicklungsschritte (2)
■ 3. Grobentwurf:
In der Phase des Grobentwurfes erfolgt die eigentliche Modellierung als Abstraktionsprozess. Die für die Verarbeitung wesentlichen Merkmale von Objekten und Beziehungen müssen bestimmt werden. In diesem Entwicklungsschritt wird die Modellierung mit dem „Entity-Relationship- Modell“ bevorzugt.
■ 4. Feinentwurf:
Der Feinentwurf erfolgt meist im relationalen Datenmodell. Es werden alle Details zu den „Relationen“ der Datenbasis festgelegt. Es erfolgt eine Normierung der Relationen zur Vermeidung von Anomalien bei der Nutzung der Datenbank und zur Beseitigung von Redundanz.
Entwicklungsschritte (3)
■ 5. Implementierungsentwurf:
Es werden Festlegungen zur Hardwarearchitektur (integrierte oder verteilte Datenbank bzw. Nutzung einer Datenbank im Rechnernetz) getroffen. Entsprechend der Hardwarevoraussetzungen, der
Datenmodellierung und den Anforderungen an die Funktionalität und die Leistungsparameter wird ein konkretes Datenbankmanagementsystem ausgewählt.
■ 6. Implementierung der Datenbank
Mit Hilfe der Datenbeschreibungssprache wird die Struktur der
Datenbasis angelegt, und unter Nutzung der Datenmanipulationssprache werden die realen Daten eingespeichert und die Datenbasis aufgebaut.
29 FB Automatisierung und Informatik: Einf. in Datenbanken
Entwicklungsschritte (4)
■ 7. Nutzung und Testung der Datenbank:
Mit der Implementierung eines Prototyps kann eine Nutzung als Testbetrieb beginnen. Schwachstellen und Fehler werden erkannt und beseitigt. Organisatorische Festlegungen zum Datenbankbetrieb, zum Datenschutz, zur Datensicherheit werden getroffen.
■ 8. Regulärer Betrieb der Datenbank:
In dieser Phase wird vor allem die Leistungsfähigkeit der
Datenbankimplementierung beobachtet. Auswertungen der „LOG“- Aufzeichnungen und Nutzerhinweise sollte der Datenbank-administrator zur Leistungsverbesserung nutzen.
Wie erstellt man Datenbanken?
31 FB Automatisierung und Informatik: Einf. in Datenbanken
Phasenmodell Datenbankentwurf
■
Anforderungsanalyse
■
Konzeptioneller Entwurf
■
Verteilungsentwurf
■
Logischer Entwurf
■
Datendefinition
■
Physischer Entwurf
■
Implementierung und Wartung
3 Entwurfsebenen
■
konzeptioneller Entwurf z. B. ER-Modell, OO Modell
■
logischer Entwurf Datenbankschema
■
physischer Entwurf
z. B. Dateistruktur
33 FB Automatisierung und Informatik: Einf. in Datenbanken
Datenbankmodelle für den Entwurf
■
Entity-Relationship-Modell (ER Modell)
■
Unified Modeling Language (UML)
■ ...
Datenbankmodelle für die Realisierung
■
Hierarchisches Modell
■
Netzwerkmodell
■
Relationenmodell
■
Erweiterte Relationale und Semantische Modelle
■
Objektorientierte Modelle (z. B. ODMG)
■
Objektrelationales Modell
■
Multidimensionale Modelle
■
Semistrukturierte Datenbanken (z. B. XML)
■
...
35 FB Automatisierung und Informatik: Einf. in Datenbanken
Relationenmodell
■
1970 von Codd eingeführt
■
basiert auf der mathematischen Relation
Darstellungskonzepte
■
Relation
■
Attribut
■
Tupel
■
Primärschlüssel
■
Fremdschlüssel
37 FB Automatisierung und Informatik: Einf. in Datenbanken
Relation
■
mathematisch: Teilmenge eines Kartesischen Produkts (Kreuzprodukts)
R ist Teilmenge von M
1x M
2x ... x M
n■
Kreuzprodukt zweier Mengen ist die Menge aller Paare
■
Bsp.:
A:={u,v}, B:={x,y}
AxB:={(u,x), (u,y), (v,x), (v,y)}
Relation (2)
■
Menge (mathematisch), nicht: Beziehung
■
Menge von Entitäten
■
gleiche Merkmale
■
kontextabhängige Mengenbildung
■
als Tabelle abgebildet
■
Beispiele:
Personen, Wetterstationen, Bücher, Straßen, Bäume, ...
■
Unterschied zum mathematischen Konzept: Elemente aus
dem Wertebereich eines Attributs können in mehreren
Tupeln vorkommen
39 FB Automatisierung und Informatik: Einf. in Datenbanken
Mathematische Relation
Bonn
Cambridge Rom
Madrid
Seattle Spanien
England Deutschland USA
Italien
Madrid, Spanien
Cambridge, England Rom, Italien Bonn, Deutschland Seattle, USA
Menge 1 Menge 2 Relation
R ⊆ ⊆ ⊆ ⊆ A ×××× B
Cambridge, USA
DB-technische Relation
Bonn
Cambridge Rom
Madrid
Seattle Spanien
England Deutschland USA
Italien
Madrid, Spanien
Cambridge, England Rom, Italien Bonn, Deutschland Seattle, USA Cambridge, USA
Menge 1 Menge 2 Relation
R ⊆ ⊆ ⊆ ⊆ A ×××× B
41 FB Automatisierung und Informatik: Einf. in Datenbanken
Attribut
■
Merkmal einer Entität (Tupelkomponente)
■
Wert ist die i-te Komponente eines Tupels
■
Wert aus einem bestimmten Wertebereich
■
„Spalte“ einer Relation
■
keine Ordnung (Reihenfolge)
■
Beispiele:
Person: Vorname (Ida, Berta, Anna), Alter (positive ganze Zahl, 0-120)
Straße: Funktion (Fußgängerzone, Straßenverkehr), Breite der Fahrbahn (positive gebrochene Zahl)
Tupel
■
eine bestimmte Entität (Instanz)
■
alle Merkmalswerte (n-Tupel)
■
„Zeile“ einer Relation
■
keine Ordnung (Reihenfolge)
■
Beispiele:
Ida Meier: Ida, 22
A14: Straßenverkehr, 23.5
43 FB Automatisierung und Informatik: Einf. in Datenbanken
Primärschlüssel
■ Identität eines Tupels
■ ein oder mehrere Attribute
■ Kombination der Attributwerte ist eindeutig
■ aus technischer Sicht Eindeutigkeit nicht notwendig
■ oft zusätzliche, automatisch generierte ID eingesetzt (das sichert aber nicht eine fachlich geforderte Eindeutigkeit), Eindeutigkeit einer Kombination mehrerer Attribute am einfachsten über Primärschlüssel herzustellen
■ Beispiele:
Ida, 22 und Ida, 66 A14, A7
Fremdschlüssel
■
Bezüge zwischen Relationen
■
Bezüge innerhalb einer Relation
■
„Verdopplung“ eines Primärschlüssels
■
Primärschlüssel in derselben oder in einer anderen Relation noch einmal führen (keine Zeiger, keine Adressen)
■
kein „Verweis ins Leere“ (referenzielle Integrität)
45 FB Automatisierung und Informatik: Einf. in Datenbanken
Relationen, Attribute, Tupel, Schlüssel
5 102
43 Anton
Schmitz
7 3 Haus- nummer
104 102
Straßenschlüssel
71 Maria
Müller
22 Ida
Müller
Alter Vorname Name
Inselstraße 104
Eichenweg 103
Hauptplatz 102
Nordstraße 101
Straßenname Straßenschlüssel
Primärschlüssel, zusammengesetzt
Primärschlüssel, einfach
Fremdschlüssel
Relation 1
Relation 2 Tupel
Attribut
Attributwert
47 FB Automatisierung und Informatik: Einf. in Datenbanken
Externe, konzeptionelle, interne Ebene
1. Externe Ebene:
Festlegung der Objekte und Attribute in Abhängigkeit von der jeweiligen fachlichen Fragestellung
2. Konzeptionelle Ebene:
Strukturierung und Organisation der Daten möglichst unabhängig von einer speziellen fachlichen Fragestellung und einer speziellen
Hardware und Software
3. Interne Ebene:
Festlegung von Datentypen, Speicherplätzen, Speichermedien und Zugriffsoperationen auf die Daten
Konzeptionelles Datenmodell
■
Entity-Relationship-Modell
■
P.P. Chen (1976)
■
basiert auf mengentheoretischen Aussagen
■
grafische Notation
–