15 - Udo Matthias Munz

Werbung
15
Datenbankgrundlagen
15.1 Allgemeines zu Datenbanken
15.2 Relationale Datenbanken
15.3 Entity-Relationship-Modell
15.4 Normalisierung von Daten
15 Datenbankgrundlagen
Inhalt
1
Allgemeines zu Datenbanken
 Ein Datenbankprogramm verwaltet in der Regel
große Mengen von Daten und ermöglicht für diese
Datensammlung folgende Funktionalität:
 Lesen
 Ändern
 Löschen
 Hinzuzufügen
Lohn- und
Gehaltsabrechnung
PERSONALDATEN
15 Datenbankgrundlagen
Zuordnungsliste:
Mitarbeiter in den
Abteilungen
ABTEILUNGSDATEN
Allgemeines zu Datenbanken
Adressliste sortiert
nach Wohnort
KUNDENVERZEICHNIS
2
Datenbanktypen
 Hierarchische Datenbanken
 Rangordnung zwischen den Datensätzen
 Verarbeitung unterschiedlich langer Datensätze
 Netzwerk-Datenbanken
 Beziehungen zwischen den Daten sind immer vom Typ 1 : n
 Objektorientierte Datenbanken
 Keine Speicherung von Daten, sondern von
Objekten (= Daten + Operationen auf den Objekten)
 Verteilte Datenbanken
 Datenhaltung in mehreren Datenbanken
 Relationale Datenbanken
 Daten werden als Tabellen gespeichert, zwischen denen
Beziehungen bestehen können (Abfragesprache SQL)
15 Datenbankgrundlagen
Allgemeines zu Datenbanken
3
Sichten auf eine Datenbank
Lagerbestand
(Formular 1)
Umsätze
(Formular 2)
Lagerbestand
(Abfrage 1)
Umsatz
pro Kunde
(Abfrage 2)
Artikeltabelle
(Access-DB)
Kundentabelle
(Access-DB)
Externe Sicht (Benutzersicht)
15 Datenbankgrundlagen
Europäische
Top 10-Kunden
(Bericht 1)
Top 10-Kunden
(Abfrage 3)
Rechnungen
(Excel-Datei)
Logische Sicht
Allgemeines zu Datenbanken
Europäische
Kunden
(Abfrage 4)
Artikeltabelle
(dBase-DB)
Interne Sicht
4
Datenbankentwurf
 Logisch (Struktur der Daten und Bindungen
untereinander)
 Art der Datenzusammenfassung (z.B. Tabellen)
 Art der Beziehungen zwischen den Daten
(z.B. referenzielle Integrität)
 Einfügen der Business-Logik: Gültigkeitsprüfungen,
Eingabeformate etc. (Gewährleistung der Konsistenz)
 Physisch (Speicherung der Daten)
 Verteilung der Daten auf dem Datenträger
 Zugriffsmöglichkeiten auf die Daten (Netzwerk, Internet, lokal, ..)
 Optimierung der Datenspeicherung für oft auftretende
Suchoperationen
 Automatische Sicherungsmechanismen
15 Datenbankgrundlagen
Allgemeines zu Datenbanken
5
Datenbankmanagementsysteme
 Datenbankmanagementsystem DBMS =
Software zur Verwaltung der Daten
 Aufgaben
 Verarbeitung von Benutzeranfragen
 Lieferung der gewünschten Daten
 Abbildung der drei Sichten auf die Daten
 Berücksichtigung von Benutzerberechtigungen
 Protokollierung von Datenänderungen
 Überprüfung von Dateneingaben und Löschvorgängen
 Berücksichtigung eines Mehrbenutzerbetriebs
15 Datenbankgrundlagen
Allgemeines zu Datenbanken
6
Hilfsmittel und Methoden zum Datenbankentwurf
 Relationales Datenmodell
 Darstellung der Daten in Tabellen, zwischen denen
Beziehungen bestehen können
 Integritätsregeln
 Überprüfung der Daten bei Änderungen, Lösch- und
Einfügevorgängen
 Direkt in den Tabellen hinterlegt
 Normalisierungsprozess
 Methode zur redundanzfreien Speicherung von Daten
 Vermeidung fehlerhafter Datenerfassung beim Löschen,
Ändern, Hinzufügen von Daten
 Entity-Relationship-Modell
 Grafische Darstellung aller relevanten Tabellen und
Beziehungen
15 Datenbankgrundlagen
Allgemeines zu Datenbanken
7
Begriffe in relationalen Datenbanken
 Relation =





Tabelle (Konstruktion aus Zeilen und Spalten)
Tabelle =
Speicherort für Daten
Spalten =
Felder bzw. Attribute
Zeilen =
Datensätze bzw. Tupel
Schlüssel =
Hauptindex (Primärschlüssel)
Fremdschlüssel =
Beziehung zu einem Schlüsselfeld einer anderen
Tabelle
15 Datenbankgrundlagen
Relationale Datenbanken
8
Entity-Relationship-Modell
 Entity-Relationship-Modell (ER-Modell) =
