Kurs: Datenmodellierung SQL Johann Eder

Slides:



Advertisements
Ähnliche Präsentationen
Datenintegrität Integitätsbedingungen Schlüssel
Advertisements

ER-Datenmodell und Abfragen in SQL
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Transaction Synchronization for XML Data in Client Server Web Applications Stefan Böttcher & Adelhard Türling Universität Paderborn.
Datenbanken Einführung.
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
PL/SQL - Kurze Einführung -.
Folienadaption HS, 4/00. Relationen sind Tabellen! Relationales Modell = Tabellarische Repräsentation der Daten + assoziative Anfragesprache Datenbank.
Vorlesung: Prof. Norbert Fuhr
Einführung in Informationssysteme
Das Entity-Relationship-Modell
Datenbanken I (0,*) Produkt 3 Karczewski Datenbanken I.
Java: Objektorientierte Programmierung
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
Schritte zu Datenmodellierung
Gliederung der Vorlesung Software Engineering WS 2001/2002
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
IS: Datenbanken, © Till Hänisch 2000 Tabellen In relationalen DB werden Daten in Tabellen organisiert Jede Spalte enthält eine bestimmte Art von Information,
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
Access 2000 Datenbanken.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Seminar: Verteilte Datenbanken
Einführung Dateisystem <-> Datenbanksystem
1 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe.
1 Kapitel 8: Datenintegrität. 2 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines.
Fachbereich Mathematik/Informatik Universität Osnabrück
Einführung und Überblick
Hauptstudiums-Einführung
Grundlagen Datenbanken (GDB)
Interaktive Karten zur Visualisierung statistischer Daten mit Descartes Vortrag von Annette Eicker GIS - Seminar WS 2000/01.
OOD – Object Oriented Design II
VS one Veranstalter: VSone Feb. 08 Folie 1 Copyright by XML-Serialisierung zur Persistierung von Objekten Thomas Schissler
Sicherheitsmodelle Informationsfluss
Server.
Inhalt Was ist A-Plan? Einsatzgebiete Organisation der Daten
Mind Mapping- eine Einführung
OO implementieren Teil IV Objekte erzeugen. © René ProbstModul 226IV - 2 Von der Klasse zum Objekt Plan Bau Objekt Klasse Instanzierung Objekt Das Objekt.
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #4 Anfragebearbeitung (Teil 2)
Vorlesung #1 Einführung
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 37 Version 1.0a Datenmodellierung Modell –Abbild eines Wirklichkeitsausschnittes –Abstraktion – Reduktion auf.
Vergleich der verschiedenen kommerziellen Datenbanksysteme
FH-Hof Standard Query Language Richard Göbel. FH-Hof Geschichte der Sprache SQL System/R-Projekts von IBM zu Beginn der 70er Jahre: Entwicklung der Sprache.
Advanced Mapping Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Vorlesung #1 Einführung
SS 2010 – IBB4C Datenmanagement Fr 15:15 – 16:45 R 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 #1 Einführung.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Allgemeines zu Datenbanken
UML-Kurzüberblick Peter Brusten.
DI (FH) DI Roland J. Graf MSc (GIS) U N I V E R S I T Ä T S L E H R G A N G Geographical Information Science & Systems UNIGIS.
Einführung in Datenbankmodellierung und SQL
Freiwillige Feuerwehr der Stadt Perg
verstehen planen bearbeiten
Folienadaption HS, 4/99.
SQL - Structured Query Language  AIFB SS (1|3) 2.1 Allgemeines zu SQL (1|3) Benennung: SQL: „structured query language" ursprünglich: SEQUEL –
Einführung Dateisystem <-> Datenbanksystem
IS: Datenbanken, © Till Hänisch 2000 Einführung Worüber reden wir hier eigentlich ?
Vorlesung #2 ER –Modellierung (Datenbankentwurf)
Vorlesung #2 Datenbankentwurf
Kapitel 6: Datenbanksysteme
Datenbanken Eine Einführung Kerstin Fröhlig, HHBK.
Von Wietlisbach, Lenzin und Winter
ER-Modell und Relationales Schema
Grundlagen Datenbanken (GDB)
Datenbanksystem Von Anna und Robin.
Präsentation von Darleen und Michèle
Datenbanken Von Amed und Alicia.
(Structured Query Language)
 Präsentation transkript:

Kurs: Datenmodellierung SQL Johann Eder (eder@isys.uni-klu.ac.at) DATENBANKEN Kurs: Datenmodellierung SQL Johann Eder (eder@isys.uni-klu.ac.at)

Datenbanken:Einführung Inhalt 1. Einführung, Grundbegriffe 2. Modellierung 3. Relationenmodell 4. Relationale Sprachen (SQL) ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Ziele Teilnehmer verstehen die grundlegenden Funktionsweisen von Datenbanksystemen Kennen die charakteristischen Eigenschaften von Datenbanken können kleinere Datenbanken entwerfen können Daten aus Datenbanken abfragen ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Literatur Atzeni, P.; Ceri, S.; ParaboschiS.; Torlone, R.: Database Systems: Concepts, Languages and Architectures. McGraw-Hill Publishing Company, 1999. Date, C.J.: An Introduction to Database Systems. Vol. I, 6th edition, Addison-Wesley, 1995. Elmasri, R.; Navathe, Sh.B.: Fundamentals of Database Systems. Benjamin Cummings, 3rd ed., 1999. Kemper, A; Eickler A.: Datenbanksysteme. 2. Aufl., Oldenbourg Verlag, 1997 Ullmann, J.D.: Principles of Database and Knowledge-Base Systems. Vol. I, Computer Science Press, 1988. Vossen, G.: Datenmodelle, Datenbanksprachen und Datenbankmanagement- Systeme. Oldenbourg Verlag, München, 1999. ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Warum Datenbanken? ANSI / SPARC 3-Schichten Architektur Charakteristische Eigenschaften Architektur und Datenmodelle Schnittstellen Rollen / Benutzer ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Warum Datenbanken? „... kaum eine größere Informatikanwendung ist ohne DB-Unterstützung denkbar“ „DB-Systeme ... sind heute ein selbstverständliches Hilfsmittel der betrieblichen Organisation und Verwaltung geworden“ „Datenbanken ... als Schlüsseltechnologie für die Realisierung komplexer Informationssysteme ...“ ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Kennzeichen der Daten Lange Lebensdauer (Jahre, Jahrzehnte) reguläre Strukturen große Datenobjekte, große Datenmengen stetig anwachsende, integrierte Bestände (Giga-, Terabyte an Informationen) immer wiederkehrende Muster in den Objektbeziehungen ©2001 Johann Eder Datenbanken:Einführung

