© \\//_ Datenbankentwurf. © \\//_ Gliederung 1.Das Entity-Relationship-ModellDas Entity-Relationship-Modell 2.Transformation ins relationale Modell (Tabellen)Transformation.

Slides:



Advertisements
Ähnliche Präsentationen
ER-Modell: Objekte und Klassen
Advertisements

Datenbankdesign mit ACCESS.
Datenbanken Beispiel: Musikverwaltungsdatenbank Daten: Musikstück
Datenbank – Datenbanksystem
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Kardinalität von binären Beziehungen (1)
Prof. Dr. T. Kudraß1 Logischer DB-Entwurf. Prof. Dr. T. Kudraß2 Entwurf eines relationalen DB-Schemas Ziel: –Regeln für die Umsetzung eines ER-Modells.
Relationaler Datenbankentwurf (II)
Datenmodellierung Externe Phase Informationsstruktur
Normalisierung nach Edgar. F. CODD (1970)
Ein Entity Relationship Diagramm zur ADB/NDB
Das Entity-Relationship-Modell
Franziska Schmidt Sarah Ahlheit
Das ERM-Model Manuela Erdmann.
Schritte zu Datenmodellierung
Datenbankdesign und Normalisierung
Entity Relationship Model
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Entity-Relationship (ER)-Modell
Relationaler Datenbankentwurf (I)
Lexikalisch-Funktionale-Grammatik
Normalformen Normalisieren Schlüssel
6 Normalformen Normalisieren Schlüssel
Relationenmodell (RM)
November 2002.
Kapitel 11: Relationale Entwurfstheorie
© Katharina Brachmann Normalformen Oldenbourg S137, Klett S117
Vorüberlegung Frühere Forderung: Möglichst alle im konzeptuellen Schema ausdrückbaren Sachverhalte sollen sich im logischen Schema wiederfinden. Forderung.
Relationale Datenbanken II
Datenbank-entwicklungsprozess
Datenbank Wandertag Situationsbeschreibung
Normalisierung Referat zur Veranstaltung: Datenbanktechnologie, mit praktischen Übungen in eXist und XQuery Datum: 18. April 2011 (3.Sitzung) Dozent: Daniel.
Datenmodellierung Sammeln von Informationen
Semantisches Datenmodell Entity-Relationship-Modell Normalformen
SS 2010 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #2 Datenbankentwurf.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
(D.h. „Hallo MausFans!“ auf Japanisch).
Das relationale Modell
verstehen planen bearbeiten
Normalisierungsprozess
Relationale Datenbanken
Datenbank Wandertag Situationsbeschreibung
Dritte Normalform Relationstyp R(A1,...,An) und Menge  von FDs und MVDs für R sei im Folgenden fest vorgegeben. R ist in dritter Normalform (3NF), wenn.
Bauinformatik II Softwareanwendungen 1
Abbildung UML-Schema  Rel. Schema (1)
Erweiterung bzgl. der Kardinalität. (1|9)
Lexikalisch-Funktionale-Grammatik  Formaler Aufbau der F-Strukturen  Funktionale Beschreibungen  Funktionale Annotationen  Von der K-Struktur zur F-Struktur.
Gerhard Röhner September 2012
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #2 Datenbankentwurf.
Datenbanken Datenbank-Entwurf
Entität Attribute Beziehung AUTOR CD M 1 N leihen erstellen N verfasst
Vom Konzept zur Datenbank
Binärbäume.
Relationales Datenmodell
CD BÜCHER FREUNDE INTERPRETAUTOR Entität Attribute Beziehung Preis TitelCd# Musikricht- ung von bis Handy PLZ Ort Straße Gdatum Vorname Nachname.
Übungsblatt 3 Erläuterungen Wintersemester 15/16 DBIS.
Übungsblatt 4 Erläuterungen Wintersemester 15/16 DBIS.
Sei B = Beziehungstyp, min/max-Notation Kardinalität (0,1) von E: Jede Ausprägung e  E t (E) geht in diesem Fall höchstens einmal in B ein. Das bedeutet.
ER-Modell Gegeben E: Jedes Entity eines Typs ist eindeutig durch das zugeordnete Tupel beschrieben. (sonst wäre A nicht charakteristisch [genug]
IS: Datenbanken, © Till Hänisch 2000 Entwurfstheorie Normalisierung oder "Wie man sich Ärger erspart"
LK Informatik - Datenbanken Normalisierung von Datenbanken April/Mai 2004 (2009) Paul-Natorp-Oberschule.
SQL Basics Schulung –
Vorlesung #2 ER –Modellierung (Datenbankentwurf)
Übungsblatt 2 Erläuterungen Wintersemester 16/17 DBIS.
Vorlesung #5 Relationale Entwurfstheorie
Vorlesung #5 Überführung (Fortsetzung) / Normalformen
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #2 Datenbankentwurf
ER-Modell und Relationales Schema
Elemente von Datenbanken
 Präsentation transkript:

© \\//_ Datenbankentwurf

© \\//_ Gliederung 1.Das Entity-Relationship-ModellDas Entity-Relationship-Modell 2.Transformation ins relationale Modell (Tabellen)Transformation ins relationale Modell (Tabellen) 3.Normalisierung von RelationenNormalisierung von Relationen

© \\//_ Das Entity-Relationship-Modell Entität (engl. entity) Entitäten benötigt man für die datenmäßige Darstellung von Phänomenen eines Realitätsausschnitts. Sie sind gleichsam Abbilder dieser Phänomene in der Datenwelt. Die abgebildeten Phänomene können realer Natur, z.B. Schüler, Lehrer, Klassen, Unterrichtsfächer usw., oder nichtgegenständlicher Natur, z.B. Noten, Preise, Termine usw. sein. ● Eine Entität (engl. entity) ist eine eindeutig identifizierbare Einheit.

© \\//_ Das Entity-Relationship-Modell ● Eine Entitätsmenge (engl. entity set) fasst alle Entitäten zusammen, die durch gleiche Merkmale, nicht notwendigerweise aber durch gleiche Merkmalsausprägungen, charakterisiert sind. ● Zur grafischen Darstellung von Entitätsmengen werden Rechtecke verwendet, z.B.: Schüler Lehrer Fächer

© \\//_ Das Entity-Relationship-Modell ● Die einzelnen Entitäten einer Entitätsmenge unterscheiden sich in ihrem Wert durch verschiedene Merkmale oder Attribute, z.B.:

© \\//_ Das Entity-Relationship-Modell Beziehung (engl. relationship) Zwischen Entitäten können Beziehungen bestehen. Eine Beziehung assoziiert wechselseitig zwei (oder mehrere) Entitäten, d.h. dass eine Entität eine andere Entität kennt und mit ihr in Wechselwirkung steht: ● Eine Beziehung zwischen zwei Entitätsmengen E 1 und E 2 besteht aus der Assoziation a(E 1, E 2 ) und der dieser Assoziation entgegen gerichteten Assoziation a*(E 2, E 1 ).

© \\//_ Das Entity-Relationship-Modell ●Z●Zur grafischen Darstellung von Beziehungen werden Rhomben verwendet, z.B.: Beziehungen können auch zwischen mehr als zwei Entitäten geknüpft werden. Wir beschränken uns hier aber auf binäre Beziehungen. KlasseKlassenraum hat KlasseSchüler enthäl t

© \\//_ Das Entity-Relationship-Modell Zuordnungscharakteristiken von Beziehungen Binäre Beziehungen zwischen Entitäten können die Zuordnungscharakteristikwerte 1:1, 1:n (n:1) oder n:m annehmen. ● Zuordnungscharakteristik 1:1 – Eine Entität aus E 1 steht mit höchstens einer Entität aus E 2 in Beziehung und umgekehrt. – Beispiel: EHEFRAU und EHEMANN EhefrauEhemann ist_ver hei- ratet_ mit 11

© \\//_ Das Entity-Relationship-Modell ● Zuordnungscharakteristik 1:n bzw. n:1 – Eine Entität aus E 1 kann mit mehreren Entitäten aus E 2 in Beziehung stehen. Eine Entität aus E 2 kann höchstens einer Entität aus E 1 zugeordnet sein. – Beispiel: MUTTER und KIND MutterKind hat 1n

© \\//_ Das Entity-Relationship-Modell ● Zuordnungscharakteristik m:n – Eine Entität aus E 1 kann mit mehreren Entitäten aus E 2 in Beziehung stehen. Eine Entität aus E 2 kann ebenfalls mit mehreren Entitäten aus E 1 in Beziehung stehen. – Beispiel: ENKEL und GROSSELTERN EnkelGroßeltern haben mn

© \\//_ Das Entity-Relationship-Modell Merkmale und Schlüssel Merkmale oder Attribute werden den Entitätsmengen und Beziehungen zugeordnet. Sie enthalten wesentliche Informationen über diese Entitätsmengen bzw. Beziehungen. ● Ein Merkmal bzw. Attribut (engl. attribute) beschreibt eine bestimmte Eigenschaft, die sämtliche Entitäten einer Entitätsmenge oder sämtliche Einzelbeziehungen einer Beziehung aufweisen.

© \\//_ Das Entity-Relationship-Modell ● Zur grafischen Darstellung von Merkmalen oder Attributen werden Kreise verwendet, z.B.: Schüler lfd._Nr. Name Vorname Geb.-dat.

© \\//_ Das Entity-Relationship-Modell ● Um Entitäten in der Entitätsmenge eindeutig identifizieren zu können, müssen ein oder mehrere Merkmale als Schüssel definiert werden. Dieser Schlüssel muss jede Entität eindeutig von anderen Entitäten unterscheiden. ● Als Schlüssel können einzelne Merkmale (z.B. Personalausweisnummer), Merkmalskombinationen (z.B. Name, Vorname und Geburtsdatum) oder künstliche Merkmale (z.B. laufende Nummer) dienen.

© \\//_ Das Entity-Relationship-Modell ● Schlüsselmerkmale werden in der grafischen Darstellung wie folgt gekennzeichnet: Schüler lfd._Nr. Name Vorname Geb.-dat.

© \\//_ Das Entity-Relationship-Modell Komplexität (Min-Max-Notation) Die Komplexität gibt an, wie oft eine bestimmte Entität minimal und maximal in einer Beziehung auftreten kann. Beispiel: Jede Mutter kann minimal ein bis maximal viele Kinder haben, jedes Kind hat aber minimal und maximal genau eine Mutter. MutterKind hat 1n (1,1)(1,1)(1,*)(1,*)

© \\//_ Das Entity-Relationship-Modell... oder anders erklärt: Jede Mutter taucht in der Beziehung „hat“ mindestens einmal und höchstens viele Male auf. Jedes Kind taucht in der Beziehung „hat“ mindestens einmal und höchstens einmal auf. MutterKind hat 1n (1,1)(1,1)(1,*)(1,*)

© \\//_ Das Entity-Relationship-Modell Folgendes Beispiel verdeutlicht die Bedeutung der Min-Max- Notation: aber: Kinder sind auch Personen, haben aber noch keinen Personalausweis! Erwachsener Personalauswei s hat 11 (1,1) Person Personalauswei s hat 11 (1,1)(0,1)

© \\//_

Transformation ins relationale Modell Beispiel: Schüler lfd_Nr Name Vorname Geb_dat Schüler (lfd_Nr, Name, Vorname, Geb_dat)

© \\//_ Transformation ins relationale Modell 3.Bei 1:1-Beziehungen wird ● eine neue Relation (Tabelle) gebildet, die die beteiligten Entitätsmengen enthält. → bei Min-Max (1,1) / (1,1) oder ● der Primärschlüssel der einen Relation (Tabelle) als Fremdschlüssel in die andere Relation (Tabelle) aufgenommen. → bei Min-Max (0,1) / (1,1) oder (0,1) / (0,1)

© \\//_ Transformation ins relationale Modell Beispiel für Min-Max-Typ (1,1) / (1,1): Erwachsener Personalauswei s hat 11 (1,1) NrVornameName PA_Nr gueltig_bis Bürger (Nr, Name, Vorname, PA_Nr, gueltig_bis) oder:

© \\//_ Transformation ins relationale Modell Beispiel für Min-Max-Typ (0,1) / (1,1): Person NrVornameName PA_Nr gueltig_bis Personalauswei s hat 11 (1,1)(0,1) Person (Nr, Name, Vorname, PA_Nr) Personalausweis (PA_Nr, gueltig_bis) Fremdschlüsselbeziehung

© \\//_ Transformation ins relationale Modell Beispiel für Min-Max-Typ (0,1) / (0,1): Frau F_NrVorname Name M_Nr Vorname Name Mann verhe iratet 1 1 (0,1) Frau (F_Nr, Name, Vorname, M_Nr) Mann (M_Nr, Name, Vorname, F_Nr) Fremdschlüssel- beziehungen

© \\//_ Transformation ins relationale Modell 4.Bei 1:n-Beziehungen wird der Primärschlüssel der Relation der Entitätsmenge auf der 1-Seite als Fremdschlüssel in die Relation der Entitätsmenge auf der n-Seite eingefügt: Mutter K_NrVorname Name Kind hat 1n (1,1)(1,1)(1,*)(1,*) M_NrVorname Name Mutter (M_Nr, Name, Vorname) Kind (K_Nr, Name, Vorname, M_Nr)

© \\//_ Transformation ins relationale Modell ● Spezialfälle für 1:n-Beziehungen:

© \\//_ Transformation ins relationale Modell 5.Bei m:n-Beziehungen wird eine neue Relation erzeugt, die als Fremdschlüssel die Primärschlüssel der beteiligten Entitätsmengen und die zur Beziehung gehörenden Merkmale enthält: E_NrVornameName Enkel G_Nr Vorname Name Großeltern hab en mn am_Ort Enkel (E_Nr, Name, Vorname) Grosseltern (G_Nr, Name, Vorname) haben (E_Nr, G_Nr, am_Ort)

© \\//_ Transformation ins relationale Modell ● Spezialfälle für m:n-Beziehungen:

© \\//_ Normalisierung Gegeben sei folgende Tabelle „Mitarbeiter“: Folgende Anomalien wären möglich: Einfügungsanomalie: Es wird eine neue Arbeitsgruppe gegründet.  Ohne eingetragene Mitarbeiter nicht möglich.

© \\//_ Normalisierung Löschanomalie: Alle Mitarbeiter verlassen die Arbeitsgruppe „Öffentlichkeitsarbeit“, die aber weiter existieren soll.  Ohne Mitglieder keine Arbeitsgruppe möglich. Änderungsanomalie: Eine Arbeitsgruppe bekommt einen neuen Leiter.  Bei sämtlichen Mitarbeitern muss der AG-Leiter geändert werden. Diese Anomalien können bei unnormalisierten Tabellen (d.h. beliebige Anordnung der Merkmale) vorkommen.

© \\//_ Normalisierung Verhindern von Anomalien erfolgt durch: ● sinnvollen ER-Entwurf ohne die Möglichkeit des Auftretens solcher Anomalien oder ● Überführen vorhandener unnormalisierter Relationen in eine Normalform (  Normalisierungstheorie nach C ODD ). Man unterscheidet folgende Normalformen: ● 1. Normalform (ENF), ● 2. Normalform (ZNF), ● 3. Normalform (DNF) sowie ● B OYCE -C ODD -NF und 4. und 5. Normalform.

© \\//_ Normalisierung Die 1. Normalform (ENF) erfordert atomare (d.h. unteilbare) Einzelwerte. Wertemengen sind nicht zugelassen. Beispiel „Abteilungen“ (unnormalisiert):  Der Wertebereich von „Abt_Standorte“ enthält Wertemengen und ist damit nicht atomar.

© \\//_ Normalisierung Überführung in ENF (1. Möglichkeit) Ersetze „Abt_Standorte“ durch „Abt_S-ort_1“, „Abt_S-ort_2“ und „Abt_S-ort_3“:  Nachteile: Maximal drei mögliche Standorte pro Abteilung und Nullwerte, wenn Abteilungen weniger als drei Standorte haben.

© \\//_ Normalisierung Überführung in ENF (2. Möglichkeit) Erweiterung des Schlüssels von „A_Nr“ auf „A_Nr, Abt_Standort“:  Nachteil: Einführung von Redundanz.

© \\//_ Normalisierung Überführung in ENF (3. Möglichkeit) Entfernen des Attributs „Abt_Standorte“ und Erzeugen einer eigenen Relation „Abt_Standorte“:  beste Variante!

© \\//_ Normalisierung Die 2. Normalform (ZNF) ist durch eine volle funktionale Abhängigkeit gekennzeichnet. Das heißt also: ZNF = ENF + jedes Nichtschlüsselmerkmal hängt voll funktional vom Primärschlüssel (oder jedem anderen Schlüssel) ab. Volle funktionale Abhängigkeit liegt bei X → Y vor, wenn die Entfernung eines Attributs aus X bedeutet, dass die Abhängigkeit nicht mehr gilt.

© \\//_ Normalisierung Wenn der Primärschlüssel aus mehreren Merkmalen besteht, dann darf kein Nichtschlüsselmerkmal funktional nur von einem Teil des Primärschlüssels abhängen: M_Name hängt nur von M_Nr ab, P_Name und P_Ort hängt nur von P_Nr ab  keine ZNF!

© \\//_ Normalisierung Überführen in die ZNF Zerlegen der Relation und Erstellen von neuen Relationen für jede partielle Abhängigkeit:

© \\//_ Normalisierung Die 3. Normalform liegt vor, wenn kein Nichtschlüsselmerkmal transitiv vom Primärschlüssel abhängig ist. Das heißt also: DNF = ZNF + kein Nichtschlüsselmerkmal hängt transitiv vom Primärschlüssel ab. Transitiv abhängig ist z.B. Z von X, wenn Z von Y und Y von X abhängig ist: X → Y → Z

© \\//_ Normalisierung Eine ZNF-Relation ist also dann in der DNF, wenn kein Nichtschlüsselmerkmal von einem anderen Nichtschlüsselmerkmal abhängig ist: Das Merkmal „Abteilung“ ist transitiv abhängig vom Primärschlüssel „A_Nr“, da es vom Nichtschlüsselmerkmal „Abt_Nr“ abhängt.

© \\//_ Normalisierung Überführen in die DNF Zerlegen der Relation und Erstellen von neuen Relationen für Abhängigkeiten von Nichtschlüsselmerkmalen: