Prof. Dr. J. Weinberg IuK-Systeme A - WS 1999 Seite 42 (bisher) 1 Anforderungen Bestimmung des „Informationsbedürfnisses“ Analyse der Geschäftsprozesse Operativ strategisch Anforderungen an das Informationssystem 2 Berichtgestaltung, Datenbasis, Verdichtung (weiter mit) 3 Daten- und Datenbank- Design Datenstrukturierung Modellierung in einem „Entity-Relationship-Model“ (E-R Modell) E-R Modell: Ein E-R Modell ist eine (graphische) Methode zur Darstellung komplexer Beziehungsgebilde der Realität, die gleichzeitig Grundlage für die logischen Beziehungen der entsprechenden Daten in einem relationalen Datenbanksystems ist. In einem ER - Modell werden die „Objekte“ der „realen Welt“ und ihre Beziehungen untereinander beschrieben. Aus dem ER - Modell wird die Datenbankstruktur abgeleitet, d.h. wie die Information über die „Objekte“ in der Datenbank abgespeichert werden. Datenbankdefinition Erzeugung der Datenbank im Rechner (aus E-R Modell) Prof. Dr. J. Weinberg 3.1 IuK-Systeme A - WS 1999 Seite 43 Modell Modell: Darstellung eines Teiles (Ausschnittes) der „Welt“ Welt (“Realität”) Modell (Datenbank) Ausschnitt “Miniwelt” Beschränkung auf einen Ausschnitt aus Kosten/Nutzen Aspekten: Informationsgewinnung , Pflege und Speicherung ist aufwendig (nur) interessante Teil Information ist nicht / sehr schwer erhältlich Restriktionen durch den Datenschutz zB Schuhgröße des Hausmeisters? Absatz-/Umsatzzahlen der Konkurrenz? ... ? Die Frage welcher Ausschnitt realisiert wird ergibt sich aus Was wird benötigt? ( Kapitel 1 und 2) Was ist erhältlich? Welche Kosten entstehen? Was darf gespeichert werden? (Datenschutzgesetz) Prof. Dr. J. Weinberg IuK-Systeme A - WS 1999 Seite 44 Beispiele: Kunden- und Produktdaten sind unverzichtbar. Daten über alle Konsumenten der Zielgruppe sind i.d.R nicht oder mit einem nicht vertretbaren Aufwand zu erhalten und zu pflegen ( Direktmarketing Agenturen mit Adresspools, Marktforschungsunternehmen mit statistischen Daten) Die Absatz- und Umsatzzahlen der Konkurrenz sind i.d.R. nicht oder nur rudimentär im Informations- und Kommunikationssystem des Unternehmens zu finden, weil diese Daten kaum zu beschaffen sind. Personenbezogene Daten dürfen nur mit Zustimmung für einen bestimmten Zweck gespeichert werden. Ein anderer Einsatz oder gar „Verkauf“ der Daten (z.B. zu Direkt-Mailing Aktionen) ist nicht erlaubt. Bemerkung: Die Betrachtung des Ausschnittes erfolgt nicht mit dem Anspruch, hieraus auf den Rest der Welt schließen zu können. (Im Gegensatz zu anderen Modellen, wie z.B. in der Marktforschung, deren Zweck es ist, aus den Erkenntnissen über die „Mini-Welt“ auf die Gesamtheit zu schließen) Beispiel: Geburtsdatum - Wenn es nicht gespeichert ist z. B. folgendes nicht möglich: Sortierung nach Alter Berechnung von Pensionsrückstellungen Erreichen der Altersgrenze Geburtstagsliste Beispiel: Schuhgröße des Hausmeisters? Prof. Dr. J. Weinberg 3.2 IuK-Systeme A - WS 1999 Seite 45 Objekt (Entität, Entity) Objekte sind „Gegenstände der realen Welt oder der Vorstellung“ Personen, Mitarbeiter, Studenten, ... Hunde, Katzen, Kühe, Elefanten, ... Kunden, Lieferanten, Mitarbeiter, Banken, ... Produkte, Maschinen, Häuser, Studiengänge, ... Produktgruppen, Aufträge, Mietverträge, Freundschaften, Stücklisten, ... ... Jeder „Gegenstand“, der „informationsmäßig verwaltet“ werden soll, wird in einem E-R Modell als Objekt bezeichnet. Welche Objekte modelliert werden, hängt von der Aufgabenstellung ab: Information über Elefanten wird bei vielen Unternehmen nicht benötigt, bei Tierhändlern schon eher. Für einen Zoo müssen IuK-Systeme auch exotische Tiere verwalten können. Ein Objekt wird beschrieben durch seine Eigenschaften und Beziehungen zu anderen Objekten: Attribut (Eigenschaft) Relation (Relationship, Beziehung) Beispiel Mitarbeiter Attribut in Datenbank? Name Vorname Geb.-Datum Straße PLZ Ort Größe ? Haarfarbe ? Augenfarbe ? Model-Agentur Prof. Dr. J. Weinberg IuK-Systeme A - WS 1999 Seite 46 Beziehungen zu anderen Objekten: Arbeitsplatz Gehaltsklasse Gehaltskonto Die Beziehung wird als Referenz auf ein anderes Objekt dargestellt: Arbeitsplatz: MA Müller ist beschäftigt in Schlosserei (Objekt MA) (Beziehung) (Objekt Arbeitsplatz) MA Müller gehört zu Tarifgruppe T4 (Objekt MA) (Beziehung) (Objekt Gehaltsklasse) MA Müller besitzt Konto 4711 bei Voba (Objekt MA) (Beziehung) (Objekt Gehaltskonto) Gehalt: Gehaltskonto.: Die Beziehungen des E-R-Modells werden grafisch dargestellt: 1. Schritt: Mitarbeiter n n „gehört zu” 1 Tarifgruppe 1 „besitzt” „hat” 1 Arbeitsplatz Kardinalität: 1:1 1:n n:m 1 Gehaltskonto Prof. Dr. J. Weinberg IuK-Systeme A - WS 1999 Seite 47 2. Schritt: Weitere Objekte „ableiten” z.B. Gehaltskonto n Konto 1 Bank E-R - Modell „hat” Mitarbeiter 1 „bei” Konto 1 n Bank 1 Name Konto - Nr. BLZ Vorname BLZ Bankname ... ab Adresse bis ... … In dieser Konstellation ( 1 : 1 ) kann auf das Objekt “Konto” verzichtet werden, wenn das Konto in den Mitarbeiter integriert wird. Mitarbeiter „hat Gehaltskonto bei” Bank Personal-Nr BLZ … … Gehaltskonto - Nr. … Gehalts - BLZ … 1:1-Beziehungen können ein E-R-Modell unnötig verkomplizieren und werden ggf. vermieden. Dies ist jedoch nicht immer möglich, da bei der Integration einer 1:1Beziehung ein Objekt „verschwindet“. Stehen beide Objekte in Beziehungen zu anderen Objekten, müssen beide Objekte modelliert werden Prof. Dr. J. Weinberg IuK-Systeme A - WS 1999 Seite 48 „Löschdefekt“: Wenn ein Objekt nur als „Teil“ eines anderen Objektes modelliert wurde, wird das Teilobjekt bei Löschung des „Haupt“-Objektes auch gelöscht. ( „Normalisierung“, „1. - 3. Normalform“) „Ehe“ ist in der BRD gesetzlich eine 1:1-Beziehung. Im E-R Modell müssen jedoch beide Partner als „Objekt“ modelliert werden „ist verheiratet mit” Mann Frau 1 1 1 1 „ist Vater von” „ist Mutter von” n Kind n Beispiel einen n:m Beziehung: „Freundschaften“ 0 „ist befreundet mit” Mädchen m Junge n Simone Jens Petra Oliver Iris Peter Nina Paul Prof. Dr. J. Weinberg 3.3 IuK-Systeme A - WS 1999 Seite 49 Primärschlüssel Jedes Objekt muß eindeutig identifizierbar sein. Ein oder mehrere Attribute, die das Objekt eindeutig identifizieren, werden Primärschlüssel genannt. In der Praxis haben sich die folgenden Designregeln bewährt: Designregeln für Primärschlüssel: „nicht sprechende“ Zählnummer („laufende Nummer“) zB Matrikelnummer Kundennummer Personalnummer Artikelnummer ... Gründe: Sicherheit: eindeutige Identifikation ist gesichert. Jede Kombination von Attributen birgt die Gefahr von „Doubletten“ Flexibilität: alle Attribute können geändert werden, ohne daß der Primärschlüssel verändert wird ( Datenkonsistenz, s.u. „referentielle Integrität“) Speicherplatz/Performance: kurze Primärschlüssel, effizienter Index (technischer Vorteil) Datenschutz: aus dem Primärschlüssel kann keine Information gezogen werden, Daten können „anonym“ unter dem Primärschlüssel veröffentlicht werden Beispiele sprechender Schlüssel: Rentenversicherungsnr, „Bundeswehrnr.“ Ausnahmen: Hierarchische Beziehungen der Art „gehört zu“ (nicht änderbar!) Hier kann der Primärschlüssel aus zwei Teilen bestehen (Primär-) Schlüssel des „übergeordneten“ Objektes + lfd. Nummer für das Objekt Prof. Dr. J. Weinberg IuK-Systeme A - WS 1999 Seite 50 Beispiele: Mandantenfähige Systeme: Jedes Objekt „gehört“ zu einer Firma, die Firmennr. wird Teil des Primärschlüssels (bei SAP „Buchungskreis“) ( Berechtigungsprüfungen, Datenschutz): zB Fimennr/Personalnr - bei einem Firmenwechsel wird eine neue Personalnr. vergeben. Extern vergebenen Nummernkreisen: BLZ/Kontonummer Eindeutigkeit Aufträge, Rechnungen, etc.: Bestehen aus „Kopf“ und zugehörigen Positionssätzen (genaueres s.u.). 3.4 Darstellung der Referenzen der Form 1:n und 1:1 Objekt A bezieht sich auf Objekt B in der Form n:1 OBJEKT A n „Semantik” 1 1 OBJEKT B Primärschlüssel A Primärschlüssel B Attribut A1 Attribut B1 Attribut A2 Attribut B2 Attribut A3 ... Primärschlüssel B Attribut By ... Attribut Ax Der Primärschlüssel des bezogenen „Fremdobjektes“ wird beim Objekt A hinterlegt und Fremdschlüssel genannt. Der Fremdschlüssel wird beim Objekt „gegenüber“ der „1“ abgelegt. Prof. Dr. J. Weinberg IuK-Systeme A - WS 1999 Seite 51 Beispiel Artikel / Warengruppe Übung: Die Kunden werden von einem Vertreter betreut. Stellen Sie ein ER-Modell für Kunden/Vertreter auf. Welche Probleme treten auf, wenn (fälschlicherweise) versucht wird, die Kunden beim Vertreter zu hinterlegen? Eine falsche Modellierung (mehrere Attribute Kunde1, Kunde2, ... , KundeM) führt zu Problemen beim Datenretrieval ( SQL-Abfragen s.u.), verschwendet ggf. Platz (ungenutzte Attribute / Datenfelder) und führt ggf. zwangsläufig zu Strukturveränderungen, wenn die Anzahl überschritten wird. Strukturänderungen sind später nur mit großem Aufwand zu realisieren, da Programme und Formate des IuK-Systems an die neue Struktur angepaßt werden müssen Beispiel: Jahr 2000 - Problematik (in vielen Datenbanken ist das Jahr nur 2-stellig abgelegt Jahr 2000 = „00“ und wird wie 1900 verarbeitet) Datenbanken müssen umdefiniert werden. enormer Arbeitsaufwand, da auch sämtliche Programme geändert werden. Beispiel: Einfügen eines neuen Attributes ( Feld in der Datenbank). Die Programme müssen das Attribut verarbeiten. Bildschirm- und Druck-Layouts müssen angepaßt werden. Prof. Dr. J. Weinberg IuK-Systeme A - WS 1999 Seite 52 Objekt A bezieht sich auf Objekt B in der Form 1:1 Der Primärschlüssel des bezogenen „Fremdobjektes“ wird beim Objekt A oder Objekt B hinterlegt (jedoch nur eine der beiden Möglichkeiten, um Redundanz zu vermeiden!) entweder: Alternative 1 1 OBJEKT A „Semantik” 1 1 OBJEKT B Primärschlüssel A Primärschlüssel B Attribut A1 Attribut B1 Attribut A2 Attribut B2 Attribut A3 Primärschlüssel A ... ... Attribut Ax Attribut By oder Alternative 2 OBJEKT A 1 „Semantik” 1 1 OBJEKT B Primärschlüssel A Primärschlüssel B Attribut A1 Attribut B1 Attribut A2 Attribut B2 Attribut A3 ... Primärschlüssel B Attribut By ... Attribut Ax Alternative 1 kann problemlos in eine 1:n - Beziehung erweitert werden. Alternative 2 kann zu einer n:1 - Beziehung werden Prof. Dr. J. Weinberg IuK-Systeme A - WS 1999 Seite 53 Bei der Wahl der Modellierung sollten mögliche künftige Entwicklungen berücksichtigt werden. (zB heute Region-Vertreter 1:1 ggf später Region-Vertreter n:1) Beispiel: Ehe entweder: „ist verheiratet mit” Mann 1 Frau 1 Mann - Nr. Frau - Nr. Name Name Adresse Adresse … … Mann - Nr. oder: „ist verheiratet mit” Mann 1 Frau 1 Mann - Nr. Frau - Nr. Name Name Adresse Adresse … … Frau - Nr. Welche Modellierung sollte gewählt werden, wenn nicht auszuschließen ist, daß die Datenbank auch bei ausländischen Tochtergesellschaften eingesetzt wird (z.B. im Nahen Osten)? Prof. Dr. J. Weinberg IuK-Systeme A - WS 1999 Seite 54 Übungsbeispiele: a) Stellen Sie die folgende Situation in einem E-R Modell dar: Skizzieren Sie die Objekte, Attribute, Referenzen und geben Sie die „Semantiken“ und „Kardinalitäten“ an: Produkthierarchie: Produkt - Produktgruppe - Produkthauptgruppe - Produktgeneralgruppe Produkt “gehört zu” Produktgruppe Produkt - Nr. Produkt-Bezeichnung Preis ... PG - Kürzel ... PG - Kürzel PG-Bezeichnung PHG - Nr. … PHG - Nr. PHG-Bezeichnung PGG - Nr. … PGG - Nr. PGG-Bezeichnung … “gehört zu” Produkthauptgruppe “gehört zu” Produktgeneralgruppe Prof. Dr. J. Weinberg IuK-Systeme A - WS 1999 Seite 55 b) Stellen Sie die folgende Situation in einem E-R Modell dar: Skizzieren Sie die Objekte, Attribute, Referenzen und geben Sie die „Semantiken“ und „Kardinalitäten“ an. Ein Unternehmen („Bitburger“) verkauft Produkte an Kunden. Die Kunden werden von Vertretern betreut. Die Zuordnung der Kunden zu Vertretern findet nach Vertriebsgebieten („Regionen“) statt. „kauft” Produkt m „betreut“ n „ist ansässig in” n Kunden - Nr. Name Adresse ... Region - Nr. ... 1 Vertreter 1 Kunde „betreut” 1 Region Name Personal - Nr. Region - Nr. Region - Nr. Region-Bezeichnung Größe in qkm Bevölkerungsanzahl … Alternativ könnte auch eine Beziehung „betreut“ zwischen Vertreter und Kunde modelliert werden (im Diagramm rot und gestrichelt dargestellt). Da hierdurch ein „logischer Zirkel“ entstände, muß in diesem Fall auf eine der anderen Beziehungen (Kunde-Region oder Vertreter-Region) verzichtet werden, um eine Redundanz zu vermeiden. Bemerkung: Im Beispiel „Vater, Mutter, Kind“ (s.o.) liegt kein „logischer Zirkel“ vor. Weder kann aus der Tatsache einer Ehe auf die Vater- oder Mutterschaft geschlossen werden, noch müssen der Vater und die Mutter eines Kindes verheiratet sein. In diesem Fall müssen alle Beziehungen modelliert werden: