ENTITY – RELATIONSHIP – Modell (ER – Modell) Hat eine Datenbank mehrere unterschiedliche Attribute, dann sollten diese zunächst in Hauptgruppen, wie z.B. Schüler, Projekte, Projektdaten, Schülerdaten usw. zu sogenannten Entities zusammengefasst werden. In einem weiteren Schritt werden dann die Beziehungen (Relationship) zueinander festgelegt. Daraus entsteht das ER – Modell. ENTITY - Name Schüler Projekte arbeiten an ER – Modell arbeiten Schüler arbeiten an ...... Projekte leitet Relationship Grad einer Beziehung - 1 : 1 - Beziehung ein Schüler leitet ein Projekt jedes Projekt wird von einem Schüler geleitet es muss jedoch nicht jeder Schüler ein Projekt leiten, es kann Projekte ohne Projektleiter geben Schüler - 1 1 leitet 1 Projekte 1 : n - Beziehung ein Schüler kann kein, ein oder mehrer Projekte leiten allerdings muss jedes Projekt von keinem oder genau einem Schüler geleitet werden Schüler Projekte 1 - leitet n m : n - Beziehung ein Schüler kann an keinem, einem oder mehreren Projekten arbeiten an einem Projekt können kein, ein oder mehrere Schüler arbeiten Schüler m arbeiten n Projekte z. B. ER - Modell Schüler die Beziehung Schüler arbeitet an n Projekten sagt nichts darüber aus ob es Schüler gibt die an keinem Projekt arbeiten solche Aussagen müssen mit Hilfe des Begriffs obligatorische Mitgliedschaft definiert werden m arbeiten n Schüler Projekte 1 leitet n Obligatorische Mitgliedschaft 1. - jeder Schüler muss an mind. einem Projekt arbeiten an jedem Projekt arbeitet mind. ein Schüler Schüler 2. - arbeiten an Projekte ein Schüler muss nicht an einem Projekt arbeiten Schüler arbeiten an Projekte 3. - ein Schüler muss nicht an einem Projekt arbeiten an jedem Projekt arbeitet mind. ein Schüler Schüler 4. - Projekte arbeiten an jeder Schüler muss an mind. einem Projekt arbeiten es gibt Projekte an denen kein Schüler arbeitet Schüler arbeiten an Projekte Beispiel m arbeiten an n Schüler Projekte 1 leitet n ►Auflösung des ER – Modells in Relationen Beispiel zur 1 : 1 Beziehung 1 Schüler besitzt 1 Stuhl ►Auflösung in Relationen SCHÜLER Schüler Nr. Schülername Schülervorname Inventarnr. u.s.w. Beachte: Bei der Auflösung des ER – Modells ist darauf zu achten, das die Relationen so kreiert und die Attribute auf die Relationen so verteilt werden, das die Beziehungen der Entities in den Relationen abgebildet werden können. Daraus ergeben sich Auflösungsregeln für die Beziehungen. Regeln für 1 : 1 Beziehung obligatorische Mitgliedschaft bei beiden Entities obligatorische Mitgliedschaft bei einem Entity nicht obligatorische Mitgliedschaft bei beiden Entities Regeln für 1 : n Beziehung obligatorische Mitgliedschaft beim n - Entity nicht obligatorische Mitgliedschaft beim n – Entity Regeln für m : n Beziehung zusätzlich benötigte Attribute sind auf die dadurch entstandenen Relationen zu verteilen Von der Realwelt zum Modell Aufgabe Entwickeln Sie das ER – Modell für die Objekttypen Artikel, Lieferanten, Kunden und Bestellungen! ARTIKEL alle lieferbaren Artikel LIEFERANTEN Lieferanten, von denen die Produkte bezogen werden KUNDEN alle Kunden, die Bestellungen aufgeben BESTELLUNGEN die offenen Bestellungen der Kunden ARTIKEL BESTELLUNGEN bilden / bestehen aus werden geliefert LIEFERANTEN enthalten bestellte Artikel von KUNDEN ►Auflösung des ER – Modells in Relationen ARTIKEL ART_NR ART_BEZ ART_ART LIEF_NR usw. 01 . . . . . . 99 ............... ................ ................ ........ Für jeden Objekttyp muss eine Tabelle angefertigt werden. Merke! Im RDBMS (relationales Datenbankmanagementsystem) werden die Daten in einfachen Tabellen abgespeichert. Eine Tabelle hat immer ein fest strukturierten Aufbau aus Zeilen und Spalten, welcher einmalig beim Anlegen der Tabelle definiert wird. Der Aufbau ändert sich nicht mehr, nur noch der Inhalt. Vom RDBMS werden folgende Werkzeuge zur Verfügung gestellt: neue (leere) Tabelle definieren Datensätze in dieser Tabelle hinzufügen Daten in bestehenden Tabellen suchen (lesen) einzelne Datenfelder in dieser Tabelle ändern ganze Sätze aus der Tabelle entfernen bzw. löschen leere oder auch mit Daten gefüllte Tabellen komplett aus der Datenbank entfernen Daten selektieren SQL – Befehle SELECT NAME, ANSCHRIFT FROM SCHÜLER WHERE BERUF = ´IT – SYSTEMKAUFMANN` SUCHE NAME, ANSCHRIFT AUS SCHÜLER WOBEI BERUF = ´IT – SYSTEMKAUFMANN` NAME ANSCHRIFT KRAUSE BAHNHOFSTR. 25 MÜLLER ........ Anwendung RDBMS Programme Das RDBMS hat die Aufgabe, Daten eventuell mit Hilfe des Betriebssystems in Dateien, die in der Regel auf Festplatten gespeichert sind, zu verwalten und sie nach Anforderung bereit zu stellen. Zum relationalen Modell besteht aus Objekten und Regeln Relationale Objekte: WERTEBEREICH (DOMAIN) TABELLE (RELATION) AUSDEHNUNGSGRAD DER TABELLE (DEGREE) SPALTE (ATTRIBUT) DATENSATZ, REKORD (TUPEL) EINDEUTIGER SCHLÜSSEL (CANDITATE – KEY) HAUPTSCHLÜSSEL (PRIMARY – KEY) ZWEITSCHLÜSSEL (ALTERNATE – KEY)* * FREMDSCHLÜSSEL (FOREIGN – KEY) zur Verbesserung der Performance werden Zweitschlüssel verwendet Relationale Operationen: ZEILENSELEKTION (RESTRICTION) SPALTENSELEKTION (PROJECTION) KARTESISCHES PRODUKT (PRODUCT) VEREINIGUNG (UNION) SCHNITTMENGE (INTERSECTION) DIFFERENZ (DIFFERENCE) VERBINDUNG (JOIN) DIVISION (DIVISION) Relationale Integritätsregeln: ENTITY – INTEGRITÄT REFERENTIELLE – INTEGRITÄT daraus leiten sich die Aufgaben des DBA (Datenbankadministrator) ab Objektorientierte Programmierung: Objekte: Ein Objekt ist ein abgeschlossenes Element eines Computerprogramm das eine Gruppe mit einander verwanden Elementen. -> Instanzen Klasse: ist eine Vorlage zur Erzeugung viele Objekte mit ähnlichen Eigenschaften.