Home >Documents >DB - Relationenmodell

DB - Relationenmodell

Date post:19-Dec-2016
Category:
View:219 times
Download:1 times
Share this document with a friend
Transcript:
  • Datenbanken 1

    Kapitel 3: Relationenmodell

    PRODNR = PRODNR SHOPID = SHOPID

    PRODUKT

    PRODNR

    BEZEICHNUNG

    PREIS

    INTEGER

    VARCHAR2(20)

    NUMBER(6,2)

    SHOP

    SHOPID

    NAME

    INTEGER

    CHAR(10)

    WURDE_VERKAUFT

    PRODNR

    SHOPID

    ANZAHL

    INTEGER

    INTEGER

    INTEGER

  • Uta Strl Datenbanken 1 SoSe 2016 3-2

    Vorlesung Datenbanken 1

    Ausschnitt

    aus der

    realen Welt

    DB

    DBMS

    Anwendungs-

    programm

    3

    4

    6

    4

    5

    Logisches Modell

    (z.B. Relationenmodell)

    Konzeptuelles Modell

    (z.B. ER-Modell)

  • Uta Strl Datenbanken 1 SoSe 2016 3-3

    Phasen des Datenbankentwurfs

    Datenbedarf

    Konzeptuelles Modell

    Logisches Modell

    Internes Schema

    Informationsstruktur

    Logischer Entwurf

    Physischer Entwurf

    Anforderungsanalyse

    Konzeptioneller Entwurf

    logische Datenbankstruktur

    nicht formalisiert

    interne (physische) Datenbankstruktur

  • Uta Strl Datenbanken 1 SoSe 2016 3-4

    Datenbankentwurf Beispiel

    Datenbedarf

    Entity-Relationship-Modell

    Relationenmodell

    Oracle-Schema

    Logischer Entwurf

    Physischer Entwurf

    Anforderungsanalyse

    Konzeptioneller Entwurf

    Objektorientiertes Modell

    db4o-Schema

    XML-Modell

    Tamino-SchemaMySQL-Schema

  • Uta Strl Datenbanken 1 SoSe 2016 3-5

    Relationenmodell

    Inhalt des Kapitels

    Grundlagen des Relationenmodell

    Abbildung des Entity-Relationship-Modells auf das Relationenmodell

    Normalformen

    Lernziele

    Kennenlernen des Relationenmodells

    Selbstndiges Entwerfen von relationalen Datenbankmodellen unter

    Bercksichtigung verschiedener Normalformen

  • Uta Strl Datenbanken 1 SoSe 2016 3-6

    Relationenmodell Grundlagen

    entwickelt von E. F. Codd (1970)

    beruht auf dem mathematischen Begriff der Relation, den man

    anschaulich mit dem der Begriff Tabelle vergleichen kann

    alle Informationen sind in Relationen abgelegt

    Definitionen

    Eine n-stellige Relation R ist definiert als Untermenge des kartesischen

    Produkts der Wertebereiche der zugehrigen Attribute A1, A2, , An:

    Beispiel: Student (MatrNr, Name, Geburtsdatum) integer x string x date

    Eine Element der Menge R wird als Tupel bezeichnet, d.h. t R

    Beispiel: t = (123456, Schmidt, 30.01.2014)

    R(A1, A2, , An) W(A1) x W(A2) x x W(An)

  • Uta Strl Datenbanken 1 SoSe 2016 3-7

    PROF:

    Relationenmodell Grundlagen

    Darstellungsmglichkeit fr R: n-spaltige Tabelle

    Jede Relation kann als Tabelle dargestellt werden

    Relation ist eine Menge: Garantie der Eindeutigkeit der Tupel (Zeilen)

    Primrschlssel (und ggf. mehrere Schlsselkandidaten)

    Schlssel: minimale Menge von Attributen, deren Werte ein Tupel

    eindeutig identifizieren.

    PNR NAME FB

    431326 Schtte FBI

    174892 Erbs FBI

    917384 Rebstock FBW

  • Uta Strl Datenbanken 1 SoSe 2016 3-8

    Relationales Datenbankmodell Grundregeln*

    1. Jede Zeile (Tupel) ist eindeutig und beschreibt ein Objekt der Miniwelt.

    2. Die Reihenfolge der Zeilen ist ohne Bedeutung, d.h. durch ihre

    Reihenfolge wird keine fr den Benutzer relevante Bedeutung

    ausgedrckt.

    3. Die Reihenfolge der Spalten ist ohne Bedeutung, da sie einen

    eindeutigen Namen tragen.

    4. Jeder Datenwert innerhalb einer Relation ist ein atomares

    Datenelement.

    5. Alle fr den Benutzer bedeutungsvollen Informationen sind

    ausschlielich durch Datenwerte ausgedrckt.

    6. Es existieren ein Primrschlssel und ggf. weitere Schlssel-

    kandidaten.

    *E. F. Codd: A Relational Model of Data for Large Shared Data Banks. In: Commun. ACM 13(6): 377-387 (1970)

  • Uta Strl Datenbanken 1 SoSe 2016 3-9

    Datenbankschema: Menge von Relationenschemata

    PROF:

    Bezeichnungen

    PNR NAME FB

    431326 Schtte FBI

    174892 Erbs FBI

    917384 Rebstock FBW

    Relationenschema

    Tupel (Zeile)

    Attribut (Spalte)Name des Relationenschemas

    Relation

    (Tabelleninhalt)

  • Uta Strl Datenbanken 1 SoSe 2016 3-10

    Integrittsbedingungen sind u.a. Abhngigkeiten zwischen Attributen -

    sowohl innerhalb einer Relation als auch zwischen Relationen.

    Eine Abhngigkeit innerhalb einer Relation nennt man funktionale

    Abhngigkeit zwischen Attributen.

    Ein Spezialfall der funktionalen Abhngigkeit ist der Schlssel.

    Abhngigkeiten zwischen Relationen:

    Fremdschlssel

    FB:PROF:

    Integrittsbedingungen

    PNR NAME FBID

    431326 Schtte FBI

    174892 Erbs FBI

    917384 Rebstock FBW

    FBID FBNAME DEKAN

    FBI Informatik 174892

    FBW Wirtschaftswis

    senschaften

    917384

  • Uta Strl Datenbanken 1 SoSe 2016 3-11

    Fremdschlssel

    Ein Fremdschlssel (foreign key) bezglich einer Relation R1 ist ein (ggf. zusammengesetztes) Attribut FK einer Relation R2, fr das zu jedem Zeitpunkt gilt: zu jedem Wert (ungleich NULL) von FK muss ein gleicher Wert des Primrschlssels PS (oder eines Schlsselkandidaten SK) in irgendeinem Tupel von Relation R1 sein.

    Eigenschaften

    Fremdschlssel und Primrschlssel tragen wichtige interrelationale (oder intrarelationale) Informationen. Sie sind auf dem gleichen Wertebereich definiert.

    Fremdschlssel knnen Nullwerte aufweisen, wenn sie nicht selbst Teil des Primrschlssels sind oder wenn nicht explizit NOT NULL deklariert ist.

    Eine Relation kann mehrere Fremdschlssel besitzen, welche die gleiche oder verschiedene Relationen referenzieren.

    Referenzierte und referenzierende Relationen sind nicht notwendig verschieden (self-referencing table).

  • Uta Strl Datenbanken 1 SoSe 2016 3-12

    Transformation ER-Modell Relationenmodell

    Entity-Relationship-Modell dient zur Modellierung der Realitt aus Sicht

    der Anwendung

    Relationenmodell dient als Grundlage fr die Realisierung in

    relationalen Datenbanken

    Transformation erfolgt durch eindeutige Regeln, mit deren Hilfe jedes

    Entity-Relationship-Modell in ein Relationenmodell berfhrt werden

    kann.

    Mit Hilfe von Case-Tools kann diese Transformation automatisiert

    werden.

  • Uta Strl Datenbanken 1 SoSe 2016 3-13

    Transformation ER-Modell Relationenmodell

    Abbildung von Entity-Typen und einfachen Attributen

    Abbildung Beziehungstypen

    o M:N Beziehungen

    o 1:N Beziehungen

    o 1:1 Beziehungen

    o rekursive Beziehungen

    o mehrstellige Beziehungen

    Abbildung schwacher Entity-Typen

    Abbildung mengenwertiger und komplexer Attribute

    Abbildung Generalisierung/Spezialisierung

  • Uta Strl Datenbanken 1 SoSe 2016 3-14

    Abbildung von Entity-Typen

    jeder Entity-Typ wird zu einem Relationenschema

    einfache Attribute des Entity-Typs werden die Attribute des

    Relationenschemas

    falls Entities komplexe oder mengenwertig Attribute aufweisen, mssen

    diese aufgelst werden ( Diskussion spter)

    ein Schlssel (falls noch nicht im ER-Modell geschehen) ist als

    Primrschlssel des Relationenschemas auszuzeichnen, alternativ ist

    ein zustzliches Schlsselattribut hinzuzufgen

    die Datentypen zu den Attributen mssen definiert werden (falls noch

    nicht im ER-Modell geschehen)

  • Uta Strl Datenbanken 1 SoSe 2016 3-15

    Markt

    Bezeichnung Standort Kategorie

    Abbildung von Entity-Typen (Beispiel)

    MARKT (BEZEICHNUNG, STANDORT, KATEGORIE)

  • Uta Strl Datenbanken 1 SoSe 2016 3-16

    Abbildung M:N Beziehungstypen

    Abbildung M:N Beziehungstypen

    Student (Matrikelnummer, Name)

    Vorlesung (VorlesungsID, Bezeichnung)

    Jeder M:N Beziehungstyp wird zu einem eigenen Relationenschema

    Die Primrschlssel der beteiligten Entity-Typen werden als Attribute

    hinzugefgt - diese bilden zusammen den Primrschlssel und sind

    jeweils Fremdschlssel bezogen auf die beiden aus den Entity-Typen

    entstandenen Relationenschemata

    Ggf. vorhanden Attribute des Beziehungstyps werden Attribute des

    Relationenschemas.

    Student Vorlesungbesucht(0,*) (6,*)

    STUDENT (MATRIKELNUMMER, NAME)

    VORLESUNG (VORLESUNGSID, BEZEICHNUNG)

    BESUCHT (MATRIKELNUMMER STUDENT, VORLESUNGSID VORLESUNG)

    Kardinalitten?

  • Uta Strl Datenbanken 1 SoSe 2016 3-17

    Abbildung M:N Beziehungstypen

    wird angboten in

    Produkt

    ProdNr

    Bezeichnung

    Preis

    I

    VA20

    DC6,2

    Shop

    ShopID

    Name

    I

    A10

    PRODNR = PRODNRSHOPID = SHOPID

    PRODUKT

    PRODNR

    BEZEICHNUNG

    PREIS

    INTEGER

    VARCHAR2(20)

    NUMBER(6,2)

    SHOP

    SHOPID

    NAME

    INTEGER

    CHAR(10)

    WIRD_ANGBOTEN_IN

    PRODNR

    SHOPID

    INTEGER

    INTEGER

  • Uta Strl Datenbanken 1 SoSe 2016 3-18

    Abbildung M:N Beziehungstypen

    alternative Darstellung:

    0,n

    0,n

    Produkt

    ProdNr

    Bezeichnung

    Preis

    I

    VA20

    DC6,2

    Shop

    ShopID

    Name

    I

    A10

    wurde verkauft

    Anzahl I

    PRODNR = PRODNR SHOPID = SHOPID

    PRODUKT

    PRODNR

    BEZEICHNUNG

    PREIS

    INTEGER

    VARCHAR2(20)

    NUMBER(6,2)

    SHOP

    SHOPID

    NAME

    INTEGER

    CHAR(10)

    WURDE_VERKAUFT

    PRODNR

    SHOPID

    ANZAHL

    INTEGER

    INTEGER

    INTEGER

  • Uta Strl Datenbanken 1 SoSe 2016 3-19

    A

Embed Size (px)
Recommended