Warum Datenbanksysteme? Probleme mit Dateisystemen Bsp.: Programm Lohnverrechnung Datei Angestellter (SV#, Name, Adresse, Gehalt) Programm Projekte Datei Mitarbeiter (Projekt#, SV#, Name, Telefon#) Datei Projekt (Projekt#, Projektbeschreibung) Nachteile: Daten-Programm-Abhängigkeit Redundanz, Inkonsistenz Inflexibilität Standards schwer durchsetzbar LOHN Angestellter PROJEKT Projekt Mitarbeiter ©2001 Johann Eder Datenbanken:Einführung

Warum Datenbanksysteme (2) F 1.6 Scan ©2001 Johann Eder Datenbanken:Einführung

ANSI-SPARC 3-Schichten Modell Externe Modelle Externe Modelle: Sicht von Benutzer(gruppen) Anwendungsprogrammen Konzeptuelles Modell einheitliche Gesamtschau der Unternehmensdaten Internes Modell physische Speicherstrukturen ... Konzeptuelles Modell Internes Modell ©2001 Johann Eder Datenbanken:Einführung

Vorteile von Datenbanken physische Datenunabhängigkeit Internes Schema kann geändert werden, ohne Anwendungsprogramme zu ändern Änderung nur bei Abbildung konzept. Schema - internes Schema logische Datenunabhängigkeit konzeptuelles Schema kann geändert werden ohne Anwendungsprogramme zu ändern solange das entspr. externe Modell abgeleitet werden kann Ändern Abb. Konzeptuelles Schema - externes Schema integrierte zentrale Verwaltung Standards Redundanzen Konsistenz ©2001 Johann Eder Datenbanken:Einführung

Eigenschaften von Datenbanken Persistenz Management von Sekundärspeichern Mehrbenutzerfähigkeit Zuverlässigkeit Datensicherheit ad-hoc Abfragesprachen ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Persistenz Daten „überleben“ das Ende von Sitzungen, das Ende von Transaktionen Daten sind z.T. sehr langlebig Daten können „in situ“ aktualisiert werden ©2001 Johann Eder Datenbanken:Einführung

Verwaltung von Sekundärspeichern Verwaltung großer Datenmengen üblicherweise auf Platten Datenbanken sind Ein-/Ausgabe-intensiv Spezifische Techniken zur Erhöhung der Performanz Pufferung (DB Puffer im Hauptspeicher) Indexierung, Cluster Abfrageoptimierung ©2001 Johann Eder Datenbanken:Einführung

Mehrbenutzerfähigkeit mehrere Benutzer können gleichzeitig auf den Daten arbeiten DBMS sorgt dafür, daß keine unerwünschten Wechselwirkungen durch gleichzeitige Manipulation derselben Daten eintreten Erhaltung der Integrität Lost-update read(X) X:= X+10 write(X) read(X) X:=X-20 write(X) ©2001 Johann Eder Datenbanken:Einführung

Zuverlässigkeit der Daten Daten sind teuer und strategisch wichtig - müssen daher zuverlässig sein DBMS bestätigt jede durchgeführte Änderung bei Systemfehler: DB-Zustand wiederherstellen, der genau alle bestätigten Änderungen enthält. roll-backward: Eliminieren der Auswirkungen aller unbestätigten Transaktionen roll-forward: Nachziehen der Auswirkungen aller bestätigten Transaktionen auf Sicherungskopie. ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Datensicherheit Schutz vor unberechtigtem Zugriff Berechtigungssystem definieren Sicherheitssubjekte (Benutzer, Rollen, etc.) Sicherheitsobjekte (Daten) Rechte (Lesen, Schreiben - i.e. verändern) Weitergabe von Rechten Zugriff durch Nichtberechtigte verhindern bei jedem Zugriff Berechtigungen überprüfen ©2001 Johann Eder Datenbanken:Einführung

Ad-hoc Abfragesprachen Abfrage von Daten ohne eigenes prozedurales Programm schreiben zu müssen deklarativer Zugriff SQL, QBE, etc. „Wie hoch ist das Durchschnitts- gehalt der Manager in den einzelnen Städten in denen mindestens 5 Manager beschäftigt sind?“ Select city, avg(salaray) from emp, dept where emp.deptno = dept.deptno and emp.job = “manager“ group by city having count(*) >= 5 ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Wichtige Begriffe Datenbankmanagementsystem (DBMS) Software, die die DB verwaltet und alle von den Anwendungsprogrammen verlangten Funktionen zentral durchführt Datenbanksystem (DBS) DBMS + DB Datenbank (DB) integriert vom DBMS verwaltete Dateien ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Schnittstellen DBMS-Shell SQL-Befehle eingeben und durchführen graphische Schnittstellen (Browser) formularbasierte Schnittstellen (Masken) natürlichsprachliche Schnittstellen Schnittstellen für Anwendungsprogramme Sprachen Datendefinitionssprache (DDL) formulieren der Schemata Datenmanipulationssprache (DML) abfragen, einfügen, löschen, aktualisieren von Daten ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Dienstprogramme DB-Loader: Laden von Daten in eine Datenbank Backup: Erstellen von Sicherungskopien Reorg: Reorganisation der Datenstrukturen zur Performanzverbesserung Berichtsgeneratoren (report writer) formatieren von Berichten (komplexen Abfragen) Kopf-und Fußzeilen, Text Seitenumbruch, Zwischensummen, Gruppenwechsel, etc. Anwendungsgeneratoren (4GL-Sprachen) Monitor (Performanz, Tuning) Datenwörterbuch (Data Dictionary) Kommunikationssubsysteme ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Personen und Rollen Datenbankadministrator verwaltet die Ressource Datenbank internes Schema Vergabe von Zutrittsrechten Tuning und Monitoring Sicherheit und Zuverlässigkeit Unternehmensadministrator (Datenbankdesigner) zuständig für konzeptuelles Schema externe Schemata Schnittstelle zu Software-Entwicklung ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Personen und Rollen (2) Systemanalytiker, Anwendungsprogrammierer Anforderungserhebung Software-Entwicklung Endbenutzer gelegentliche Benutzer z.B. Manager unterschiedliche, z.T. nicht vorhersehbare Informationsbedürfnisse von „schnell mal nachschauen“ bis komplexe Analysen parametrische Benutzer z.B. Sachbearbeiter Anwendungsprogramme, „canned transactions“ Power-User z.B. Analytiker komplexe Anforderungen gute Kenntnis von DB + Schnittstellen ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Produkte Oracle DB2 SQL-Server Access Informix Sybase Ingres Progress Adabas .... ©2001 Johann Eder Datenbanken:Einführung

Kapitel 2: Modellierung Datenbank-Entwurf ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Datenbank-Entwurf Ziele: • gutes Abbild der Realität • Konsistenz • keine ungeplanten Redundanzen • niedrige Antwortzeiten • niedriger Speicherplatzbedarf • niedriger Wartungs-/Pflegeaufwand • Einfachheit ©2001 Johann Eder Datenbanken:Einführung

5 Phasen der DB-Entwicklung 1. Informationsbedarfsanalyse wer braucht welche Daten wann in welcher Qualität 2. konzeptueller Entwurf formalisierte Beschreibung des Umweltausschnitts häufig mit graphischem semantischen Datenmodell 3. logischer Entwurf Abbilden des konzeptuellen Modells auf Datenmodell des DBS 4. physischer Entwurf Speicherstrukturen, Zugriffspfade festlegen 5. Verwendung, Wartung, Reorganisation Tuning Adaptieren ©2001 Johann Eder Datenbanken:Einführung

5 Phasen der DB-Entwicklung (a) Informationsbedarfsanalyse • wer braucht wo? wann? was? • relevante Informationen und Vorgänge aus dem und über das Objektsystem • Zusammenhänge zwischen - Informationen - Informationen und Vorgängen • Vollständigkeit, Redundanz, Konsistenz Was soll im zukünftigen Informationssystem enthalten sein? Wie wird es verwendet? ©2001 Johann Eder Datenbanken:Einführung

5 Phasen der DB-Entwicklung b) Konzeptueller Entwurf • formalisierte Beschreibung der ermittelten Informationen und Funktionen • häufig mit graphischem Darstellungsmodell • entweder konzeptueller Entwurf des gesamten Bereiches oder zuerst Formulierung der Modelle der einzelnen Benutzersichten und anschließend Integration (View-Integration) • semantische Datenmodellierung: Definition aller zulässigen Zustände und Zustands- übergänge der Datenbasis des geplanten Informations- systems Ergebnis: konzeptuelles DB-Modell ©2001 Johann Eder Datenbanken:Einführung

