3. Das Relationale Datenmodell



Ähnliche Dokumente
3. Das Relationale Datenmodell

Datenbanken: Relationales Datenbankmodell RDM

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Datenbanken I - Übung 1

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

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

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

Kapitel DB:III. III. Konzeptueller Datenbankentwurf

Professionelle Seminare im Bereich MS-Office

Zufallsgrößen und Wahrscheinlichkeitsverteilungen

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

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

Kapitel 3: Datenbanksysteme

7. Übung - Datenbanken

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

1 Mathematische Grundlagen

Einführung in die Algebra

Schlüssel bei temporalen Daten im relationalen Modell

4. BEZIEHUNGEN ZWISCHEN TABELLEN

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

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

ER-Modellierung am Beispiel der Universitätsdatenbank aus der DBIS-Vorlesung

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Der Zwei-Quadrate-Satz von Fermat

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

ER-Modell. Entity-Relationship-Model

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

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Ein Ausflug zu ACCESS

Übungsblatt 4. Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin)

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Primzahlen und RSA-Verschlüsselung

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Software-Engineering Einführung

Softwareentwicklungspraktikum Sommersemester Feinentwurf

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

Vorlesung Dokumentation und Datenbanken Klausur

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Business Intelligence Praktikum 1

2.5.2 Primärschlüssel

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

OKB Die MS SQL-Volltextsuche für organice SQL einrichten

Übung Datenbanken in der Praxis. Relationale Algebra

Null-Werte in Relationalen Datenbanken

Anleitung OpenCms 8 Webformular Auswertung

Anleitung über den Umgang mit Schildern

Grundlagen der Theoretischen Informatik, SoSe 2008

Programmiersprachen und Übersetzer

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Einführung in Datenbanken - Wiederholung Normalformen - Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung

Design Theorie für relationale Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Data Mining: Einige Grundlagen aus der Stochastik

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

OP-LOG

Wie Sie beliebig viele PINs, die nur aus Ziffern bestehen dürfen, mit einem beliebigen Kennwort verschlüsseln: Schritt 1

Arbeiten mit UMLed und Delphi

Kapitalerhöhung - Verbuchung

Übungsaufgaben Tilgungsrechnung

Zeichen bei Zahlen entschlüsseln

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Informatik 12 Datenbanken SQL-Einführung

Relationenmodell (RM)

Mitarbeiterbefragung als PE- und OE-Instrument

Kapitel 7 Dr. Jérôme Kunegis. Logische Kalküle. WeST Web Science & Technologies

Animationen erstellen

Fachhochschule Deggendorf Platzziffer:...

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Inhaltsverzeichnis. 1. Fragestellung

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

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

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

4 Grundlagen der Datenbankentwicklung

Einführung in. Logische Schaltungen

Bauteilattribute als Sachdaten anzeigen

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

Informationsblatt Induktionsbeweis

ecaros2 - Accountmanager

Fallbeispiel: Eintragen einer Behandlung

Datenbanken Kapitel 2

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

9. Einführung in Datenbanken

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

Erstellen von x-y-diagrammen in OpenOffice.calc

impact ordering Info Produktkonfigurator

Hilfe zur Urlaubsplanung und Zeiterfassung

Herr Müller möchte anderen Menschen helfen. Er bekommt kein Geld für diese Arbeit. Aber die Arbeit macht ihm Freude.

A1.7: Entropie natürlicher Texte

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

M. Graefenhan Übungen zu C. Blatt 3. Musterlösung

Was bedeutet Inklusion für Geschwisterkinder? Ein Meinungsbild. Irene von Drigalski Geschäftsführerin Novartis Stiftung FamilienBande.

Tutorium zur Mikroökonomie II WS 02/03 Universität Mannheim Tri Vi Dang. Aufgabenblatt 3 (KW 44) ( )

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Transkript:

3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie z. B. Oracle, SQL Server, Sybase, Informix, DB/2 basieren auf dem relationalen Modell Relationales Modell Datentypen: Menge, Multimenge, Operationen: Vereinigung, Differenz, Seite 33 von 43

3.1 Basiskomponenten des Datenmodells Wertebereich ( domain ): Integer, String[20], Datum, Relation R ist definiert auf einem Relationenschema RS R. RS R entspricht einer Menge von Attributen {A 1,,A k } zu jedem Attribut A j gibt es einen Wertebereich D j = dom(a j ) eine Instanz I R einer Relation R ist eine Teilmenge des kartesischen Produkts der Wertebereiche: I R D 1 D 2 D k, k 1 Sprechweisen Der Begriff Relation wird oft für die Instanz einer Relation verwendet. Ist klar, um welche Relation es sich handelt, wird der Index bei der Instanz und beim Schema einfach weggelassen. Beispiel: Wertebereiche: D 1 = { abc,, }, D 2 = { 01, } Kartesisches Produkt: D 1 D 2 = {( a, 0), ( a, 1),( b, 0),( b, 1),( c, 0),( c, 1) } mögliche Instanzen: I 1 = {( a, 0), ( b, 0),( c, 0),( c, 1) } und I 2 = Seite 34 von 43

Notation: Tupel: Element einer Relationeninstanz. Für eine Relation mit k Attributen bezeichnet k den Grad der Relation. Beschränkung auf endliche Instanzen einer Relation. Darstellung der Relationen durch Tabellen: R 1 A B a 0 b 0 c 0 c 1 A und B sind hier Spaltennamen (Attributsnamen) Reihenfolge der Attribute Reihenfolge der Zeilen (Tupel) ist bisher von Bedeutung Wunsch: Reihenfolge der Spalten (Attribute) soll nicht von Bedeutung sein. D = 1 j k dom(a j ) Eine Relationeninstanz I ist eine endliche Menge von totalen Abbildungen I = {t 1,,t n mit t j : RS --> D; t j (A m ) dom(a m ), 1 m k} Seite 35 von 43

Beispiel: Städte Name Einwohner Land München 1.211.617 Bayern Bremen 535.058 Bremen Relationenschema der Relation Städte: {Name, Einwohner, Land} mit dom(name) = String[40], dom(einwohner) = INTEGER und dom(land) = String[40] Ausprägungen: t 1 und t 2 t 1 (Name) = München, t 1 (Einwohner) = 1211617 und t 1 (Land) = Bayern t 2 (Name) = Bremen, t 2 (Einwohner) = 535058 und t 2 (Land) = Bremen Das Relationale Datenmodell Sei RS ein Relationenschema und X RS dann bezeichnet t[x] das Tupel t eingeschränkt auf X. Notation: Datenbankschema: Menge der Relationenschemata Datenbank: Menge der aktuellen Instanzen der Relationen Die bisherige Definition einer Relation läßt Instanzen zu, die real nicht existieren können. Es ist hier sinnvoll, die Instanzen durch geeignete semantische Bedingungen einzuschränken. Seite 36 von 43

Schlüssel analog zum Schlüsselbegriff des ER Modells gegeben: Relation R mit Schema RS X RS wird als Schlüssel bezeichnet, wenn folgende Bedingungen erfüllt sind: Eindeutigkeit: für alle (real möglichen) Relationeninstanzen I der Relation R gilt: Für zwei beliebige Tupel t 1 und t 2 aus I gilt: Minimalität: es gibt kein Y X ( Y X), so daß die Eindeutigkeit erfüllt ist. Beachte: t 1 [ X] = t 2 [ X] t 1 = t 2 Schlüsseleigenschaft bezieht sich nicht auf die aktuell abgespeicherten Instanz einer Relation, sondern ist eine semantische Eigenschaft des Relationenschema Mehrere Teilmengen eines Relationenschemas können Schlüssel sein. Dann wird einer von diesen als Primärschlüssel ausgezeichnet. Die Attribute des Primärschlüssels werden im Schema oft durch Unterstreichen hervorgehoben. Relation Städte mit Schema {Name, Einwohner, Land} Seite 37 von 43

3.2 Abbildung eines ER Schema in ein relationales Schema Datenstruktur der ER-Datenmodellierung Entitätstypen Beziehungstypen Datenstruktur des relationalen Modells Relationen (bzw. Relationenschema) Fragestellung Wie kann ein ER Datenmodell in ein relationales Model umgesetzt werden? Diese Frage wird nun in zwei Schritten beantwortet: Einfache Umsetzung von Entitätstypen und Beziehungstypen Konsolidierung des Relationenschema Seite 38 von 43

Umsetzung eines Entitätstyps Das Relationale Datenmodell Der Entitätsyp wird als eigenständige Relation umgesetzt, wobei jede Eigenschaft des Entitätstyps durch ein Attribut in der Relation dargestellt wird. Die Namen der Attribute können entsprechend den Namen der Eigenschaften des Entitätstyps gewählt werden. Der Schlüssel des Entitätstyps wird als Primärschlüssel des Relationenschema vereinbart. Beispiel (siehe ER Diagramm aus Kapitel ): Entität Zug: {ZugNr: Integer, Typ: String} Entität Bahnhof {Id: Integer, Stadt: String, Name: String} Seite 39 von 43

