ER-Modell. Das Relationenmodell

Ähnliche Dokumente
ER-Modell. Entity-Relationship-Model

Erstellen von relationalen Datenbanken mit Hilfe der Nomalisierung

3. Das Relationale Datenmodell

Datenbanken Kapitel 2

Kapitel 3: Datenbanksysteme

1. Übungsblatt 3.0 VU Datenmodellierung

Datenbanken: Relationales Datenbankmodell RDM

Software-Engineering Einführung

Einführung in Datenbanken. Definition einer Datenbank. Es gibt verschiedene Definitionen für eine Datenbank. Zwei Beispiele werden hier aufgeführt:

Themenfeld Datenbanken

Pizza - Service. Übungen Seite 1 von 1

Relationales Datenmodell

Vom Entity-Relationship-Modell (ERM) zum relationalen Datenmodell (RDM)

Relationenmodell (RM)

9. Einführung in Datenbanken

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

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

Einführung Datenbanken: Normalisierung

Datenbanken und Informationssysteme Sommersemester 2012 Probeklausur

TECHNISCHE UNIVERSITÄT DRESDEN Fakultät Wirtschaftswissenschaften Prof. Dr. W. Esswein Lehrstuhl Wirtschaftsinformatik, insbesondere Systementwicklung

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

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

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Einführung Datenbank

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

Microsoft Access 2010 SQL nutzen

Einführung in Datenbanksysteme. H. Wünsch

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

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

MySQL Normalisierung. Stefan Maihack Dipl. Ing. (FH) Datum:

Inhaltsverzeichnis. 1. Fragestellung

Allgemeines zu Datenbanken

Übungen zum Entity-Relationship-Diagramm-Entwurf

4. Normalisierung von Relationenschemata

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

1. Übungsblatt 3.0 VU Datenmodellierung

Klassendiagramm und Datenbankableitung : Version 3 'Verleihnix 1.0'

Informatik II Datenorganisation Datenbanken

Übung Datenbanken in der Praxis. Relationale Algebra

Übungsblatt 4 Lösung

Vertiefungsmodul Daten-, Informations- und Wissensmanagement BW Übung

1. Übungsblatt 3.0 VU Datenmodellierung

Speicherung von XML in (objekt-)relationalen Datenbanken. Burkhard Schäfer

Klausur zur Vorlesung Datenbanken I im Wintersemester 2011/12

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

Relationale Datenbanken in der Praxis

2 7 Erweiterungen. 7.1 Prozess-Kommunikation mit Datenbanken

-09- Arbeitsunterlagen

SQL - Übungen Bearbeitung der Datenbank Personal (1)

TimeSafe Leistungserfassung

JOKER. Paprika. Oliven. Mais. Kohl. Erbsen. Broccoli. Broccoli. Radieschen. Oliven. Karotten. Gurken. Bohnen. Tomate. Radieschen. Kürbis.

Datumsangaben, enthält mindestens Jahr, Monat, Tag

1. Übungsblatt 3.0 VU Datenmodellierung

7. Übung - Datenbanken

Klausur Datenbanken Wintersemester 2011/2012 Prof. Dr. Wolfgang May 8. Februar 2012, Uhr Bearbeitungszeit: 90 Minuten

IT-Kompaktkurs. Datenbanken Skript zur Folge 5. Prof. Dr. Georg Herde Fachhochschule Deggendorf

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

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

Access Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli inkl. zusätzlichem Übungsanhang ACC2010-UA

UML - Tutorial. Hubert Baumgartner.

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

TECHNISCHE UNIVERSITÄT DRESDEN Fakultät Wirtschaftswissenschaften Prof. Dr. W. Esswein Lehrstuhl Wirtschaftsinformatik, insbesondere Systementwicklung

Relationale Datenbanken Datenbankgrundlagen

Relationales Datenmodell

Entwurf von Datenbanken

Softwareentwicklungspraktikum Sommersemester Feinentwurf

LISE MEITNER GYMNASIUM NEUENHAUS UELSEN

Design Theorie für relationale Datenbanken

Kap 4: Abbildung des E/R Modells auf das relationale Modell. Entity steht in Bez. Anzahl der a A r b B

Suppen. Vorspeisen. 1. Griechische Bohnensuppe 2. Tomatensuppe 4,50

Entity-Relationship-Modell. Ein Studierender kann (oder muss) mehrere Vorlesungen hören. Eine Vorlesung wird i.a. von mehrerer Studierenden gehört.

U8: SQL Datenbank Daniel Baron 1