5 Phasen der DB-Entwicklung (c) Logischer Entwurf Abbildung des konzeptuellen Modells auf das Datenmodell eines konkreten DBS. Ergebnis: logisches DB-Schema ©2001 Johann Eder Datenbanken:Einführung

5 Phasen der DB-Entwicklung (d) Physischer Entwurf • Festlegen der Einzelheiten der physischen Darstellung der Daten • Abbildung auf Speicherstrukturen (Datenstrukturen) • Bestimmen der Zugriffspfade • verantwortlich für Antwortzeitverhalten und Speicherplatz- bedarf • erforderlich: Mengengerüst, Transaktionsprofil, Nebenbe- dingungen (z.B. Antwortzeit für bestimmte Trans- aktionen) Ergebnis: physisches DB-Schema ©2001 Johann Eder Datenbanken:Einführung

5 Phasen der DB-Entwicklung (e) Verwendung - Wartung - Reorganisation Reorganisation wegen: veränderter Umweltbedingung (dargestellte Realität hat sich gewandelt) z.B.: - weitere Anwendungen - modifizierte Aufgabenstellung - veränderte gesetzliche Bestimmungen (a) Revidierung früherer Entwurfsentscheidungen für Leistungsverbesserung - Änderung der logischen Struktur (selten) (c) - Änderung der physischen Struktur (d) ©2001 Johann Eder Datenbanken:Einführung

