Relationale Datenbanken I

Slides:



Advertisements
Ähnliche Präsentationen
Datenmodellierung.
Advertisements

Deduktive Datenbanken
Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs
Grundlagen des relationalen Modells
Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs
Deduktive Datenbanken
XML-Datenmodellierung und Web-Services
Das Relationale Modell
Grundlagen des relationalen Datenmodells
XML: Extensible Markup Language
Relationale und Objekt-relationale Datenbanken
SQL standardisierte Datendefinitions (DDL)- Datenmanipulations (DML)-
XML-Datenmodellierung und Web-Services XML Datenmodell Schemabeschreibungssprachen Anfragesprachen: XPath und XQuery Web-Services Überblick WSDL UDDI SOAP.
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Datenbanksysteme Schwerpunkte: Datenbanksystem (DBS): Datenbank (DB):
Franziska Schmidt Sarah Ahlheit
Kapitel 5 SQL DDL + DML.
Kapitel 2 SQL Anfragen.
Kapitel 5 SQL DDL + DML.
Kapitel 2 SQL Anfragen.
Speicherung globaler Relationen: Fragementierung und Allokation
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Information Systems & Semantic Web University of Koblenz Landau, Germany Vorlesung Multimedia-Datenbanken Objekt-relationale Datenbanksysteme (Folien nach.
Kapitel 4 SQL: Grundlagen.
Kapitel 2: Konzeptuelle Modellierung
Kapitel 11: Relationale Entwurfstheorie
Historische Entwicklung relationaler DBMS
Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs
Standardisierte -Datendefinitions (DDL)- -Datenmanipulations (DML)- -Anfrage (Query)-Sprache derzeit aktueller Standard ist SQL 99 und SQL3 (2003) objektrelationale.
SS 2013 – IBB4B Datenmanagement Fr 17:00 – 18:30 R Vorlesung #5 Relationale Entwurfstheorie.
Kapitel 6 Relationale Entwurfstheorie
Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs
Standardisierte -Datendefinitions (DDL)- -Datenmanipulations (DML)- -Anfrage (Query)-Sprache derzeit aktueller Standard ist SQL 99 und SQL3 (2003) objektrelationale.
Historische Entwicklung relationaler DBMS
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
SS 2011 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #5 Relationale Entwurfstheorie.
Vorlesung #2 Datenbankentwurf
SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 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
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.
Vorlesung #4 SQL (Teil 1).
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #2 Das relationale Modell (Teil 1)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #2 Das relationale Modell (Teil 1)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #2 Datenbankentwurf.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Datenbanksysteme für hörer anderer Fachrichtungen
Das Entity-Relationship-Modell
Relationales Datenmodell und DDL
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #2 Datenbankentwurf.
Vorlesung #2 Das relationale Modell (Teil 1)
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #2 Datenbankentwurf.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Objektorientierte Datenbanken
Technische Universität München Übung zur Einführung in die Informatik für Hörer anderer Fachrichtungen im Sommersemester 2010 Sitzung 6: Datenbanksysteme.
Datenbanken Das Relationale Datenmodell Ralf Möller Universität zu Lübeck Institut für Informationssysteme.
Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs
Internships in India (Accenture)  Falls Sie ein Internship in India machen möchten, bitte setzen Sie sich mit mir in Verbindung:
Technische Universität München Übung zur Einführung in die Informatik für Hörer anderer Fachrichtungen im Sommersemester 2010 Sitzung 7: Grundlagen des.
Technische Universität München Übung zur Einführung in die Informatik für Hörer anderer Fachrichtungen im Sommersemester 2010 Sitzung 8: Die relationale.
Vorlesung #2 ER –Modellierung (Datenbankentwurf)
Vorlesung #5 Relationale Entwurfstheorie
Datenbanken Das Relationale Datenmodell
Vorlesung #2 Datenbankentwurf
Vorlesung #3 ER Modellierung
 Präsentation transkript:

Relationale Datenbanken I Datenbankdesign mit dem Entity-Relashionship-Modell

Was sind relationale Datenbanken? Relationale Datenbanken sind der am weitesten verbreitete Typ von Datenbanken. Relationale Datenbanken speichern Daten in Tabellen. Bei der Suche nach bestimmten Informationen können die Inhalte verschiedener Tabellen miteinander verknüpft werden. Tabellen, die nicht verknüpft werden können, bilden keine Datenbank

Beispiel Welche Fächer besucht eine bestimmte Schülerin? Mit unverknüpfbaren Tabellen (z.B. Excel) liesse sich das nicht (oder nur von Hand) herausfinden.

Wo benutzt man Datenbanken? Behörden (Steuer, Einwohner, Verkehr, Polizei, Schulen, Sozialämter, Spitäler, Justiz usw.) Unternehmen (Kundenverwaltung, Lagerverwaltung, Rechnungswesen, Lieferantenverwaltung, Angestelltenverwaltung usw.) Detailhandel (Kaufverhalten) Vereine (Mitglieder, Anlässe, Rechnungen) Archive, Bibliotheken, Museen Wissenschaft (Geographie, Biologie (insb. Genetik), Medizin, Geschichte, Literatur usw.) Internet (Suchmaschinen, soziale Netzwerke usw. an vielen weiteren Orten

Aufbau einer Tabelle Telefonbuch Name Straße Telefon# Mickey Mouse Main Street 4711 Mini Mouse Broadway 94725 Donald Duck 95672 ... Einzelne Einträge werden Tupel genannt Bsp.: („Mickey Mouse“, „Main Street“, 4711) Schema: legt die Struktur der gespeicherten Daten fest Bsp.: Telefonbuch: {[Name:String, Adresse:String, Telefonnummer:Integer]} (String = Zeichenkette, Integer = Ganzzahl)

Telefonbuch Name Straße Telefon# Mickey Mouse Main Street 4711 Mini Mouse Broadway 94725 Donald Duck 95672 ... Schlüssel: minimale Menge von Attributen, deren Werte ein Tupel eindeutig identifizieren Primärschlüssel: wird unterstrichen Einer der Schlüsselkandidaten wird als Primärschlüssel ausgewählt Wird für die Referenzierung von Tupeln (also Verweise auf Tabellenzeilen) verwendet Ausprägung: der aktuelle Inhalt einer Tabelle

Objektbeschreibung: Beispiel Universität Uni-Angestellte Anzahl: 1000 Attribute PersonalNummer Typ: Integer Länge: 8 Wertebereich: 0...99'999'999 Anzahl Wiederholungen: 0 Identifizierend: ja Gehalt Typ: Dezimalzahl Länge: (8,2) Anzahl Wiederholung: 0 Identifizierend: nein Rang Typ: String Länge: 4

Beziehungsbeschreibung: prüfen Beteiligte Objekte: Professor als Prüfer Student als Prüfling Vorlesung als Prüfungsstoff Attribute (Eigenschaften) der Beziehung: Datum Uhrzeit Note Anzahl: 100 000 pro Jahr

Prozessbeschreibungen Prozessbeschreibung: Zeugnisausstellung Häufigkeit: halbjährlich benötigte Daten Prüfungsnoten Fächer Studenten ... Priorität: hoch Zu verarbeitende Datenmenge 500 Studenten 3000 Prüfungen 10 Studienordnungen

Entity/Relationship-Modellierung Entity (Gegenstandstyp) Relationship (Beziehungstyp) Attribut (Eigenschaft) Schlüssel (Identifikation) Rolle

Entity/Relationship-Modellierung Entity (Gegenstandstyp) Relationship (Beziehungstyp) Attribut (Eigenschaft) Schlüssel (Identifikation) Rolle Studenten hören Name MatrNr Hörer

Entity/Relationship-Modellierung MatrNr Name Semester Entity (Gegenstandstyp) Relationship (Beziehungstyp) Attribut (Eigenschaft) Schlüssel (Identifikation) Rolle Studenten Hörer hören Lehrveranstaltung Vorlesungen VorlNr Titel SWS

Uni-Schema voraussetzen Nach- folger VorlNr MatrNr Vorgänger hören SWS Name Vorlesungen Studenten Titel Semester lesen prüfen Note PersNr Rang arbeitenFür Name Assistenten Professoren Raum Fachgebiet PersNr Name

Universitätsschema in „deutsch“ Studenten haben eine MatrNr, Name und Semester. Die MatrNr identifiziert einen Studenten eindeutig. Vorlesungen haben eine VorlNr, SWS und Titel. Die VorlNr identifiziert eine Vorlesung eindeutig. Professoren haben eine PersNr, Name, Rang und Raum. Die PersNr identifiziert einen Professor eindeutig. Assistenten haben eine PersNr, Name und Fachgebiet. Die PersNr identifizier einen Assistenten eindeutig. Studenten hören Vorlesungen. Vorlesungen setzen andere Vorlesungen voraus. Professoren lesen Vorlesungen. Assistenten arbeiten für Professoren. Studenten werden von Professoren über Vorlesungen geprüft. Sie erhalten hierbei eine Note.

Eigenschaften von ER Anforderungen ER Diagramme sind einfach zu erstellen ER Diagramme sind einfach zu ändern ER Diagramme sind intuitiv verständlich (auch vom Laien!) ER Diagramme drücken das Wesentliche aus Technische Anforderung Einfachheit Unterstützung durch Tools (z.B. Visio) Graphisch Informationstheoretische Mächtigkeit

Relationale Darstellung von Entitytypen Studenten: {[MatrNr:integer, Name: string, Semester: integer]} Vorlesungen: {[VorlNr:integer, Titel: string, SWS: integer]} Professoren: {[PersNr:integer, Name: string, Rang: string, Raum: integer]} Assistenten: {[PersNr:integer, Name: string, Fachgebiet: string]}

Relationale Darstellung von Beziehungen ... AR1 R ... A21 E2 En ... An1 ... ... R:{[ ]}

Beziehungen unseres Beispiel-Schemas hören : {[MatrNr: integer, VorlNr: integer]} lesen : {[PersNr: integer, VorlNr: integer]} arbeitenFür : {[AssistentenPersNr: integer, ProfPersNr: integer]} voraussetzen : {[Vorgänger: integer, Nachfolger: integer]} prüfen : {[MatrNr: integer, VorlNr: integer, PersNr: integer, Note: decimal]}

Schlüssel der Relationen hören : {[MatrNr: integer, VorlNr: integer]} lesen : {[PersNr: integer, VorlNr: integer]} arbeitenFür : {[AssistentenPersNr: integer, ProfPersNr: integer]} voraussetzen : {[Vorgänger: integer, Nachfolger: integer]} prüfen : {[MatrNr: integer, VorlNr: integer, PersNr: integer, Note: decimal]}

Ausprägung der Beziehung hören MatrNr VorlNr 26120 5001 27550 4052 28106 5041 5052 5216 5259 29120 5049 29555 5022 25403 Vorlesungen VorlNr ... 5001 4052 Studenten MatrNr ... 26120 27550 VorlNr MatrNr N M Studenten Vorlesungen hören

Verfeinerung des relationalen Schemas lesen Vorlesungen Professoren N 1 1:N-Beziehung Initial-Entwurf Vorlesungen : {[VorlNr, Titel, SWS]} Professoren : {[PersNr, Name, Rang, Raum]} lesen: {[VorlNr, PersNr]} 1

Verfeinerung des relationalen Schemas 1:N-Beziehung Initial-Entwurf Vorlesungen : {[VorlNr, Titel, SWS]} Professoren : {[PersNr, Name, Rang, Raum]} lesen: {[VorlNr, PersNr]} Verfeinerung durch Zusammenfassung Vorlesungen : {[VorlNr, Titel, SWS, gelesenVon]} Regel Relationen mit gleichem Schlüssel kann man zusammenfassen aber nur diese und keine anderen!

Ausprägung von Professoren und Vorlesung Vorlesungen VorlNr Titel SWS Gelesen Von 5001 Grundzüge 4 2137 5041 Ethik 2125 5043 Erkenntnistheorie 3 2126 5049 Mäeutik 2 4052 Logik 5052 Wissenschaftstheorie 5216 Bioethik 5259 Der Wiener Kreis 2133 5022 Glaube und Wissen 2134 4630 Die 3 Kritiken Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 2126 Russel 232 2127 Kopernikus C3 310 2133 Popper 52 2134 Augustinus 309 2136 Curie 36 2137 Kant 7 lesen Vorlesungen Professoren N 1

Vorsicht: So geht es NICHT Vorlesungen VorlNr Titel SWS 5001 Grundzüge 4 5041 Ethik 5043 Erkenntnistheorie 3 5049 Mäeutik 2 4052 Logik 5052 Wissenschaftstheorie 5216 Bioethik 5259 Der Wiener Kreis 5022 Glaube und Wissen 4630 Die 3 Kritiken Professoren PersNr Name Rang Raum liest 2125 Sokrates C4 226 5041 5049 4052 ... 2134 Augustinus C3 309 5022 2136 Curie 36 ?? lesen Vorlesungen Professoren N 1

Vorsicht: So geht es NICHT: FolgenAnomalien Vorlesungen VorlNr Titel SWS 5001 Grundzüge 4 5041 Ethik 5043 Erkenntnistheorie 3 5049 Mäeutik 2 4052 Logik 5052 Wissenschaftstheorie 5216 Bioethik 5259 Der Wiener Kreis 5022 Glaube und Wissen 4630 Die 3 Kritiken Professoren PersNr Name Rang Raum liest 2125 Sokrates C4 226 5041 5049 4052 ... 2134 Augustinus C3 309 5022 2136 Curie 36 ?? Update-Anomalie: Was passiert wenn Sokrates umzieht Lösch-Anomalie: Was passiert wenn „Glaube und Wissen“ wegfällt Einfügeanomalie: Curie ist neu und liest noch keine Vorlesungen

Relationstypen E1 E2 R ... R  E1 x E2 E1 E2 1:N 1:1 N:1 N:M

Mehrfach-Relationen: Beispiel: betreuen 1 Professoren N betreuen Studenten 1 Seminarthemen Note

Ausprägung der Beziehung betreuen Professoren p1 p2 p3 p4 t1 t2 t3 t4 s1 s2 s3 s4 b1 b2 b3 b4 b5 b6 Studenten Gestrichelte Linien markieren illegale Ausprägungen Seminarthemen

Dadurch erzwungene Konsistenzbedingungen Studenten dürfen bei demselben Professor bzw. derselben Professorin nur ein Seminarthema "ableisten" (damit ein breites Spektrum abgedeckt wird). Studenten dürfen dasselbe Seminarthema nur einmal bearbeiten – sie dürfen also nicht bei anderen Professoren ein schon einmal erteiltes Seminarthema nochmals bearbeiten. Es sind aber folgende Datenbankzustände nach wie vor möglich: Professoren können dasselbe Seminarthema „wiederverwenden“ – also dasselbe Thema auch mehreren Studenten erteilen. Ein Thema kann von mehreren Professoren vergeben werden – aber an unterschiedliche Studenten.

N M N M N N M 1 1 N 1 voraussetzen Nach- folger VorlNr MatrNr Studenten Assistenten MatrNr PersNr Semester Name Fachgebiet Note hören prüfen arbeitenFür Professoren Vorlesungen lesen voraussetzen SWS VorlNr Titel Raum Rang Nach- folger Vorgänger N M N M N N M 1 1 N 1

Die relationale Uni-DB Studenten MatrNr Name Semester 24002 Xenokrates 18 25403 Jonas 12 26120 Fichte 10 26830 Aristoxenos 8 27550 Schopenhauer 6 28106 Carnap 3 29120 Theophrastos 2 29555 Feuerbach Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 2126 Russel 232 2127 Kopernikus C3 310 2133 Popper 52 2134 Augustinus 309 2136 Curie 36 2137 Kant 7 Vorlesungen VorlNr Titel SWS gelesen von 5001 Grundzüge 4 2137 5041 Ethik 2125 5043 Erkenntnistheorie 3 2126 5049 Mäeutik 2 4052 Logik 5052 Wissenschaftstheorie 5216 Bioethik 5259 Der Wiener Kreis 2133 5022 Glaube und Wissen 2134 4630 Die 3 Kritiken voraussetzen Vorgänger Nachfolger 5001 5041 5043 5049 5216 5052 5259 hören MatrNr VorlNr 26120 5001 27550 4052 28106 5041 5052 5216 5259 29120 5049 29555 5022 25403 Assistenten PerslNr Name Fachgebiet Boss 3002 Platon Ideenlehre 2125 3003 Aristoteles Syllogistik 3004 Wittgenstein Sprachtheorie 2126 3005 Rhetikus Planetenbewegung 2127 3006 Newton Keplersche Gesetze 3007 Spinoza Gott und Natur prüfen MatrNr VorlNr PersNr Note 28106 5001 2126 1 25403 5041 2125 2 27550 4630 2137

Relationale Modellierung der Generalisierung Fachgebiet Assistenten is_a Angestellte Professoren PersNr Name Raum Rang Angestellte: {[PersNr, Name]} Professoren: {[PersNr, Rang, Raum]} Assistenten: {[PersNr, Fachgebiet]}

voraussetzen M N VorlNr MatrNr Nach- folger Vorgänger hören Vorlesungen SWS Studenten Name N M N Titel N M Semester prüfen Note lesen 1 1 Fachgebiet Rang 1 N arbeitenFür Professoren Assistenten Raum is-a PersNr Angestellte Name