Bild Nummer 1: Bild Nummer 2: Seite B 1

Datenbankentwurf. Entwicklungsprozess Anforderungsanalyse & Miniwelt

Datenbanken. Erstellen des Semantischen Modells. Manuel Friedrich. Schiller-Gymnasium Hof

Strukturierte Entity-Relationship-Modellierung. Übungsaufgaben

7. Analyse-Phase: Datenmodellierung Software Engineering

Wirtschaftsinformatik 2. Tutorium im WS 11/12

Kapitel DB:III. III. Konzeptueller Datenbankentwurf

Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5

Datenbanken 1 Sommersemester 2014/

BERUFSPRAKTIKUM UND -VORBEREITUNG

Benutzer Verwalten. 1. Benutzer Browser

Klausur Interoperabilität

Update Spezifikation MOA-ID 1.5. Update Spezifikation Module für Online Applikationen - ID

Datenbanken. 5 Tabellen. Karl Meier karl.meier@kasec.ch Inhalt. Domänen verwenden Tabellen anzeigen, ändern, löschen Übung

Wirtschaftsinformatik. Modellierungstutorium. Lösungen

Ein Beispiel: Tabelle DICHTER

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.

Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt.

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

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Kapitel 5 Formulare zur Datenbank Kuchenbestellung Seite 1

Klausur Datenbanken Wintersemester 2013/2014 Prof. Dr. Wolfgang May 29. Januar 2014, Uhr Bearbeitungszeit: 90 Minuten

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

S(tructured)Q(uery)L(anguage)

Transkript:

+ ER-Modell Das Relationenmodell

+ Sinn eines Relationenmodells Dieses Modell soll eine mathematische Brücke zwischen dem ER-Modell und den Tabellen einer Datenbank schaffen. Dazu werden Entitäten und Beziehungen in Relationen dargestellt. Diese Relationen lassen sich dann nahezu direkt in ein Tabellensystem umwandeln.

+ Ein Tupel Ein Tupel ist ein Menge von Attributen, die ein Exemplar aus der Miniwelt beschreiben. Beispiele: ("Quattro Stagioni", "Tomaten, Käse, Champignon, Vorderschinken, Salami, Peperoni", 6.20) ("Hawai", "Tomaten, Käse, Vorderschinken, Ananas", 5.70) ("Florian Huber", "Asamstr. 16 99110 Börishofen", "01110/1357", 1240) Durch solche Kombinationen der einzelnen Attribute werden sie zueinander in Relation gesetzt, daher der Name.

+ Die Relation Die Relation ist die mathematische Menge aller Tupel, die in der Miniwelt vorkommen. In der Miniwelt eines regulären Pizzaservice dürfte z.b. das folgende Tupel nicht existieren: ("Hawai", "Salami Peperoni", 122.235) und ist folglich auch kein Element der Relation.

+ Das Relationenschema Ein Relationenschema (oder Datenbankschema) ist die Beschreibung, wie so ein Tupel aufgebaut ist. Beispiele: Pizza{Name: STRING, Zutaten: STRING, Preis: FLOAT} Angestellter{Name: STRING, Adresse: STRING, Telefon: STRING, Gehalt: FLOAT} oder in Kurzform: Pizza{Name, Zutaten, Preis} Angestellter{Name, Adresse, Telefon, Gehalt}

+ Relationenschemata des Pizzaservice (Entitäten) Bestellung{Datum, Uhrzeit} Angestellter{Name, Adresse, Telefon, Gehalt} Kunde{Name, Adresse, Telefon} Pizza{Name, Zutaten, Preis} Wie man sieht, sind die Entitäten hervorragend beschrieben, es fehlen aber die Beziehungen.

+ Relationenschemata des Pizzaservice (Beziehungen) Beziehungen lassen sich ebenfalls mit Relationen beschreiben, sie enthalten aber Referenzen (Entität.Attribut) auf die mit ihnen verbunden Entitäten. Ein erster Ansatz würde etwa so ausschauen: gibt ab {Bestellung.Uhrzeit,Kunde.Name} nimmt auf {Bestellung.Datum,Angestellter.ID} bäckt {Angestellter.Name,Pizza.Name} fährt aus {Angestellter.Name,Pizza.Name} erhält {Kunde.Name,Pizza.Name} enthält {Bestellung.Uhrzeit,Pizza.Name}