Semantische Datenmodellierung Beschreibung des betrachteten Ausschnitts der realen Welt Miniwelt, Universe of Discourse genaue (eindeutige, vollständige) Beschreibung aller für die Anwendung relevanten strukturellen Eigenschaften in semantischer Beschreibungssprache unabhängig von Hardware und Software Ergebnis: konzeptuelles Datenbankschema Verständigungsbasis für Entwerfer, Entwickler, Anwender ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung ER-Modellierung Das Entity-Relationship (E-R) Modell ist ein konzeptuelles Datenmodell Sprache zur Beschreibung der Datenanforderungen leicht zu verstehen und zu kommunizieren unabhängig von der tatsächlichen Realisierung in einem DBMS-Produkt Graphische Sprache graphische Repräsentation der Konstrukte E-R-Diagramme Ursprung: P.Chen:´The Entity-Relationship Model -Toward a Unified View of Data´, ACM TODS, Vol1/1, 1976 viele extended E-R- Modelle ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung UML Unified Modelling Language Lingua franca der objektorientierten Softwareentwicklung sehr großer Sprachumfang 8 Diagrammarten hier: Teilmenge der Klassendiagramme ©2001 Johann Eder Datenbanken:Einführung

Entity, Gegenstand, Objekt Einheit, Ganzheit, Gegenstand, Objekt Modell, Abbild eines Gegenstandes, der in der betrachteten Realität erkannt und eindeutig identifiziert wird. Beisp.: Kunde Otto Huber Bankkonto Nr 789.987.123 Buch Objekt ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Attribut Attribut Merkmale, Charakteristik Bezeichnungen von Eigenschaften, die bei dem betrachteten Entity für die Anwendung relevant sind Beisp.: Vorname, Saldo, Geburtsdatum, Hausnummer Attributsausprägung Wert eines Attributes für ein bestimmtes Entity Beisp.: Mitarbeiter mit der MID 2317 wurde am 16.12.1965 geboren. Wertebereich Menge von Werten aus denen Ausprägungen eines Attributs stammen dürfen ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Attribut(2) Attribut ist eine Abbildung von einem Objekt in einen Wertebereich Name Otto Huber M-ID 2317 Geb.Datum 27.8.1965 ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Klassifikation Objekte, bei denen dieselben Merkmale relevant sind und die semantisch gleichartig sind, werden zu Klassen zusammengefaßt. Abteilung Buch Exemplar Kunde Mitarbeiter ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Klassifikation (2) Klasse Instanz Karl Müller Mitarbeiter Frieda Maier Ottilie Huber ©2001 Johann Eder Datenbanken:Einführung

Assoziation (Relationships) Repräsentieren logische Verbindungen (Beziehungen) zwischen Objekten M1 P1 M2 M4 P2 M5 M3 P3 M6 P4 Mitarbeiter Projekte ©2001 Johann Eder Datenbanken:Einführung

Beispiele von Assoziationen Kunde Artikel bestellt zugeteilt Mitarbeiter Projekt leitet ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Assoziationen Assoziationen können (mathematisch) als Relationen dargestellt werden bestellt  Kunde  Artikel bestellt= {(k1, a1), (k2, a1), (k4, a3), (k4, a5), ...} Assoziation hat Rollen, die von Objekten gefüllt werden: bestellt hat die Rollen „Besteller“ und „Bestelltes“ gefüllt von Kunde und Artikel ©2001 Johann Eder Datenbanken:Einführung

Rekursive Beziehungen Chef Mitarbeiter ist Vorgesetzter von Untergebener ist Freund von Kunde ©2001 Johann Eder Datenbanken:Einführung

Beziehungen höheren Grades Beispiel für eine ternäre Beziehung Grad: Anzahl der Klassen (Rollen), die an einer Beziehung teilnehmen Lieferant liefert Artikel Abteilung ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Klasse mit Attributen Person PID einfaches Attribut Name mehrfaches Attribut Vorname 1..3 (mehrwertiges) Hobbies 0..10 mengenwertiges Attribut Adresse: zusammengesetztes (strukturiertes) Attribut PLZ Ort Straße ©2001 Johann Eder Datenbanken:Einführung

Assoziation mit Attributen % Zeit seit Mitarbeiter Projekt ist zugeteilt leitet ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Beziehungsobjekte Kunde bestellt Artikel Bestellung Mitarbeiter betreut von Datum ©2001 Johann Eder Datenbanken:Einführung

Multiplizität von Assoziationen Spezifikation der Zuordnungswertigkeit einer Beziehung A i assoz. j B i: Anzahl der Instanzen der Klasse A, die mit einer Instanz der Klasse B in Beziehung stehen können. Angabe: Zahl, Intervall, *, Kombination Bsp: 1; 0..5; *; 0..3, 7..9, *21, 5..* ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Multiplizität - m : n Spezifikation der Zuordnungs-Wertigkeit einer Beziehung Mitarbeiter Projekt 1..m zugeteilt 0..n M1 P1 M2 M4 P2 M5 M3 P3 M6 P4 ©2001 Johann Eder Datenbanken:Einführung

totale vs. partielle Assoziation totale Beziehung: jede Instanz muß an einer Beziehung teilnehmen partielle Beziehung: jede Instanz kann an einer Beziehung teilnehmen Mitarbeiter 1..* Projekt * zugeteilt * Abteilung arbeitet in 1..* ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Multiplizität - 1:n Mitarbeiter 0..1 0..* Projekt leitet M1 P1 M2 M4 P2 M5 M3 P3 M6 P4 ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Multiplizität - 1 : 1 Mitarbeiter Abteilung 0..1 leitet 0..1 M1 A1 M2 M4 A2 M5 M3 A3 M6 A4 ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Konsistenzbedingung Mitarbeiter Gehalt MNr Projekt Start Ende PNr 1 leitet 1 m arbeitet an n Prozent Das (geplante) Ende eines Projektes darf nicht vor dem Start liegen. Der Leiter eines Projektes muß auch am Projekt mitarbeiten. Die Gesamtarbeitszeit eines Mitarbeiters an Projekten darf 100% nicht übersteigen. Kein Mitarbeiter eines Projektes darf mehr verdienen als der Projektleiter. ©2001 Johann Eder Datenbanken:Einführung

Multiplizität bei mehrstelligen Assoziationen j A C i k i: Anzahl der Instanzen von A, die mit einem Paar von Instanzen von B und C in Bezug stehen. ©2001 Johann Eder Datenbanken:Einführung

Multiplizität Beispiel Assistent 1 Student Übung m 1 möglich: ein Student kann eine bestimmte Übung nur bei einem Assistenten besuchen und bei einem bestimmten Assistenten nur eine Übung d.h.: f1: Student x Assistent  Übung f2: Student x Übung  Assistent aber nicht: g1: Student  Übung x Assistent g2: Assistent x Übung  Student ©2001 Johann Eder Datenbanken:Einführung

Datenbanken:Einführung Identifikation Konzepte (Attribute, Entities), die ein Entity (Instanz) eindeutig identifizieren besteht häufig aus einem oder mehreren Attributen (Schlüssel, interne Identifikatoren) Manchmal sind Attribute allein nicht ausreichend und Entities müssen über ihre Beziehung zu anderen Entities identifiziert werden - (externe) Identifikatoren Beisp.: BLZ ist Schlüssel für Bank KontoNr nur innerhalb einer Bank eindeutig Konto wird über BLZ + KontoNr idenitifiziert ©2001 Johann Eder Datenbanken:Einführung

Beispiel Klassendiagramm berichtet an Chef Kunde KNr. key Name Anschrift Mitarbeiter MNr. key Name Job 0..1 betreut * Mitarbeiter 1 gibt auf 0..1 * * leitet arbeitet in Bestellung Best.Nr. key Daten Anteil 0..1 * * Projekt Proj.Nr. key Bezeichnung umfaßt * Produkt Preis Prod.Nr. key Bezeichnung ©2001 Johann Eder Datenbanken:Einführung

textuelle Beschreibung Mitarbeiter haben eine MNr, einen Name und einen Job. Kunden haben eine KNr, einen Namen und eine Anschrift. Ein Mitarbeiter kann mehrere Kunden betreuen, ein Kunde wird von maximal einem Mitarbeiter betreut. Ein Produkt kann mehrfach bestellt werden. Eine Bestellung umfasst mehrere Produkte. Das Berichtswesen ist streng hierarchisch aufgebaut, jeder Mitarbeiter kann nur an einen Chef berichten. Ein Projekt wird von maximal einem Mitarbeiter geleitet, ein Mitarbeiter darf maximal ein Projekt leiten. An Projekten können mehrere Mitarbeiter arbeiten, ein Mitarbeiter kann an mehreren Projekten beteiligt sein. ©2001 Johann Eder Datenbanken:Einführung