• Keine Ergebnisse gefunden

Einführung Einführung in in DatenbankenDatenbanken

N/A
N/A
Protected

Academic year: 2021

Aktie "Einführung Einführung in in DatenbankenDatenbanken"

Copied!
24
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

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

(2)

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

2

Element 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: ?

(3)

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

(4)

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

(5)

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

2

Mit 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

(6)

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)

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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 (?)

(12)

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

(13)

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.

(14)

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.

(15)

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?

(16)

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

(17)

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)

...

(18)

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

(19)

37 FB Automatisierung und Informatik: Einf. in Datenbanken

Relation

mathematisch: Teilmenge eines Kartesischen Produkts (Kreuzprodukts)

R ist Teilmenge von M

1

x M

2

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

(20)

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

(21)

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

(22)

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)

(23)

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

(24)

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

Entitätstypen, Entitäten, Relationen

Referenzen

ÄHNLICHE DOKUMENTE

[r]

F¨ ur folgende Zahlenmengen benutzt man Standardbezeichnungen. nat¨ urliche Zahlen: N =

[r]

Wenn Sie behindert waren und der Grad der Behinderung mindestens 70 betragen hat oder bei einem Grad der Behinderung von mindestens 50 gleichzeitig eine erhebliche

Diesem Schiff würde ich nicht vertrauen.. Auf dem Schiff befiehlt

Vor allem wird die konkrete Form des (juristischen) Eigentums, das heißt die Möglichkeiten, über es zu verfügen, von den jeweiligen Formen der gesellschaftlichen Verhältnisse

Wie der libysche Botschafter bei den Vereinten Nationen, Shalgam, der sich seit Beginn der Revolte gegen Gaddafi gestellt hat, in der Resolutionsdebatte feststellte: „Muam-

Strategiebaustein: Nach einer Datenänderung werden die Daten anderer Benutzer automatisch aktualisiert. Strategiebaustein: Eine Transaktion