+ Problem Es existieren mehrere Kunden mit dem Namen "Maier" und folgendes Tupel ist gespeichert: (20:30, "Maier ) Dann sind die so gespeicherten Daten nicht aussagekräftig, da weder die Uhrzeit der Bestellung noch der Name des Kunden eindeutig sind.

+ Lösung Zur Lösung dieses Problems bekommt jede Entität und das zugehörige Relationenschema einen Primärschlüssel.

+ Primärschlüssel Um einen Datensatz (ein Tupel) eindeutig beschreiben zu können, gibt es drei Möglichkeiten: 1. Ein vorhandenes Attribut ist bereits eindeutig, z.b. der Name einer Pizza 2. Man kombiniert mehrere Attribute, z.b. Datum und Uhrzeit bei der Bestellung 3. Man führt eine Zahl ein, die mit jedem neu erzeugten Tupel steigt (id). Die so erhaltenen Attribute sind der Schlüssel zur eindeutigen Identifizierung eines Datensatzes, sie heißen deshalb Primärschlüssel. Im ER-Diagramm und im Relationenmodell werden sie durch Unterstreichen gekennzeichnet.

+ Verbesserte Relationenschemata des Pizzaservice

+ Das zugehörige Relationenmodell Bestellung{Datum, Uhrzeit} Angestellter{ID, Name, Adresse, Telefon, Gehalt} Kunde{ID, Name, Adresse, Telefon} Pizza{Name, Zutaten, Preis} gibt ab{bestellung.uhrzeit,bestellung.datum,kunde.id} nimmt auf{bestellung.uhrzeit,bestellung.datum,angestellter.id} bäckt{angestellter.id,pizza.name} fährt aus{angestellter.id,pizza.name} erhält{kunde.id,pizza.name} enthält{bestellung.uhrzeit,bestellung.datum,pizza.name}

+ Umsetzung in Tabellen

+ Aufgabe Dies ist die Fortsetzung zu den Beispielen der ER- Modellierung. Nimm dir jedes ER-Modell vor und setze entsprechende Primärschlüssel Wandle alle aktualisierten ER-Modelle in ein Relationenmodell um.

+ Bsp. Postleitzahlen Primärschlüssel im Postleitzahlenverzeichnis: Die Postleitzahlen sind eindeutig, Städte werden oft durch Zusätze eindeutig identifiziert, z.b. "Frankfurt/Oder". Relationenschemata: Postleitzahl{Nummer} Ort{Name, Zusatz} identifiziert{nummer, Name, Zusatz}

+ Bsp. Zeugnisse Für Schüler (wie Personen allgemein) sind als Primärschlüssel am besten (Kenn-) Zahlen geeignet. Demzufolge werden auch die Zeugnisse zusätzlich durchnummeriert. Relationenschemata: Schüler{ID, Nachname, Vorname} Zeugnis{ID, Mitarbeit, Verhalten, Fachnoten} erhält {Schüler.ID, Zeugnis.ID}

+ Bsp. Digitalfoto Die Digitalfotos erhalten am einfachsten ebenfalls Nummern als Primärschlüssel, ein Stichwort "spricht für sich", verwendet also das Wort selbst als eindeutige Bezeichnung. Relationenschemata: Foto{ID, Datum, Auflösung} Stichwort{Bezeichnung} gehört zu{foto.id,bezeichnung}

+ Bsp. CD-Sammlung Interpreten sind im allgemeinen durch ihren (Künstler-)namen eindeutig identifiziert, CDs durch ihre ISBN-Nummer und Songs benötigen eine Nummer. Relationenschemata: Interpret{Name} CD{ISBN, Titel} Song{ID, Titel} nimmt auf{name, ISBN} enthält{isbn,song.id}

+ Bsp. Programmierung Entwickler sind Personen, am sinnvollsten ist hier ein eigener Schlüssel durch eine Nummer, Komponenten werden im allgemeinen so benannt, dass sie eindeutig bezeichnet sind. Relationenschemata: Entwickler{ID, Name} Komponente{Name} enthält{containerkomponente.name, enthaltenekomponente.name} programmiert{entwickler.id,komponente.name}

+ Bsp. Lehrerdatenbank Lehrer erhalten (als Personen) eine ID, Klassen und Fächer sind normalerweise im Namen eindeutig. Relationenschemata: Lehrer{ID, Vorname, Nachname, Geburtsdatum, Adresse} Klasse{Name, Schülerzahl} Fach{Name} unterrichtet{lehrer.id, Klasse.Name} hat_lehrbefähigung{lehrer.id, Fach.Name} wird_unterrichtet{klasse.name, Fach.Name}