Abbildung aller Elemente eines relationalen
Datenbanksystems und deren Beziehungen
untereinander
1
ABTEILUNG
a
cn
besteht aus
b
e
e
AbteilungsNr
n
MITARBEITER
a
Bezeichnung
PersonalNr
Nachname
arbeitet in
b
PROJEKTE
a
c
Vorname AbteilungsNr
ProjektNr
15 Datenbankgrundlagen
dm
Entity-Relationship-Modell
e
ProjektNr
f
Beschreibung
PersonalNr
9
Elemente im ER-Modell (1 von 3)
 Entität (Entity)
 Objekt, Begriff, Ereignis, Person
 Entspricht einem Datensatz
 Besitzt Eigenschaften (= Datenfeldnamen)
 Beispiele:
 Abteilung Forschung
 Mitarbeiter Schmidt
 Projekt 1009
 Entitätsmenge
 Sammlung von Entitäten
 Entspricht einer Tabelle
 Beispiele:
 Alle Abteilungen
 Alle Mitarbeiter
 Alle Projekte
15 Datenbankgrundlagen
Entity-Relationship-Modell
10
Elemente im ER-Modell (2 von 3)
 Beziehung (Relationship)
 Verknüpfung von Entitäten
 Beispiel:
 Mitarbeiter Schmidt arbeitet an Projekt 1009
 Beziehungsmenge
 Verknüpfung von Entitätsmengen
 Beispiel:
 Mitarbeiter arbeitet an Projekt
 Beziehungstyp
 0
- keine Zuordnung
 1
- genau eine Zuordnung
 n, m - viele Zuordnungen
 Beispiele:
 1 Abteilung besteht aus n Mitarbeitern
 n Mitarbeiter arbeiten an m Projekten
15 Datenbankgrundlagen
Entity-Relationship-Modell
11
Elemente im ER-Modell (3 von 3)
 Eigenschaften (Attribute)
 Charakterisieren Entitäten oder Beziehungen
(= Datenfeldnamen)
 Beispiel:
 Abteilungsname
 Mitarbeitername
 Projektname
 Domäne
 Wertebereich einer Eigenschaft
 Beispiel:
 Personal-Nr (1 - 999)
 Primärschlüssel (= Eigenschaft)
 Eindeutige Identifizierung einer Entität
 Beispiel: Personal-Nr
15 Datenbankgrundlagen
Entity-Relationship-Modell
12
Beschreibung eines Datenmodells (1 von 2)
 ABTEILUNG (AbteilungsNr, Bezeichnung)
Abteilung
AbteilungsNr
Bezeichnung
 MITARBEITER (PersonalNr, Nachname, Vorname,
AbteilungsNr)
Mitarbeiter
PersonalNr
Nachname
Vorname
AbteilungsNr
 PROJEKT (ProjektNr, Beschreibung)
Projekt
ProjektNr
15 Datenbankgrundlagen
Beschreibung
Entity-Relationship-Modell
13
Beschreibung eines Datenmodells (2 von 2)
 Projektauswertung
(ProjektNr, PersonalNr, Stunden)
Projektauswertung
(arbeitet in)
ProjektNr
15 Datenbankgrundlagen
PersonalNr
Entity-Relationship-Modell
Stunden
14
Fertiges Entity-Relationship-Modell
Abteilung
1
besteht aus
n
Mitarbeiter
m
arbeitet in
n
Projekt
15 Datenbankgrundlagen
Entity-Relationship-Modell
15
Umsetzung Tabellen, 1:1-, 1:n-Beziehungen
Abteilung
Mitarbeiter
Projekt
15 Datenbankgrundlagen
Entity-Relationship-Modell
16
Umsetzung m:n-Beziehungen
Projektauswertung
15 Datenbankgrundlagen
Entity-Relationship-Modell
17
Problem: Datenredundanz
 Datensätze oder Datenfeldinhalte werden mehrfach
in verschiedenen Tabellen gespeichert
=> Speicherplatzverschwendung
=> Änderungen und Löschvorgänge der Daten
an mehreren Stellen erforderlich
=> Gefährdung der Datenkonsistenz
15 Datenbankgrundlagen
Normalisierung von Daten
18
Lösung: Normalisierung
 Normalisierungsprozess
 Daten werden auf mehrere Tabellen verteilt
 Regeln zur 1. - 5. Normalform
(in der Praxis: bis zur 3. Normalform)
 1. Normalform
 Keine Mehrfacheinträge in einem Feld
 2. Normalform
 Jedes Nichtschlüsselfeld ist nur vom gesamten Schlüssel
abhängig
 3. Normalform
 Nichtschlüsselfelder sind nicht über ein anderes NichtSchlüsselfeld identifizierbar (transitive Abhängigkeit)
15 Datenbankgrundlagen
Normalisierung von Daten
19
1. Normalform
Keine Mehrfacheinträge in Datensätzen
15 Datenbankgrundlagen
Normalisierung von Daten
20
2. Normalform
Nichtschlüsselfelder
vom
Gesamtschlüssel
abhängig
15 Datenbankgrundlagen
Normalisierung von Daten
21
3. Normalform
Nichtschlüsselfelder
nicht über andere
Nichtschlüsselfelder
identifizierbar
15 Datenbankgrundlagen
Normalisierung von Daten
22
Herunterladen