Umsetzung eines Beziehungstyps Das Relationale Datenmodell Der Beziehungstyp wird als eigenständige Relation umgesetzt, wobei die Primärschlüssel der beteiligten Entitäten vollständig im Relationenschema aufgenommen werden und jede Eigenschaft des Beziehungstyps durch ein Attribut in der Relation dargestellt wird. Die aus einem Primärschlüssel gewonnen Attribute werden als Fremdschlüssel bezeichnet. Die Namen der Attribute eines Fremdschlüssel müssen z. T. umbenannt werden, damit eine Eindeutigkeit der Namen gewährleistet wird. Beispiel (m:n Beziehungstyp) Umsetzung des m:n Beziehungstyps hält und die an dem Beziehungstyp beteiligten Entitätstypen Zug und Bahnhof. Der Schlüssel von hält entspricht dabei der Menge von Fremdschlüsseln. Zug Id Typ 2475 IR 95786 RB hält Zug Station Gleis 2475 1 4 2475 2 10 95786 1 2 Bahnhof Id Stadt Name 1 Marburg Lahn 2 Darmstadt Hbf 3 Wetter Hess- Nass Seite 40 von 43

Beispiel (Umsetzung eines 1:n Beziehungstyps) Betrachten wir hierzu ein Beispiel aus der Universitätswelt, wo ein Professor Vorlesungen abhält. Wenn der Primärschlüssel von Professor die PersNr und die von Vorlesung die VorNr ist, würden die Beziehung liest als zweistellige Relation umgesetzt werden. Professor 1 n liest Vorlesung Man beachte aber, daß {PersNr, VorNr} kein Schlüssel von liest ist, da die Eigenschaft der Minimalität verletzt ist. {VorNr} erfüllt aber die Eigenschaft eines Schlüssels. Mit der Fremdschlüsseleigenschaft bezeichnet man nun folgende Nebenbedingung: Sei F der Fremdschlüssel in R, der sich auf eine Relation S bezieht, so muß stets I R [ F] I S [ F] erfüllt sein. Seite 41 von 43

Konsolidierung des Schemas Das Relationale Datenmodell Mögliche Vereinfachungen des Schemas durch Verschmelzen von Relationen, die aus einer zweistelligen Beziehungstyp der Kardinalität 1:1 oder 1:n hervorgegangen sind. Seien R und S, die Relationen der beteiligten Entitätstypen eines 1:n Beziehungstyps, und T die Relation des Beziehungstyps. Dann können wir alternativ folgendes Schema verwenden: Statt der Relation S und T wird eine neue Relation U eingeführt, wobei RS U = RS S RS T Die Instanzen von U sollen nun die gleiche Information wie zuvor die Instanzen von S und T enthalten. Hierzu verknüpfen wir die Tupel s I S und t I T bzgl. ihres Schlüssels F. Falls s[f] = t[f], wird ein Tupel u I U erzeugt, so daß urs [ S ] = s und urs [ T ] = s. Für die Tupel s I S, die kein t I T mit s[f] = t[f] besitzen, wird ein Tupel u erzeugt, so daß urs [ S ] = s. Die anderen Werte von u werden mit einem speziellen Wert (NULL) aufgefüllt. Die Relation R bleibt unverändert bestehen. Was sind die Vor- und Nachteile einer solchen Konsolidierung? Seite 42 von 43

Umsetzung von IS-A Beziehungstypen IS-A Beziehungstypen werden nicht durch eine eigene Relation repräsentiert. Die Beziehung wird dadurch bereits ausgedrückt, wenn der Schlüssel des allgemeinen Typs auch als Schlüssel der spezializierten Typen benutzt wird. Beispiel: Angestellter IS-A ANGNR Name Fachgebiet Professor Mitarbeiter Thema Daraus ergeben sich drei Relationen mit dem Schema {ANGNR, Name}, {ANGNR, Fachgebiet} und {ANGNR, Thema}. Als Alternative bietet sich auch an, den IS-A Beziehungstyp und die beteiligten Entitätstypen durch eine Relation mit Schema {ANGNR, Name, Fachgebiet, Thema} zu präsentieren und bei den Instanzen die fehlende Information durch NULL-Werte aufzufüllen. Was ist bei diesem Ansatz problematisch? Seite 43 von 43