1 / 26

Software Engineering Datenmodellierung

Software Engineering Datenmodellierung. Inhalt. Grundkonzepte Begriffe Entity-Relationship-Modell Normalformen Beziehungstypen Ein Beispiel ODBC, SQL Datenmodell und Systemanalyse / -entwurf. Einführung.

colm
Download Presentation

Software Engineering Datenmodellierung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software EngineeringDatenmodellierung Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  2. Inhalt • Grundkonzepte • Begriffe • Entity-Relationship-Modell • Normalformen • Beziehungstypen • Ein Beispiel • ODBC, SQL • Datenmodell und Systemanalyse / -entwurf Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  3. Einführung Gespeicherte Daten, die durch Computerprogramme verarbeitet werden, sind auf allen Systemen anzutreffen. Wir sehen diese als Dateien auf den Datenträgern. Wie sind solche Daten organisiert? Was unterscheidet Datenbanken von anderen Dateien? Wie erstellt man eine vernünftige Datenbank? Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  4. Grundkonzept Datenbanken sind eine Menge von Daten, die durch Strukturierung als Information für ein bestimmtes Thema oder einen bestimmten Zweck verwendet werden. Kundenanschriften Artikeldaten Aufträge Telefonnummern Rechnungsdaten Unternehmens- datenbank Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  5. Grundkonzept Relationale (Tabellen) Datenbank In der tabellarischen Struktur werden die Daten zu einem bestimmten Datenobjekttyp (z.B. Kunde) in Zeilen und Spalten dargestellt. Die Zeilen stehen für Datensätze und die Spalten für die Felder des Datensatzes. Diese Tabellen sind also zweidimensional angelegt. Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  6. Begriffe Datenbank eine Sammlung von Datenobjekten mit gleicher Strukur. Relation Tabelle Relationale Datenbank eine in Tabellenform organisierte Datenbank Attribut Feld / Spalte einer Tabelle, Eigenschaft eines Entity Tupel eine Zeile / ein Datensatz in einer Tabelle / Relation Primärschlüssel eindeutiges Merkmal zur Identifizierung eines Datensatzes Relationship Beziehung zwischen zwei Tabellen Fremdschlüssel Zeiger auf einen Datensatz einer anderen Tabelle (Relationship) Index zusätzliche sortierte Tabelle für den schnelleren Zugriff auf Datensätze Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  7. Attribut 1 Attribut 2 Attribut 3 Rechnungsdaten 0001001 0001002 0001003 0001004 0001005 0001006 Kundenanschriften Artikeldaten Telefonnummern Aufträge Datenbank Die Daten einer Datenbank werden als Tabellen, sogenannte “Tables“ gespeichert. Tabellen haben eine feste Anzahl von Spalten (=Attribute/Felder) Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  8. Attribut 1 Attribut 1 Attribut 2 Attribut 2 Attribut 3 Attribut 3 0001001 0001002 0001003 0001004 0001005 0001006 0001001 0001002 0001003 0001004 0001005 0001006 Datenbank Tabellen stehen in einer Datenbank in Beziehung Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  9. Eine ACCESS Datenbank Beziehung Nutzerführung Eingabemaske Übersicht Tabelle Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  10. Entity-Relationship-Modell, ERMEntity-Relationship-Diagramm, ERD Für den Entwurf von Relationalen Datenbanken wurde von Peter Chen 1973 das Entity-Relationship-Modell entwickelt. Das Darstellungsmittel für die Datenmodellierung ist das Entity-Relationship-Diagramm. Diese Methodik hat bis zum heutigen Zeitpunkt an Bedeutung immer weiter zugenommen. Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  11. Begriffe Entity ein Objekt zu dem Informationen zu speichern sind Relationship Beziehung zwischen zwei Entitäten Attribut Feld / Spalte einer Tabelle, Eigenschaft eines Entity Table Tabelle, Relation Kardinalität beschreib die Typen von Beziehungen (Beziehungstypen) Normalformen Regeln zum Entwurf von Datenbanken Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  12. Kunde erhält Rechnung 1 n Elemente Kunde Entity ist ein Gegenstand (Objekt) oder ein gedankliches Konstrukt mit klarer Bedeutung und Abgrenzung. erhält Relatinship Beziehung zwischen zwei Entitäten. Kardinalität der Beziehungstyp beschreibt wie viele Ausprägungen des einen Entitytyps mit Ausprägungen eines anderen Entitytyps in Beziehung stehen können. 1 n Ein Kunde erhält keine, eine oder viele Rechnungen. Eine Rechnung gehört zu genau einem Kunden. Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  13. Elemente Relationship Es gibt viele Typen von Beziehungen zwischen den Entitäten, von denen nur einige für das Unternehmen von Interesse sind. Sie als Datenbankdesigner sind für die richtige Auswahl der Beziehungstypen verantwortlich. Den Beziehungstyp zwischen Entitytypen bezeichnet man als Relationship, welches es bei einer Beziehung zu spezifizieren gilt. Entity Ein Entity, wird auch oft als Entität oder Objekt bezeichnet, ist eine Sache die eindeutig identifiziert werden kann. Entitäten können in verschiedenen Entitätstypen klassifiziert werden wie Kunde, Arbeit-nehmer, Rufnummer. Im Entity-Relationship-Dia-gramm wird ein Entity mit hellblauem Rechteck dargestellt. löst aus Kunde 1 n Auftrag Kardinalität Die Kardinalität eines Beziehungstyps gibt an, wie viele Ausprägungen des einen Entitytyps, Bezie-hungen zu einer Ausprägung des jeweils anderen Entitytyps haben können. Die Kardinalität wird durch die Beschriftung der Beziehungskanten aus-gedrückt. Diese werden nach dem Autor des ERM benannt, der Chenschen Notation. Table Möchte man nun die in einem Entity definierten Attribute als Tabelle in der Datenbank realisieren, muss man das gewünschte Entity einem Table zuweisen. 1:1 (eins-zu-eins) | 1: n (eins-zu-viele) | m: n (viele-zu-viele) Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  14. 1 1 1 n n m Kardinalitäten(Beziehungstypen) 1:1 Beziehung 1:n Beziehung n:m Beziehung Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  15. Normalformen Die Theorie der Normalisierung, die durch E.F. Codd begründet worden ist, besteht aus Regeln die sicher stellen, dass ihre Datenbank konsistent, zukunftssicher und redundanzarm ist. Diese Regeln werden auch als Normalformen bezeichnet von denen die ersten 3 die wichtigsten sind. Es gibt die Normalformen 1-3 (1NF-3NF), die aus Codds Originaldefinition von 1972 hervorgegangen sind. Boyce und Codd definierten 1974 eine Boyce-Codd-Normalform (BCNF). R. Fagin fügte dieser 1977 eine vierte und 1979 eine fünfte hinzu. Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  16. 1. Normalform Eine Relation befindet sich in der ersten Normalform wenn alle Attribute nur atomare Werte beinhalten. Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  17. 2. Normalform Eine Relation (Tabelle) befindet sich in 2. Normalform wenn sie der 1. Normalform genügt und alle nicht zum Schlüssel gehörenden Attribute vom Schlüssel vollständig abhängig sind. (Abhängigkeit: Attribut-Teilschlüssel) Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  18. 3. Normalform Eine Relation (Tabelle) befindet sich in 3. Normalform wenn sie der 2. Normalform genügt und keine funktionalen Abhängigkeiten zwischen Attributen bestehen. (funktionale Abhängigkeit: Attribut-Attribut) Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  19. Tabelle 1 Relationship Entity 2 Entity 1 1 1 Tabelle 1 Tabelle 2 Relationship Entity 1 Entity 2 1 n Tabelle 1 Tabelle 3 Tabelle 2 Relationship Entity 1 Entity 2 n m Kardinalitäten und Tabellen Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  20. erhält Rechnung Kunde beinhaltet Artikel ERD Beispiel(SiSy) 1 m 1 n n Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  21. erhält ERD Beispiel(SiSy) Rechnung Kunde beinhaltet n 1 n m Artikel Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  22. Kunde Rechnung Positionen Artikel Rechnung Kunde beinhaltet Artikel n 1 n erhält m ERD Beispiel(SiSy) Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  23. 1 n 1 O O ERD Beispiel(ACCESS) Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  24. ODBC • Open DataBase Connectivity = Offene Datenbankschnittstelle • ODBC ermöglicht Anwendungen, auf fremde Datenbanken zuzugreifen • Voraussetzung ist ein installierter ODBC-Treiber für die jeweiligen Datenbanken Anwendungen Treiber Datenbanken ODBC- Schnitt- stelle (=Betriebs- system- komponente) Word Access Access SiSy dBase dBase Access FoxPro FoxPro Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  25. SQL • Structured Query Language (SQL) • SQL ist eine strukturierte Abfragesprache, die für das Abfragen, Aktualisieren und Verwalten von relationalen Datenbanken verwendet wird. • Typische SQL-Statement die in unterschiedlichen Programmiersprachen benutzt werden können: • CREATE TABLE ... erzeugt eine Tabelle • ALTER TABLE ... ändert eine Tabelle • DROP TABLE ... löscht eine Tabelle • Beachten Sie, dass hier die physische Datenstrukur erzeugt/verändert wird, d.h. alle eventuell bestehenden Datensätze gehen verloren. • SELECT … FROM … WHERE ... fragt eine Tabelle mit bestimten Kriterien ab CREATE TABLE Auftr ( AuftragsNummer CHAR(100), Datum DATETIME, KundenNummer LONG ) Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

  26. Eingabe Ausgabe Datenfluss System- funktion1 System- funktion2 System- funktion 3 speichern Rechnung lesen Kunde erhält Rechnung 1 n Datenentwurf und SA • Der Strukturierung der Funktionen wird die Strukturierung der Daten beigestellt. • Mit dem Entity-Relationship-Modell können die Struktur und die Beziehungen von Daten beschrieben werden. • Die so entstandenen Datenmodelle können bis zur Definition der physischen Datenbanken verfeinert werden. • Die Entities repräsentieren die Speicher der Strukturierten Analyse. Dipl. Ing. Päd. Huwaldt, Laser & Co. Solutions

More Related