Informationsmodellierung Übersicht

Slides:



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

ER-Datenmodell und Abfragen in SQL
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)
Datenbankmanagementsystem
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)
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Datenmodellierung Externe Phase Informationsstruktur
Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
Entity Relationship Model (ERM)
21. Datenmodellierung und ER-Modelle Ablaufdiagramme
Ein Entity Relationship Diagramm zur ADB/NDB
Das Entity-Relationship-Modell
Franziska Schmidt Sarah Ahlheit
Das ERM-Model Manuela Erdmann.
Objektorientierte Analyse (OOA) Inhaltsübersicht
Objektorientierter Entwurf (OOD) Übersicht
Systemanalyse In der Systemanalyse wird aus den fachspezifischen Anforderungen das Systemmodell erstellt; im Systemmodell ist spezifiziert, was das System.
Themenschwerpunkte Übung 3:
Datenbankdesign und Normalisierung
Entity Relationship Model
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Entity-Relationship (ER)-Modell
Relationaler Datenbankentwurf (I)
Normalformen Normalisieren Schlüssel
Datenintegrität Referentielle Integrität create table
6 Normalformen Normalisieren Schlüssel
Entity - Relationship Diagramme
Willkommen zum DBS I – Praktikum!
Relationenmodell (RM)
Datenmodellierung - Aufbau einer Datenbank -
© Katharina Brachmann Normalformen Oldenbourg S137, Klett S117
3.5.2 Fremdschlüssel/ Referentielle Integrität (1/9)
7.3 Hinweise für den Aufbau von ER-Schemata (1|7)
Heute: Scherenzange zeichnen
6. Vorlesung: Statische Konzepte
Relationale Datenbanken II
Entity Relationship Modelling
Die Grundterminologie
Datenbank-entwicklungsprozess
Datenbank.
Normalisierung Referat zur Veranstaltung: Datenbanktechnologie, mit praktischen Übungen in eXist und XQuery Datum: 18. April 2011 (3.Sitzung) Dozent: Daniel.
Semantisches Datenmodell Entity-Relationship-Modell Normalformen
Vorlesung #2 Datenbankentwurf
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).
7.1.9 Kardinalität von Beziehungen (1|15)
Informationssysteme in Unternehmen
Relationales Datenmodell und DDL
Das relationale Modell
Normalisierungsprozess
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
Relationale Datenbanken
Grundlagen des Relationenmodells
ER-Modell Attribute, Attributwerte (1|8) Attribut (a): Eigenschaft a = Name des Attributes E : Ein Entity-Typ E wird charakterisiert.
Rel-Modell Schema (3|8) Beispiel 8-12: Rel. Datenbank-Schema (beispielhaft) für eine rel. DB mit den Relationen angestellte1, projekt1.
Abbildung UML-Schema  Rel. Schema (1)
8.4.3 Übertragung von Beziehungstypen (1|12)
Gerhard Röhner September 2012
1 1.Man beginne mit „leicht erkennbaren natürlichen Objekten“ (Personen und konkreten Gegenständen) und fasse diese zu Objekttypen zusammen. (etwa Substantive.
Vom Konzept zur Datenbank
Relationales Datenmodell
Übungsblatt 3 Erläuterungen Wintersemester 15/16 DBIS.
Übungsblatt 4 Erläuterungen Wintersemester 15/16 DBIS.
ER-Modell und Relationales Schema
 Präsentation transkript:

Informationsmodellierung Übersicht Inhalt: Überblick Entity Relation Ship Diagramm Attribute Relationenmodell (Tabellendarstellung) Normalisierung Integritätsbedingungen Christoph Riewerts

Informationsmodellierung Überblick Begriffe/Merkmale: Informationsobjekte ERD (oder auch ERM) Tabellen Datenbankschema Integritätsbedingung Datensätze, Indizes Speicherstrukturen Phasen: Analyse-Phase Design-Phase Programmier-Phase

Informationsmodellierung Entity Relationship (ER) Diagramm ER-Diagramm (ERD): Ein ER-Diagramm ist die grafische Darstellung von Informationsobjekten (auch Entitäten genannt) und deren Beziehungen untereinander (Peter Chen). Informationsobjekt: Ein Informationsobjekt ist ein individuelles und identifizierbares Exemplar von Dingen, Personen oder Begriffen der realen oder der Vorstellungswelt. gezeichnet im ERD als Rechteck Namensvergabe: Substantiv wird durch Attribute näher beschrieben Beispiele (für Personen, Dinge, Aktionen und abstrakte Begriffe): Kündigung Mitarbeiter Fertigmeldung Projekt Abteilung Bestellung Artikel

Informationsmodellierung Entity Relationship (ER) Diagramm Beziehung: Eine Beziehung assoziiert wechselseitig zwei (oder mehr) Entitäten (Informationsobjekte): gezeichnet im ERD als Raute mit einer Linie zur jeweiligen Entität Namensvergabe: Verb, um die Darstellung Entität-Beziehung-Entität von links nach rechts lesen zu können oder Substantiv, wenn aus Gründen der Vereinheitlichung ein Hauptwort gefordert ist oder mehr als 2 Entitäten assoziiert sind. wird durch Attribute näher beschrieben Es gibt drei Typen von Beziehungen (nach Chen): 1:1, 1:n und n:m, die man mit dem Konditionalzeichen c erweitern kann, so dass Kann- und Muss-Beziehungen unterschiedlich dargestellt werden können, wie z.B. 1:c, 1:mc und n:mc mit n = 1,2,3,4,… und m = 1,2,3,4,… c = 0 oder 1 und mc = 0,1,2,3,4,…

Informationsmodellierung Entity Relationship (ER) Diagramm 1:1-Beziehung (Muss-Beziehung) 1:c-Beziehung (Kann-Beziehung) 1:n-Beziehung (Muss-Beziehung): Zu jedem Vater gibt es ein oder mehrere Kinder, jedes Kind hat genau einen Vater. 1:mc-Beziehung (Kann-Beziehung): Es gibt Männer, die haben keine Kinder.

Informationsmodellierung Entity Relationship (ER) Diagramm n:m-Beziehung (Muss-Beziehung): Ein Schüler muss mindestens einen Kurs besuchen. Umgekehrt muss jeder Kurs von mindestens einem Schüler belegt werden. nc:mc-Beziehung (Kann-Beziehung): Ein Schüler kann ein Fach oder mehrere Fächer belegen, ein Fach kann von mehreren Schülern belegt sein, jedoch auch von keinem. Implizite Beziehung: (heißt im INNOVATOR „hierarchische Beziehung“) Buch Bibliotheks- exemplar gibt es als 1 mc

Informationsmodellierung Entity Relationship (ER) Diagramm Implizite Beziehung (is part of): Rechnung Rechnungs- position enthält 1 n Sortiments- artikel Lager- artikel ist vorh. als 1 c Implizite Beziehung (is a): Artikel auf Lager oder auch nicht Geschäftspartner kann ein Lieferant oder ein Kunde sein. Geschäfts- partner Lieferant ist ein 1 c Kunde Rekursive Beziehung (mit Rollenbezeichnungen): Baugruppe c ist Chef von besteht aus c mc Mitarbeiter Mitarbeiter Bauteil Vorgesetzter Untergebener mc Teil

Informationsmodellierung Entity Relationship (ER) Diagramm Gegenüberstellung von (1,m,n)- und (min, max)-Notation: Eine Beziehung R = (E1, E2) wird in der (min, max)-Notation durch Angabe der zwei Komplexitätsgrade Comp(E1, R) und Comp(E2, R) beschrieben, wobei für die Eckwerte von min und max gilt: 0 ge min ge 1 ge max ge * mit ge = grössergleich: Weitere alternative Darstellungsformen der Kardinalität („Krähenfüße“): (1,M,N)-Notation (min, max)-Notation Comp(E1, E2) Comp(E1, R) Comp(E2, R) 1:1 (1,1) 1:c (0,1) 1:n (1,*) 1:nc (0,*) mc:nc Bitte bei (min, max)-Notation Umkehrung beachten!

Informationsmodellierung Entity Relationship (ER) Diagramm Übung: Tragen Sie in das nebenstehende ERD zusätzlich die (min, max)-Notation ein. besitzt 1 c Lieferant Konto 1 erhält mc nc enthält m Bestellung Artikel 1 besteht aus n Bestell- position

Informationsmodellierung Attribute Attribute von Entitäten: Identifizierende Attribute (Schlüsselattribute): Primärschlüssel (i. d. R. durch Unterstrich gekennzeichnet, obligatorisch, kann zusammengesetzt sein) Sekundärschlüssel (alternativer Primärschlüssel) Fremdschlüssel (existiert in anderen Entitäten als Primärschlüssel) Beschreibende Attribute (sind optional): sollten funktional vom Primärschlüssel abhängen (2.Normalform) sollten untereinander nicht funktional abhängen (3. Normalform) Darstellung: als Liste in einer Ellipse als Erweiterung im ERD: Mitarbeiter = (Pers-Nummer, Name, Geburtsdatum) Kontostand Kontonr Konto

Informationsmodellierung Attribute Attribute von Beziehungen: Primärschlüssel von den assoziierten Informationsobjekten ( = Fremdschlüssel) Beschreibende Attribute (sind optional) Beispiel: n:m-Beziehung Mitarbeiter = (Pers-Nummer, Name, Geburtsdatum, ..) Projekt = (Projekt-ID, Projektlaufzeit, ..) Primärschlüssel Primärschlüssel arbeitet in n mc Mitarbeiter Projekt arbeitet in = (Pers-Nummer, Projekt-ID, Kapazität) Kapazität ist ein beschreibendes Attribut

Informationsmodellierung Relationenmodell Beim Übergang von der Analyse zum Design und damit bei der Wahl einer Relationalen Datenbank wird das Datenmodell in ein Relationenmodell überführt. In einer relationalen Datenbank sind alle Informationen explizit auf der logischen Ebene genau auf eine Art repräsentiert: als Werte in Tabellen (= Relationen) (E.F. Codd) Primärschlüssel Vormerkung Buch-Signatur Name Datum SN-32 Mayer 01.02.2007 BB-45 AW-90 Müller 06.02.2007 13.02.2007 Reihenfolge der Zeilen und Reihenfolge der Spalten sind ohne Bedeutung. Die Raute des Informations-modells wird umgesetzt und erscheint als Fremdschlüssel-Beziehung in einer Tabelle. Attributwerte sind immer vom gleichen Typ (Domäne) Ausprägung (Tupel) Attribute (Spalte)

Informationsmodellierung Relationenmodell 1:n Beziehung im Relationenmodell: Der Primärschlüssel der 1-Relation erscheint als zusätzliches Attribut in der n-Relation und wird dort als Fremdschlüssel bezeichnet: Name Abteilungs-_ Kürzel Anzahl MA Angestellter- ID 1 beschäftigt n Abteilung Angestellter Tabelle

Informationsmodellierung Relationenmodell Übung zur 1:n Beziehung im Relationenmodell: Wie sehen die 2 Tabellen aus incl. Fremdschlüssel, wenn man die Relation „beschäftigt“ nicht dem Angestellten zuordnet - wie vorgeschrieben - , sondern der Abteilung (s. Bild)? Diskutieren Sie diese Alternative. Name Abteilungs-_ Kürzel Anzahl MA Angestellter- ID 1 beschäftigt n Abteilung Angestellter Tabelle

Informationsmodellierung Relationenmodell Mehrfachattribute: Sind in der 1. Normalform (s. Normalisierung) nicht erlaubt Beispiel: Mitarbeiter ist in mehreren Wohnorten gemeldet Mitarbeiter = (Mitarbeiter-Nummer, Adressen, Name) Lösung 1, wenn Anzahl der Wohnsitze begrenzt und bekannt Mitarbeiter = (Mitarbeiter-Nummer, Adresse1, Adresse2, Adresse3, Name) Lösung 2 (Entität statt Attribut) Frage: wenn jetzt mehrere Mitarbeiter dieselbe Adresse haben? Mitarbeiter = (Mitarbeiter-Nummer, Name) Adresse = (Wohnsitz)

Informationsmodellierung Relationenmodell n:m Beziehung im Relationenmodell: Aus einer n:m Beziehung im Datenmodell werden zwei 1:n Beziehungen mit einer sogenannten Beziehungsentität: arbeitet in n mc Mitarbeiter Projekt Tabelle

Informationsmodellierung Normalisierung Unnormalisierte Tabelle: Redundante Datenhaltung Speicheroperationen wie Neuzugang, Löschen und Aktualisieren können zu einer inkonsistenten Datenhaltung führen Schwierige Handhabung (z.B. wegen der Mehrfach-Attribute) Aufgabe: Bringen Sie die Tabelle in die 1. Normalform. Mitarbeiter MA-Nr. Name Abt-Nr Abt-Name Zeit [%] Projektnr Projektname 112224 Meyer E7 Entwicklung 80 20 S30001 S30002 SW-Installation HW-Installation 112225 Graf K Konstruktion 100 S30020 PM-Einsatz 112226 König S30021 CASE-Konzept 112227 Keiser ZEU Zentraleinkauf S30022 PC-Angebot

Informationsmodellierung Normalisierung 1. Normalform Eine Tabelle (Relation) ist in der 1. Normalform, wenn jedes Attribut zu einem bestimmten Schlüsselwert höchstens einen(!) Attributwert besitzt Aufgabe: Bringen Sie die Tabelle in die 2. Normalform. Mitarbeiter MA-Nr. Name Abt-Nr Abt-Name Zeit [%] Projektnr Projektname 112224 Meyer E7 Entwicklung 80 S30001 SW-Installation 20 S30002 HW-Installation 112225 Graf K Konstruktion 100 S30020 PM-Einsatz 112226 König S30021 CASE-Konzept 112227 Keiser ZEU Zentraleinkauf S30022 PC-Angebot

Informationsmodellierung Normalisierung 2. Normalform Eine Tabelle (Relation) ist in der 2. Normalform, wenn sie in der 1. Normalform ist und jedes nicht dem Schlüssel angehörende Attribut funktional abhängig ist vom Gesamtschlüssel, nicht aber von einzelnen Schlüsselteilen. Mitarbeiter MA-Nr. Name Abt-Nr Abt-Name 112224 Meyer E7 Entwicklung 112225 Graf K Konstruktion 112226 König 112227 Keiser ZEU Zentraleinkauf Projektzugehörigkeit MA-Nr. Projektnr Zeit [%] 112224 S30001 80 S30002 20 112225 S30020 100 112226 S30021 112227 S30022 Projekt Projektnr Projektname S30001 SW-Installation S30002 HW-Installation S30020 PM-Einsatz S30021 CASE-Konzept S30022 PC-Angebot Aufgabe: Bringen Sie die Tabelle(n) in die 3. Normalform.

Informationsmodellierung Normalisierung 3. Normalform Eine Tabelle (Relation) ist in der 3. Normalform, wenn sie in der 2. Normalform ist und jedes Attribut direkt vom Schlüssel abhängig ist. Abteilung Abt-Nr Abt-Name E7 Entwicklung K Konstruktion ZEU Zentraleinkauf Mitarbeiter MA-Nr. Name Abt-Nr 112224 Meyer E7 112225 Graf K 112226 König 112227 Keiser ZEU Projektzugehörigkeit MA-Nr. Projektnr Zeit [%] 112224 S30001 80 S30002 20 112225 S30020 100 112226 S30021 112227 S30022 Projekt Projektnr Projektname S30001 SW-Installation S30002 HW-Installation S30020 PM-Einsatz S30021 CASE-Konzept S30022 PC-Angebot

Informationsmodellierung Normalisierung Übung: Kennzeichnen Sie in den vier Tabellen aus dem Normalisierungsbeispiel (s.v.) diejenigen Attribute, die Fremdschlüssel sind. Wandeln Sie danach die Tabellen in ein ERD um unter Verwendung der Tabellennamen für die Entitäten. Die richtigen Kardinalitäten können aus den Beispieleinträgen abgeleitet werden. Spezifizieren Sie abschließend bitte noch den Prozess „Mitarbeiter-Tabelle zusammenstellen“, der aus den einzelnen Attributen der normalisierten Tabellen die unnormalisierte Mitarbeiter-Tabelle erzeugt. Verwenden Sie dazu das DFD (mit dem Innovator) und modellieren Sie die normalisierten Tabellen als Datenspeicher.

Informationsmodellierung Integritätsbedingungen Integritätsbedingungen sind notwendig, um mit den Abhängigkeiten der Tabellen (Fremdschlüsselbeziehungen) „richtig“ umgehen zu können: Anwendungsbezogene Integrität (domain integrity): Zwischen den Attributen bestehen inhaltliche Abhängigkeiten, z.B. Summenattribut Wertebereich von Attributen soll eingehalten werden Zwei Beziehungen sollen sich gegenseitig ausschließen …. Ganzheitliche Integrität (entity integrity): Kein Attribut, das Teil eines Primärschlüssels einer Tabelle ist, darf Nullwerte annehmen. Referenzielle Integrität / Beziehungsintegrität (referential integrity): Für jeden vom Nullwert verschiedenen Fremdschlüssel muss ein entsprechender Primärschlüssel aus derselben Domäne existieren. Für jeden Fremdschlüssel sind festzulegen: Darf der Fremdschlüssel Nullwerte annehmen? Was soll mit dem Fremdschlüssel geschehen, wenn der Primärschlüssel gelöscht bzw. modifiziert wird?

Informationsmodellierung Integritätsbedingungen Beispiele für Beziehungsintegrität (Löschen des Primärschlüssels): 1.) Weitergabe der Löschung (CASCADE), d.h. alle Tupel der Tabelle mit einem Fremdschlüssel, der dem gelöschten Primärschlüssel entspricht, werden ebenfalls gelöscht.

Informationsmodellierung Integritätsbedingungen Beispiele für Beziehungsintegrität (Löschen des Primärschlüssels): 2.) Bedingte Löschung (RESTRICT, default), d.h. ein Tupel in der Tabelle mit dem Primärschlüssel kann nur dann gelöscht werden, wenn in der referierenden Tabelle kein Tupel mehr mit einem Fremdschlüssel existiert, der dem Primarschlüssel entspricht.

Informationsmodellierung Integritätsbedingungen Beispiele für Beziehungsintegrität (Löschen des Primärschlüssels): 3.) Nullsetzen bei der Löschung (SET NULL), d.h. alle Fremdschlüsselwerte, die dem Primärschlüssel entsprechen, werden in der referenzierten Tabelle zu Null gesetzt.

Informationsmodellierung Normalisierung Lösung der Übungsaufgabe aus dem Vorlesungsskript, speziell das DFD: