Entitätstypen, Attribute, Relationen und Entitäten

Ähnliche Dokumente
Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

3. Das Relationale Datenmodell

Der Tabellenname wird in Grossbuchstaben geschrieben.

Rückblick: Datenbankentwurf

Theorie zur Übung 8 Datenbanken

Datenbanksysteme I, SS 2004

Kapitel DB:IV (Fortsetzung)

Aufgabe 1) Übung 4: 1.2

10. Datenbank Design 1

Relationale Datenbanken in der Praxis

4 Grundlagen der Datenbankentwicklung

Relationale Datenbanken Datenbankgrundlagen

Übungen Teil 1: ER-Modelle. Dozent: Stefan Maihack Dipl. Ing. (FH)

Konzeptueller Entwurf

Datenbanksysteme Teil 3 Indizes und Normalisierung. Stefan Maihack Dipl. Ing. (FH) Datum:

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

ER-Modell. Entity-Relationship-Model

Kapitel 2 Die Datenbank Buchausleihe Seite 1

3. Spezielle ER-Modelle und Tabellenableitung. Transformation von ER-Diagrammen in Relationen

Erstellen von relationalen Datenbanken mit Hilfe der Nomalisierung

Microsoft Access 2010 SQL nutzen

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen:

Vorlesung Datenbank-Entwurf Klausur

10 Datenbanksysteme Datenbanken und Datenbanksysteme

Inhaltsverzeichnis. 1. Fragestellung

-02- Arbeitsunterlagen

1. Funktionen und Datenflüsse; Tabellenkalkulationssysteme

Introduction to Data and Knowledge Engineering Tutorium 2. August 18, 2010 KE TUD TL 1

7. Übung - Datenbanken

Software-Engineering Einführung

Logischer Entwurf von Datenbanken

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Institut für Informatik

3. Übung. Einführung MS Access. TU Dresden - Institut für Bauinformatik Folie-Nr.: 1

Relationale Datenbanken Kursziele

Dipl.-Hdl., Dipl.-Kfm. ACCESS 2007

2. Datenmodellierung mit ERM. Motivation für Datenmodellierung. Begriffsklärung. Kardinalität/Komplexität von Beziehungstypen

Einführung Datenbanken: Normalisierung

Übung zur Vorlesung im Sommersemester 2009

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Rückblick: Entity-Relationship-Modell

105.3 SQL-Datenverwaltung

Kapitel 7: Referentielle Integrität

Inhaltsverzeichnis. Teil 1 - XM L Einleitung Motivation...15

Entwurf und Verarbeitung relationaler Datenbanken

Relationale Datenbanken Kursziele

ACCESS das Datenbankprogramm. (Einführung) DI (FH) Levent Öztürk

1 Grundbegriffe Datenbanksysteme Entwicklung von Datenbanksystemen Inhaltsverzeichnis. 1.1 Information und Daten...

3 Beziehungen. 3.1 Verschiedene Beziehungsarten

Datenbanken. Einführung

- Gewinnung neuer Informationen durch Berechnungen - Einsatz graphischer Mittel zur Präsentation / Visualisierung von Datenreihen

Fundamentals of Software Engineering 1

Einteilung von Datenbanken

Referenzielle Integrität SQL

Professionelle Datenmodellierung mit Access

Entwicklung einer DB-Anwendung vergleichbar mit gewöhnlicher Anwendungsprogrammierung:

Datenbanken. Relationales Modell:

Datenbanken: ER-Modell

Allgemeines zu Datenbanken

1. Einführung. Datenbanken Grundlagen

EDV-GESTÜTZTES ENTWERFEN, BERECHNEN UND KONSTRUIEREN IM BAUINGENIEURWESEN Prof. Dr.-Ing. Klaus Wassermann MODULPRÜFUNG

Als logisches Datenmodell wird hier das Relationenmodell vorgestellt, das heute den Standard für relationale Datenbanken darstellt.

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Kapitel 3. Relationales Modell (Relationenmodell) Transformation ER-Modell Relationenmodell. Prof. Dr. Wolfgang Weber, Vorlesung Datenbanken 1

OM Datenbanken. OM Datenbanken. 8.1 Was ist ein Datenbanksystem? Motivation

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

1 4. Datenmodellierung mit der Unified Modeling Language (UML)

Oracle SQL Developer Data Modeling

Stufen der Entwicklung einer Datenbank. ER-Modell. Datenbank-Entwurf (1) Datenbank-Entwurf (2) 1. Datenbank - Entwurf ( ER - Diagramm)

Lernsituation 2: Ein Entity-Relationship-Diagramm (ERD) erstellen

Gliederung und Einordnung

Wirtschaftsinformatik Grundlagen II. MS Access Tipps zur Anwendung

Abstraktionsschichten. Das Relationale Datenmodell

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Profilbezogene informatische Bildung in den Klassenstufen 9 und 10. Schwerpunktthema Daten und Datenbanken

Datenorganisation: (Daten)Datei versus Datenbank

Wirtschaftsinformatik 2. Tutorium im WS 11/12

Access Grundkurs. M. Eng. Robert Maaßen

Datenbanken: Relationales Datenbankmodell RDM

3. Relationale Datenbank 8

Einführung in Access by sebastian-engert.de

ACCESS das Datenbankprogramm. (Aufbau) DI (FH) Levent Öztürk

Relationales Datenmodell

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Datenbank Modellierung - Einführung

- Welche Beziehungstypen werden von ACCESS unterstützt? ACCESS unterstützt die Beziehungen + 1:1 + 1:n bzw. 1:cn + m:n

Kapitel DB:III. III. Konzeptueller Datenbankentwurf

2 Grundlagen in MySQL und phpmyadmin

Kompaktseminare Das MS Access 2010 Kursprogramm

Telefonbuchdaten. Leitungsdaten Antennendaten Mitarbeiterdaten Immobiliendaten Telefon-Verbindungsdaten Internet-Verbindungsdaten

Einführung in Datenbanken

Datenbanken. Semantische Datenmodellierung:

Datenbankentwurf. Entwicklungsprozess Anforderungsanalyse & Miniwelt

OpenOffice - Base G. Laner 1

SQL structured query language

Whitepaper. Produkt: combit Relationship Manager Import von relationalen Daten. combit GmbH Untere Laube Konstanz

Klausur zur Veranstaltung "Wirtschaftsinformatik I" Wintersemester 2007/2008

Projektaufgabe Datenbankenverwaltung

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

Transkript:

Einführung Datenmodellierung Entitätstypen, Attribute, Relationen und Entitäten

Wozu Datenbanken? Datenbanken dienen zur Speicherung und Verwaltung großer Datenbestände Beispiele: Adressdaten aller Kunden des Amazon-Webshops Bestellungen all dieser Kunden Vertragsdaten aller A1-Handykunden Die Daten werden in miteinander verknüpften Tabellen gespeichert (relationales Datenbanksystem). Ein Nutzen ergibt sich aus der Möglichkeit, diese großen Datenbestände mit Abfragen leicht durchsuch- und analysierbar zu machen Beispiele: - Welche Amazon-Kunden in Innsbruck haben in diesem Jahr mindestens dreimal bestellt? - Welche Produkte haben im letzten Monat die höchsten Umsätze erzielt? Professionelle Datenbanksysteme Oracle, IBM DB2, Microsoft SQL-Server, MySQL Folie 2

Modelle und Modellieren reales Objekt detailgetreues Modell (z.b. 1:100) vereinfachtes Modell (z.b. 1:100) Folie 3

Einführung Datenmodellierung Realwelt Modellierung Modell Es wird immer ein Ausschnitt (Teil) der Realwelt modelliert, wobei es immer einer Abstraktion bedarf. Bei der Abstraktion sollten die Bedürfnisse aller Beteiligten und Betroffenen berücksichtigt werden. Datenmodelle beschreiben die Tabellen und Beziehungen einer relationalen Datenbank. Datenbank Umsetzung Folie 4

Das Entity-Relationship-Modell (ER-Modell) Ein ER-Modell ist ein Modell, welches für den Entwurf von relationalen Datenbanken eingesetzt wird. Es basiert auf drei Grundkonzepten: 1. Dem Entitätstyp" 2. Den Attributen (den Eigenschaften eines Entitätstyps) 3. Den Realtionen (den Beziehung zwischen Entitätstypen) 1. Was ist ein Entitätstyp": Eine Person, ein Objekt oder Ding (aus der Realwelt ) über welche(s) Daten von vielen Instanzen ("Entitäten") gesammelt und gespeichert werden sollten. 2. Die Attribute: Beschreiben jene Details einer Entitätstype über welche Daten gesammelt und gespeichert werden sollten, z.b. Name, Bezeichnung, Preis, Größe, Gewicht, Farbe, Ort, Zeit Darstellungskonventionen der Crow s Foot Notation : Der Entitätstyp wird durch ein Rechteck dargestellt Der Name des Entitätstyps steht oben im Rechteck Attribute werden darunter geschrieben Das/die Schlüsselattribut(e) wird/werden durch einen Stern (*) vor dem Attributsnamen gekennzeichnet Person *ID vorname nachname geschlecht Folie 5

Der Entitätstyp und die Entität Einem Entitätstyp im ER-Modell entspricht eine Tabelle in der Datenbank! Primärschlüssel- Attribut ARTIKEL *ArtikelID Artikelbezeichnung Preis Lagerbestand Attribute ER- Modell Achtung: Eine Tabelle (ein Entitätstyp) kann nur eine begrenzte Anzahl an Spalten (Attributen), aber eine unbegrenzte Anzahl an Zeilen (Entitäten) haben! Attribut Einem Attribut im ER-Modell entspricht eine Tabellenspalte in der Datenbank! Attribut Attribut Entität Entität Entität Entität Einer Entität entspricht eine Tabellenzeile in der Datenbank! Daten bank Folie 6

3. Relationen (Beziehungen) in ER-Modellen - Relationen illustrieren realweltliche Verbindungen zwischen Entitätstypen. - Werden durch ihre Kardinalität, die maximale Anzahl an Verbindungen einer Entität aus Entitätstyp E1 zu Entitäten aus Entitätstyp E2 (1 oder mehrere (N)) und Konditionalität, die minimale Anzahl an Verbindungen einer Entität aus Entitätstyp 1 zu Entitäten aus Entitätstyp 2, (0 oder 1)) bestimmt (genau definiert): 1:1 E 1 E 2 1:N N:M Relationsdarstellung in der Crow s-foot-notation: 1 : 1 1 : (0 oder 1) 1 : (1 oder N) 1 : (0 oder N) Folie 7

3.a) 1:N Beziehungen ER-Modell in Crow s-foot Notation: Dasselbe ER-Modell in MS Access Notation: Die Tabellen in MS-Access: Folie 8

Referenzielle Integrität: Für jeden Fremdschlüsselwert muss ein dazugehöriger Primärschlüsselwert vorhanden sein! Konkret heißt das: Für jede FSBetreuerID in der Tabelle Kunde muss (bereits vorher) eine Entität in der Tabelle Betreuer angelegt sein. Es kann keinem Kunden ein Betreuer zugeteilt werden, der nicht existiert! Ein Primärschlüsselwert muss bestehen, bevor er als Fremdschlüsselwert eingetragen werden kann. Aussage Primärschlüssel Fremdschlüssel PS/FS-Spalte muss Wert enthalten. PS/FS-Wert darf in einer Tabelle nur einmal vorkommen. Vorsicht bei Änderung des PS/FS-Wertes. ja ja ja nein nein ja Folie 9

1:N Beziehungen: Bedeutung und Anforderungen an Primär- und Fremdschlüsselattribute a. Ein gemeinsames Attributpaar in zwei Entitätstypen, bestehend aus Primärschlüssel und zugehörigem Fremdschlüssel stellt die physische Ausprägung einer modellierten 1 zu N Beziehung in der Datenbank dar. b. Auf die Primärschlüsselwerte wird im Fremdschlüssel referenziert, d.h. als Fremdschlüsselwerte sind nur solche Werte erlaubt, die als Primärschlüsselwerte bereits vorhanden sind (Referenzielle Integrität). PS Realwelt Modell Datenbank c. Primärschlüsselwertemüssen (unter anderem auch wegen b.) jede Entität von jeder anderen unterscheidbar machen, sie müssen eindeutig sein! FS Ein Primärschlüssel kann: Aus einem natürlichen (in der Realwelt existierenden) Attribut bestehen, wenn dieses die geforderte Eindeutigkeit erfüllt. Aus mehreren natürlichen Attributen bestehen, wenn die Kombination dieser Attribute die geforderte Eindeutigkeit erfüllt. Aus einem künstlichen (in der Realwelt nicht existierenden) Attributbestehen, welches als zusätzliches Attributin den Entitätstyp eingeführt wird, wenn die geforderte Eindeutigkeit sonst gar nicht oder nur durch Kombination zu vieler natürlicher Attribute herstellbar wäre. d. Fremdschlüsselwerte müssen nicht(!) eindeutig sein, sie dürfen allerdings nur solche Werte annehmen, die einem der eindeutigen Werte des zugehörigen Primärschlüssels entsprechen! Ein Fremdschlüssel: Besteht aus genau so vielen Attributen wie der zugehörige Primärschlüssel. Kann andere Attributnamen verwenden (kann anders heißen) als der zugehörige Primärschlüssel, muss aber denselben Datentyp verwenden, weil zu den Primärschlüsselwerten identische Werte zu speichern sind. Fremdschlüssel repräsentieren das N einer 1:N Beziehung und sind damit auf den N-Seite der Relation zu modellieren: e. Werteänderungen in Schlüsselspalten Welche Konsequenz hätte im Beispiel oben die Änderung des Primärschlüsselwertes 1 in 10? Welche Konsequenz hätte im Beispiel oben die Änderung des Fremdschlüsselwertes 2 in 15? Wie können die Konsequenzen von Werteänderungen in Schlüsselspalten abgefangen werden? Folie 10

3.b) N:M Beziehungen Beziehungen des Typs N:M können in der Datenbank NICHT durch ein gemeinsames Attributpaar in beiden Entitätstypen, bestehend aus Primärschlüssel und zugehörigem Fremdschlüssel, dargestellt werden, wie es bei 1:N Beziehungen der Fall ist: Die Übernahme des Primärschlüssels Anbieter als Fremdschlüssel in die Tabelle Ausschreibungen funktioniert nicht: Wenn mehr als 1 Anbieter zu einer Ausschreibung anbietet, müsste die Eindeutigkeit des Primärschlüssel AusschreibungsID verletzt werden! Die Übernahme des Primärschlüssels AusschreibungsID als Fremdschlüssel in der Tabelle Anbieter funktioniertebenfalls nicht: Wenn ein Anbieter zu mehr als einer Ausschreibung Angebote stellt, müsste die Eindeutigkeit seines Primärschlüssels AnbieterID verletzt werden! Daher sind Beziehungen des Typs N:M durch Einführung einer weiteren Entitätstype (einer sog. Auflösungstabelle ) in mehrerer Beziehungen des Typs 1:N zu überführen und diese wie erläutert jeweils durch ein gemeinsames Attributpaar, bestehend aus Primärschlüssel und zugehörigem Fremdschlüssel in der Datenbank zu implementieren: Anmerkung: Ist eine Relation zwischen Auflösungs- und ursprünglicher Tabelle wieder vom Typ N:M, ist eine weitere Auflösungstabelle zu implementieren, solange, bis nur mehr Beziehungen des Typs 1:N resultieren. Beispiel: Modellieren Sie den Sachverhalt Kunde kauft Artikel? Folie 11

N:M Beziehung - Beispiel Folie 12

N:M Beziehung Umsetzung in das relationale DB-Schema Problem: Es ist nicht möglich, den Primärschlüssel der Tabelle Artikel als Fremdschlüssel in die Tabelle Bestellung aufzunehmen: Bestellung Artikel *Auftragsnummer Bestelldatum FSArtikelnummer *Artikelnummer Artikelbezeichnung Preis Lagerbestand 1 01.11.2008 109 108 Keinohrhasen 9,95 20 2 23.11.2008 109 109 Hancock 16,95 130 Eine Bestellung, die mehrere Artikel enthält, kann nicht gespeichert werden. Es ist nicht möglich, den Primärschlüssel der Tabelle Bestellung als Fremdschlüssel in die Tabelle Artikel aufzunehmen: Artikel Bestellung *Artikelnummer Artikelbezeichnung Preis Lagerbestand FSAuftragsnummer *Auftragsnummer Bestelldatum 108 Keinohrhasen 9,95 20 1 1 01.11.2008 109 Hancock 16,95 130 1 2 23.11.2008 Ein Artikel kann nicht zu mehreren Bestellungen zugeordnet werden. Quelle: nach Watson (2006), S. 115f Folie 13

N:M Beziehung: Umsetzung in das relationale DB-Schema Lösung: Durch die Erstellung der Tabelle Bestellposition wird gewährleistet, dass: Eine Bestellung mehrere Artikel enthalten kann Ein Artikel in mehreren Bestellungen enthalten sein kann Quelle: nach Saake/Sattler/Heuer (2008), S. 159ff, Watson (2006), S. 115f Folie 14

Datenmodellierung Schritt für Schritt, Übungen Eine mögliche Vorgehensweise zur Modellierung von ER-Diagrammen könnte so ausschauen: 1. Erkennen von Realweltlichen Objekten und Modellierung der Entitätstypen, 2. Erkennen der Relationen zwischen den Entitätstypen, 3. Bestimmen und Modellierung der Relationstypen, 4. Auflösen von N:M Beziehungen, Modellieren der neuen Entitätstypen und Bestimmen der neuen Relationen, 5. Bestimmen und Modellierung geeigneter Primärschlüssel für jede Entitätstype, 6. Bestimmen und Modellierung zugehöriger Fremdschlüssel, 7. Erkennen und ModellierungweitererAttribute Übungsbeispiele: 1. Shop für Sportartikel a. Jeder angebotene Artikel soll damit Kunden ihn leicht finden können Kategorien (z.b. Damen/Herren, Winter/Sommer, Indoor/Outdoor, ) zugeordnet werden können. b. Angeboten werden Einzelartikel und Sets, die aus einer beliebigen Kombination dieser Einzelartikel bestehen können. 2. Fluglinie a. Kunden buchen Flüge (aus Sicht einer Fluglinie). b. Kunden sitzen während der Flüge auf Sitzen (Boarding). c. MitarbeiterINNEN (derselben Fluglinie) führen Flüge durch. 3. Wie könnte ein Datenmodell ausschauen, aus welchem die nebenstehende Notenliste abgleitet werden könnte? Folie 15