Wirtschaftsinformatik II Grundlagen Datenbanken Vom Entwurf zur Implementierung einer Datenbank-Anwendung Prof. Dr. Frank Stößel FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 1 Gliederung WI 2 (Überblick) 1. Grundlagen 1. Daten, Datenorganisation 2. Datenbanken, Datenbankverwaltungssystem 3. Relationale Datenbanken 2. Konzeptioneller Entwurf: Entity-Relationship-Modell 3. Logischer Entwurf: Relationales Datenbankmodell 4. Implementierungsentwicklung: Normalisierung 5. Implementierung: FHDW Bergisch Gladbach, 07.06.2006 Physische Speicherungsverfahren Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 2 1 Strukurfolie: Datenbanklebenszyklus Benutzer 1...N Anforderungsanalyse, - spezifikation Konzeptioneller Entwurf Entity Relationship-Modell Logischer Entwurf Relationales Datenmodell Implementierungsentw. Normalisierung Implementierung Arbeiten mit der DB FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 3 Literaturliste Allgemein Baeumle-Courth, P., Nieland, S., Schröder, H., Wirtschaftsinformatik, München, Wien, 2004. Stahlknecht, P., Hasenkamp, U., Einführung in die Wirtschaftsinformatik, 10. Aufl., Berlin e.a., 2002. Hansen, H.R., Neumann, G., Wirtschaftsinformatik I, 8. Aufl., Stuttgart 2001. Datenbanken Fischer, J., Herold, W., Dangelmeier, W., Nastansky, L., Wolff, R., Bausteine der Wirtschaftsinformatik; Grundlagen, Anwendunge, PC-Praxis, Hamburg 1995. Knoll, P., Microsoft Office 97 Lösungen, Feldkirchen 1997. Vossen, G., Datenmodelle, Datenbanksprachen und Datenbank-Management-Systeme, 2. Aufl., Bonn e.a. 1994. FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 4 2 1.1 Grundlagen: Daten, Datenorganisation (1) Daten (Definition): Daten sind Informationen, die weiterverarbeitet werden. Datenorganisation: Hauptaufgabe der Verfahren, die unter dem Begriff der Datenorganisation zusammengefasst sind, bestehen darin ? Die Daten zu strukturieren (logische Datenorganisation), d.h. hinsichtlich ihrer Zusammenhänge zu analysieren und zu ordnen ? Die Datenbestände auf peripheren Speichern zu speichern und für den Zugriff verfügbar zu machen (physische Datenorganisation, Datenhaltung) FHDW Bergisch Gladbach, 07.06.2006 1.1 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 5 Grundlagen: Daten, Datenorganisation (2) Ziel der Datenorganisation: Daten sollen logisch so strukturiert und physisch so gespeichert werden, daß sie ? einen schnellen Zugriff gestatten (z.B. Reservierungssystem) ? leicht zu aktualisieren sind (z.B. Bestellannahme von Kundenbestellungen) ? sich beliebig auswerten und verknüpfen lassen (z.B. Umsatz je Region, Produkt) ? Redundante Datenhaltung vermeiden (z.B. nur ein einheitlicher Kundenadressdaten-Stammsatz für Buchhaltung und Vertrieb ) ? vor Verlust, Zerstörung und unbefugtem Zugriff geschützt sind (z.B. personenbezogen Daten nur durch Pers.abteilung zugänglich) ? Speicherplatz optimal nutzen (geeignete Speichermedien und Speicherungsverfahren wählen) FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 6 3 1.1 Grundlagen: Daten, Datenorganisation (3) Zur eindeutigen Identifizierung von Datensätzen verwendet man spezielle Identifizierungsnummern, sog. Schlüssel. ? Primärschlüssel: Schlüssel, der den Datensatz eindeutig identifiziert (z.B. Kundennummer, Vertragsnummer, Matrikelnummer, ..., die z.B. eindeutig auf Name, Geburtsdatum und Adresse verweisen) ? Sekundärschlüssel: Jede beliebige andere Attributkombination außerhalb des Primärschlüssels, die den Datensatz aber nicht zwingend identifizieren (z.B. die Postleitzahl, Länderkürzel; m/w für Geschlecht ...) Kunden Nr. 23455 35874 Name Muster Selber FHDW Bergisch Gladbach, 07.06.2006 1.1 PLZ 51465 51109 Ort Geschl. Berg. Gladbach Köln M M Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 7 Grundlagen: Daten, Datenorganisation (4) Beim Verwendungszweck der Daten unterscheidet man ? Stammdaten sind Informationen über Objekte, die sich nicht / selten verändern (z.B. Name, Anschrift, Geburtstag ...) ? Bestandsdaten weisen Bestände aus(Mengen, Werte), die laufend aktualisiert werden (z.B. Lagerbestand, Kontobestand, ...) ? Bewegungsdaten geben die mengen-/ wertm äßige Änderung der Bestände in Form von Zu- und Abgängen an FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 8 4 1.1 Grundlagen: Sichten auf die Datenorganisation Es werden zwei Sichten im Zusammenhang mit der Datenorga. unterschieden: ? Logische Sicht: ? Gedankliche Überlegungen über ein Speicherkonzept, ohne bereits die Einzelheiten der technischen Lösung zu enthalten ? Befasst sich mit (Daten-) Objekten, die durch ihre Eigenschaften (syn.: Attribute, Merkmale) beschrieben werden. ? Physische Sicht ? Entsprechend der Anforderungen (z.B. bzgl. Zugriffshäufigkeit, Aktualität ...) wird das geeignetste Speichermedium ausgesucht ? Festlegung der Speicherverfahren Logische Sicht (Datenstruktur) Reales Objekt: Es gibt eine Wissenschaftliche Bibliothek, deren Bestände DV technisch erfasst werden sollen. Eine Inventarliste der Bücher mit Angaben zu Autor, Titel, Verlag und Jahr liegt vor. FHDW Bergisch Gladbach, 07.06.2006 1.2 Autor Titel Jahr Physische Sicht (Speichermedium) Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 9 Grundlagen: Datenbank (Begriffe) Datenbanksystem: Ein DB-System besteht aus einem Datenbankverwaltungssystem, einer Datenbank sowie aus zusätzlichen Programmen, die die Bearbeitung, Verwaltung und Auswertung der gespeicherten Daten vereinfachen. Datenbank: Unter einer DB versteht man einen zentral gespeicherten Datenbes tand, der über anwendungsunabhängige Zugriffsverfahren weitgehend zentral verwaltet wird. Datenbankverwaltungssystem: (data base management system, DBMS) Das DBMS verwaltet den Datenbestand und erm öglicht gleichzeitige Zugriffen von mehreren Anwendungsprogrammen und mehreren Benutzern au den verwalteten Datenbestand. Weitere Aufgaben: Administration der Daten, Definition der Zugriffsrechte u.ä. DB-System DB-Verw.System Datei Datei Datei* Datenbank FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 10 5 1.2 Grundlagen: Anforderungen (1) Generell sind folgende Anforderungen an ein DBMS zu stellen: 1. Datenunabhängigkeit ? Unabhängig vom Anwenderprogramm (im Gegensatz zu hierarchisch. DB) ? Unabhängigkeit der logischen von der physischen Datenorganisation (Benutzer braucht nur Datenstrukturen zu kennen, Prozeduren zum Suchen, Ändern etc. stellt DBMS zur Verfügung) ? Unabhängigkeit von der Systemplattform (DBMS ist entweder plattformunabhängig oder verfügt über Datenbankschnittstellen) ? Physische Datenunabhängigkeit (DBMS steuert die effiziente Datenverwaltung) 2. Benutzerfreundlichkeit (z.B. grafische Oberfläche/GUI (graphical user interface)) 3. Mehrfachzugriff (Mehrbenutzerbetrieb) 4. Flexibilität z.B. Verknüpfung beliebiger Objekte; Daten erlauben sowohl wahlfreien als auch fortlaufenden Zugriff FHDW Bergisch Gladbach, 07.06.2006 1.2 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 11 Grundlagen: Anforderungen (2) 5. Effizienz Kurze Verarbeitungszeiten für Abfragen und Änderungen im Datenbestand 6. Datenschutz Schutz der Daten vor unbefugtem Zugriff / Missbrauch 7. Datensicherheit Zuverlässige Datensicherung, Schutz vor Datenverlust, Fähigkeit zu Wiederherstellung eines korrekten Datenzustandes (recovery) 8. Datenintegrität Die Daten müssen vollständig, korrekt und widerspruchsfrei sein. Redundant gehaltene Daten (z.B. bei verteilten Datenbanken) m üssen dasselbe aussagen. 9. Redundanzfreie / redundanzarme Datenspeicherung FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 12 6 1.3 Grundlagen Datenbankverwaltungssystem ? Jedes Datenbanksystem besteht in seiner Grundstruktur aus einem Datenbank-Verwaltungssystem (Data Base Management System, DBMS) und mehreren, logisch miteinander verknüpften Dateien, der eigentlichen Datenbank. ? Das Datenbankverwaltungssystem übernimmt die Verwaltung der Daten der Datenbank. ? Datenbankverwaltungssysteme gibt es seit ca. 1965 für alle Datenbankmodelle. Seit den 80er Jahren werden keine DBMS mehr verkauft, die rein auf Hierarchie- und Netzwerkmodellen beruhen. Angeboten werden inzwischen nur noch relationale, objektorientierte sowie objektrelationale DBMS. DB-System DB-Verw.System Datei Datei Datei Datenbank FHDW Bergisch Gladbach, 07.06.2006 1.3 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 13 Grundlagen: Relationales Datenbankmodell ? Im relationalen Datenmodell werden Datenstrukturen durch Relationen (Beziehungen) abgebildet ? Anschaulich können diese Relationen durch Tabellen dargestellt werden. ? Jede Relation besitzt einen Namen und enthält Attribute. Die entsprechenden Werte werden in Tabellen gespeichert. ? Für jedes Attribut (Merkmal) des betreffenden Objekttyps enthält die Tabelle eine Spalte. ? Zu jedem konkreten Objekt enthält die Tabelle eine Zeile (sog. Tupel) (vergleichbar den Datens ätzen in einer Datei) ? Jede Zeile beschreibt ein Objekt über seine Merkmalswerte (Ausprägungen) Primärschlüssel Kunde Kd.Nr. 1234 2345 Relationenname FHDW Bergisch Gladbach, 07.06.2006 Name Müller Schulze Straße Dorfstaße 7 Hainweg 87 PLZ 51465 51465 Tupel Attribute Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 14 7 1.3 Grundlagen: Relationale Datenbanken ? Datenbankverwaltungssystem: Die Verwaltung der relationalen Datenbank wir von einem relationalen Datenbankverwaltungssystem übernommen ? Relationale Datenbank alle Tabellen gemeinsam bilden die relationale Datenbank ? Nicht jede Tabelle ist eine Relation im Sinne des Relationen-Modells. Das Modell verlangt bestimmte Eigenschaften ? Die Zeilen einer Tabelle sind alle gleich lang ? In den Feldern gibt es keine Attributwiederholungen ? Für die Definition von Relationen existiert ein umfangreiches formales Regelwerk. ? Wichtigste Art von Regelwerk ist die „Normalisierung“, d.h. Vorschriften, wie Relationen aus einer Menge von Attributen zu bilden sind. ? Damit wird erreicht, dass semantikwidrige Tupel erkannt und eliminiert werden. FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 15 Gliederung WI 2 (Überblick) 1. Grundlagen 1. Daten, Datenorganisation 2. Datenbanken, Datenbankverwaltungssystem 3. Relationale Datenbanken 2. Konzeptioneller Entwurf: Entity-Relationship-Modell 3. Logischer Entwurf: Relationales Datenbankmodell 4. Implementierungsentwicklung: Normalisierung 5. Implementierung: FHDW Bergisch Gladbach, 07.06.2006 Physische Speicherungsverfahren Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 16 8 Strukurfolie: Datenbanklebenszyklus Benutzer 1...N Anforderungsanalyse, - spezifikation Konzeptioneller Entwurf Entity Relationship-Modell Logischer Entwurf Relationales Datenmodell Implementierungsentw. Normalisierung Implementierung Arbeiten mit der DB FHDW Bergisch Gladbach, 07.06.2006 2 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 17 Entity-Relationship-Modell In der Phase des konzeptionellen Entwurfes befasst man sich mit der logischen Datensicht ? Es werden die einzubeziehenden Datenelemente und ihr logischer Zusammenhang festgelegt ? Es werden die relevanten Merkmale und deren Beziehungen untereinander dargestellt und benannt Verbreitetes Datenmodell (auch genannt Semantisches Datenmodell), um diese logische Datensicht abzubilden ist das Entitiy-Relationship-Modell/Diagramm: Entity-Relationship-Modell (ERM) nach Chen (1976) ? Folgt der Vorgehensweise: ? Erfassung und Beschreibung der Objekte ? Erfassung und Beschreibung der Beziehung ? Bedient sich graphischer Symbole zur Visualisierung FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 18 9 2 Entity-Relationship-Modell Beispiel: Eine Pizzeria nimmt über Telefon Bestellungen an und liefert sie aus. Für die verschiedenen Pizzasorten gibt es Artikelnummern und Rezepturen, die Rechnung soll über den Computer ausgegeben werden, die Zutaten m üssen ggfs . von einem Lieferanten nachbestellt werden. FHDW Bergisch Gladbach, 07.06.2006 2 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 19 Entity-Relationship-Modell Mittels ERM könnte folgendes dargestellt werden: Rechtecke stehen für Entity-Typen (Objekttyp, Datensatztyp) Kunde Artikel Zutaten Lieferant Rauten stehen für Relationship-Typen (Beziehungstypen) von Entity-Typen Kunde bestellt Artikel enthält Zutaten Ellipsen stehen für Attribut-Typen (Eigenschaften) von Entity- und Relationship-Typen. Unterstrichene Attribut-Typen kennzeichnen eindeutige Merkmale, d.h. Primärschlüssel Name Datum Anschrift Kd-Nr. Kunde FHDW Bergisch Gladbach, 07.06.2006 Name Preis Art.-Nr. bestellt Prof. Dr. Stößel; Wirtschaftsinformatik 2 Artikel Folie 20 10 2 Entity-Relationship-Modell: Begriffe Begriffe im ERM: Entity-Typ Entities Attribute Attributwerte Kunde Müller KundenNr. Straße Konto Nr. 4711 Gasse 7 2525267 Artikel Pizza Artikel-Nr. Name Preis 7777 Tonno 7 EUR Entity-Typ Gleichartige Entities werden zu einem Entity-Typ zusammengefasst (Kunde, Artikel, ...) Entity Ein Entity ist ein reales oder abstraktes Objekt (Kunde Müller, Pizza Tonno, ...) Attribut Jeder Entity-Typ weist bestimmte Eigenschaften (Attribute) auf. (Kunde: Name, Adresse, ...) Attributwert Jedes Entity nimmt für die Attribute des Entity-Typs bestimmte Werte an. FHDW Bergisch Gladbach, 07.06.2006 2 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 21 Entity-Relationship-Modell: Aggregation Beziehungstypen können zu Objekttypen umgewandelt (z.B. „bestellt“ zu „Auftrag“) und entsprechend dargestellt werden. Dieser Vorgang wird auch als „Aggregation“ bezeichnet, insbes. wenn hierbei Dokumente (z.B. Rechnung, Bestellung etc.) existieren. ? Diese Aggregate übernehmen eine Doppelrolle: Sie stellen eine Beziehung dar, allerdings sind sie auch auf abstrakter Ebene eine eigene Entität. ? Grafisch wird dies dadurch dargestellt, dass die Beziehung von einem Kasten umschlossen wird. Die Verbindungslinien zwischen den relevanten Entitäten laufen bis zur Raute, die Attribute des Aggregates hingegen grenzen nur direkt bis an den Kasten Kd-Nr. Anschrift Art.-Nr. Kunde Preis Artikel Auftrag Menge Auftr.Nr. Kunden Nr. Art.Nr. Datum FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 22 11 2 Entity-Relationship-Modell: Kardinalitäten Kardinalität drückt den Grad der Beziehungen zwischen Entities verschiedenen Typs aus. Kunde 1 wohnt in 1 1:1 Beziehung Adresse ? Ein Kunde hat eine Adresse ? Eine Adresse gehört zu genau einem Kunden Pizza 1 besteht aus N 1:N Beziehung Zutaten ? Eine Pizza besteht aus (N) vielen Zutaten ? Viele Zutaten sind genau (1) einer Pizza zugeordnet Lieferant N liefert M N:M Beziehung Zutaten ? Ein Lieferant kann (M) verschiedene Zutaten liefern ? Eine Zutat kann von (N) verschiedenen Lieferanten geliefert werden FHDW Bergisch Gladbach, 07.06.2006 2 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 23 ER-Modell: Kardinalität (min/max) Die Beziehungen zwischen den Entitäten können auch mit einem Minimal- und Maximalwert angegeben werden: BenutzerNr. Leser Name (1/*) Titel Signatur leiht (0/1) Buch Hierbei beschreibt also z.B. für den Entity-Typ „Leser“ ? der erste Wert die minimale Anzahl der Beziehungen, welche die Entität, an der die Kardinalität steht, eingehen kann. => hier: Die Entität „Leser“ leiht im Minimalfall „1“ Buch ? Der zweite Wert gibt entsprechend die maximale Anzahl an. Ist er unbestimmt, schreibt man den Maximalwert auch als Stern. => hier: Die Entität „Leser“ leiht im höchsten Fall „*“ Artikel, existieren nur z.B. 2.000 Bücher, könnte der Maximalwert „2.000“ betragen FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 24 12 2 Entity-Relationship-Modell: Beispiel Version 1 Das ERM bietet die Möglichkeit ? eine überblicksartigen Zusammenhang der Beziehungen darzustellen oder ? immer weiter verfeinert zu werden, um Details offen zu legen. Name Kd-Nr. Name Anschrift n Kunde Preis Art.-Nr. m bestellt Artikel n enthält n Lieferant Lieferanten Nr. Name m liefert Anschrift m Zutaten Zutaten Nr. Preis Name Bestand Version 1: grobes ER-Diagramm FHDW Bergisch Gladbach, 07.06.2006 2 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 25 Entity-Relationship-Modell: Beispiel Version 2 Name Name Kd-Nr. Art.-Nr. Anschrift Kunde n Preis m Auftrag Artikel n Menge Auftr.Nr. Kunden Nr. Art.Nr. Datum Rezepur Nr Artikel Nr. Rezeptur Datum Lief. Nr Menge Zutaten Nr. Bestlg. Nr Lieferant n Menge Bestellung Anschrift Lief. Nr. Zutaten Nr. m Zutaten Nr. Name Name m Zutaten Preis Bestand Version 2: erste Verfeinerung FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 26 13 2 Entity-Relationship-Modell: Beispiel Version 3 Auftr.Nr. Name Kd-Nr. Datum Name Art.-Nr. Anschrift Kunde n K / Au m Auftrag n Au-Posit. Posit.Nr. m Preis Artikel n Menge Ar / R m Rezeptur Rezept Nr. Datum n R. Position Zutaten Nr. Lieferant n m L/B Bestellung Anschrift Lief. Nr. Name Menge Menge n Bestl.Posit. m Posit. Nr m Zutaten Zutaten Nr. Bestlg. Nr Datum Name Preis Bestand Version 3: weitere VerfeinerungProf. Dr. Stößel; Wirtschaftsinformatik 2 FHDW Bergisch Gladbach, 07.06.2006 2 Folie 27 Vom Entity-Relationship-Modell zum Datenfeld Die einzelnen Entities, ihre Eigenschaften und Beziehungen sind in Datenfeldern zu beschreiben und abzubilden. Entity-Typen Kunde (Kunden Nr., Name, Anschrift) Artikel (Artikel-Nr., Name, Preis) Zutaten (Zutaten-Nr., Name, Bestand, Preis) ... Relationship-Typen K / Au (Kunden Nr., Auftrags Nr.) Ar / R (Artikel-Nr., Rezeptur Nr.) L / B (Lieferant-Nr. , Bestell Nr. ) ... Ein Datenfeld kann eine Folge von Zeichen aufnehmen, deren Eigenschaft durch das Feldformat definiert ist. Das Feldformat beschreibt Zeichenart (numerisch, alphabetisch, alphanumerisch), Zeichenausrichtung, Feldlänge, Nachkommastellen oder Ort des Vorzeichens (vor-/nachlaufend) + 2 3 2 , 6 0 FHDW Bergisch Gladbach, 07.06.2006 numerisch, 4 Vorkomma-, 2 Nachkommastellen, Vorzeichen vorlaufend, rechtsbündig Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 28 14 Gliederung WI 2 (Überblick) 1. Grundlagen 1. Daten, Datenorganisation 2. Datenbanken, Datenbankverwaltungssystem 3. Relationale Datenbanken 2. Konzeptioneller Entwurf: Entity-Relationship-Modell 3. Logischer Entwurf: Relationales Datenbankmodell 4. Implementierungsentwicklung: Normalisierung 5. Implementierung: FHDW Bergisch Gladbach, 07.06.2006 Physische Speicherungsverfahren Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 29 Strukurfolie: Datenbanklebenszyklus Benutzer 1...N Anforderungsanalyse, - spezifikation Konzeptioneller Entwurf Entity Relationship-Modell Logischer Entwurf Relationales Datenmodell Implementierungsentw. Normalisierung Implementierung Arbeiten mit der DB FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 30 15 3 Vom Entity-Relationship-Modell zur Tabelle (1) Aus dem Entity-Typ kann man eine Tabelle ableiten ? Spaltenüberschriften entsprechen den Bezeichnungen der einzelnen Attribute (z.B. Art.Nr., Name, Preis) ? Eine Zeile in der Tabelle ist eine konkrete Entität des entsprechenden Entity-Typs ? Datentypen müssen definiert werden (Feldformat wie z.B. Länge, numerisch/alphanumerisch, ... ) Artikel Tabelle Name Preis Art.-Nr. Artikel FHDW Bergisch Gladbach, 07.06.2006 3 => Artikel Nr. 1234 1244 1350 ... Name Tonno Hawaii Spezial ... Prof. Dr. Stößel; Wirtschaftsinformatik 2 Preis 6,50 7,00 9,00 ... Folie 31 Vom Entity-Relationship-Modell zur Tabelle (2) Folgende Regeln haben sich als hilfreich erwiesen: ? Jeder Entity-Typ wird zu einer Tabelle ? Die Beziehungen werden über Fremdschlüssel abgebildet (Def.: Ein Fremdschlüssel ist ein Prim ärschlüssel in einem anderen Entityset und dient zur Abbildung von Beziehungen) Hierbei gilt: ?Bei 1 : N –Beziehungen wird der Prim ärschlüssel auf der „Zu-1“-Seite zum Fremdschlüssel auf der „Zu-N“ –Seite. ?Bei 1 : 1 Beziehungen wird ein Prim ärschlüssel zum Fremdschlüssel auf der anderen „Zu-1“ –Seite. ? N : M Beziehungen sind aufzulösen FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 32 16 3 Vom Entity-Relationship-Modell zur Tabelle (3) Abbildung von 1 : 1 Beziehungen auf Tabellen ? Entity Relationship-Modell: 1 Mitarbeiter hat 1 Rechner ? Relationales Datenmodell (Logischer Entwurf): Mitarbeiter Rechner 1 MitarbeiterNr Name Vorname RechnerID 1 RechnerID Typ Prozessor ? Bei 1 : 1 Beziehungen wird ein Prim ärschlüssel zum Fremdschlüssel auf der anderen „Zu-1“ –Seite. FHDW Bergisch Gladbach, 07.06.2006 3 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 33 Vom Entity-Relationship-Modell zur Tabelle (4) Abbildung von N : 1 Beziehungen auf Tabellen ? Entity Relationship-Modell: N Mitarbeiter sitzt in 1 Raum ? Relationales Datenmodell (Logischer Entwurf): Mitarbeiter MitarbeiterNr Name Vorname RaumNr Raum 1 N RaumNr Bezeichnung Kapazität ? Bei 1 : N –Beziehungen wird der Prim ärschlüssel auf der „Zu-1“-Seite zum Fremdschlüssel auf der „Zu-N“ –Seite. FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 34 17 3 Vom Entity-Relationship-Modell zur Tabelle (5) Abbildung von N : M Beziehungen auf Tabellen ? Entity Relationship-Modell: N Lieferant M liefern Ware ? Relationales Datenmodell (Logischer Entwurf): Lieferant LieferantNr Name Ort Ware 1 1 Bestellung N LieferantNr WarenNr N WarenNr Bezeichnung Preis ? N : M Beziehungen sind aufzulösen FHDW Bergisch Gladbach, 07.06.2006 3 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 35 Entity-Relationship-Modell: Kritische Würdigung Vorteile: ? Visualisierung führt zu einer übersichtlicheren und verständlicheren Beschreibung bestehender Zusammenhänge ? Prinzip der schrittweisen Verfeinerung ist auch in der Programmierung und Systementwicklung gängig ? Viele Software-Entwicklungswerkzeuge unterstützen das Erstellen von ER-Diagrammen Nachteil: ? Erheblicher Platzbedarf zur optischen Darstellung Datum Name Anschrift Kd-Nr. Kunde FHDW Bergisch Gladbach, 07.06.2006 Name Preis Art.-Nr. bestellt Prof. Dr. Stößel; Wirtschaftsinformatik 2 Artikel Folie 36 18 Gliederung WI 2 (Überblick) 1. Grundlagen 1. Daten, Datenorganisation 2. Datenbanken, Datenbankverwaltungssystem 3. Relationale Datenbanken 2. Konzeptioneller Entwurf: Entity-Relationship-Modell 3. Logischer Entwurf: Relationales Datenbankmodell 4. Implementierungsentwicklung: Normalisierung 5. Implementierung: FHDW Bergisch Gladbach, 07.06.2006 Physische Speicherungsverfahren Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 37 Strukurfolie: Datenbanklebenszyklus Benutzer 1...N Anforderungsanalyse, - spezifikation Konzeptioneller Entwurf Entity Relationship-Modell Logischer Entwurf Relationales Datenmodell Implementierungsentw. Normalisierung Implementierung Arbeiten mit der DB FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 38 19 4 Zur Erinnerung: Relationale Datenbanken ? Relationale Datenbank alle Tabellen gemeinsam bilden die relationale Datenbank ? Nicht jede Tabelle ist eine Relation im Sinne des Relationen-Modells. Das Modell verlangt bestimmte Eigenschaften ? Die Zeilen einer Tabelle sind alle gleich lang ? In den Feldern gibt es keine Attributwiederholungen ? Für die Definition von Relationen existiert ein umfangreiches formales Regelwerk. ? Wichtigste Art von Regelwerk ist die „Normalisierung“, d.h. Vorschriften, wie Relationen aus einer Menge von Attributen zu bilden sind. ? Damit wird erreicht, dass semantikwidrige Tupel erkannt und eliminiert werden. FHDW Bergisch Gladbach, 07.06.2006 4 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 39 Normalisierung ? Bei der Normalisierung eines relationalen Schemas werden die Attribute derart auf Relationen verteilt, dass beim Einfügen, Löschen oder Ändern von Datens ätzen keine Inkonsistenzen auftreten ? Ziel der Normalisierung: Bereits beim Entwurf der Relationen sollen inkorrekte oder fehleranfällige Konstruktionen verhindert werden. ? Im Rahmen der Vorlesung werden folgende Normalformen behandelt: ? Erste Normalform ? Zweite Normalform ? Dritte Normalform FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 40 20 4 Erste Normalform (1) Definition: In der ersten Normalform dürfen in jeder Relation nur atomare (d.h. nicht weiter zerlegbare) Attribute gespeichert werden. ? Es dürfen keine ? zusammengesetzten Attribute verwendet werden ? mehrwertige Attribute verwendet werden ? Das heißt: Ein strukturiertes (demnach zerlegbares) Attribut muss entweder ? durch mehrere Attribute gespeichert werden oder ? in einer eigenen Tabelle gespeichert werden. FHDW Bergisch Gladbach, 07.06.2006 4 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 41 Erste Normalform (2) ? Beispiel: ? Mehrere Attribute: Beim Attribut „Name“ ist es nicht m öglich einen Namen, der aus Vor- und Nachname besteht, als ein Attribut zur speichern. Es m üssen getrennte Attribute „Vorname“, „Nachname“ gebildet werden. ? Mehrwertige Attribute: Beim Attribut „Artikel“ ist es nicht möglich, die Ausprägungen „Hawaii, Tonno, Roma“ als ein Attribut zu speichern. Kd.Nr. Kd. Name Straße Ort 1234 Müller, Jupp Dorfstaße GL Schulze, Peter Hainweg GL 2345 Kd.Nr. 3456 Name Vorname Peters, Hanna Gassenstraße 1234 1234 2345 2345 3456 3456 3456 Müller Müller Schulze Schulze Peters Peters Peters FHDW Bergisch Gladbach, 07.06.2006 Jupp Jupp Peter Peter Hanna Hanna Hanna K Menge 1 2 1 1 2 Straße 1 1 Dorfstaße Dorfstaße Hainweg Hainweg Gassenstraße Gassenstraße Gassenstraße Art.Nr. 4567 5678 5678 4567 6789 4567 Ort 5678 GL GL GL GL Köln Köln Köln Prof. Dr. Stößel; Wirtschaftsinformatik 2 Name Tonno Hawaii Hawaii Tonno Roma Menge Tonno Hawaii 2 1 1 1 1 2 1 Rabatt % 0 20 20 0 0 Art.Nr.0 Name 20 5678 4567 5678 4567 5678 6789 4567 Hawaii Tonno Hawaii Tonno Hawaii Roma Tonno Rabatt % 20 0 20 0 20 0 0 Folie 42 21 4 Zweite Normalform (1) Definition: In der zweiten Normalform muss jedes Nicht-Schlüsselattribut einer Tabelle voll funktional vom Schlüssel dieser Tabelle abhängen. ? D.h.: Eine Relation ist dann in der zweiten Normalform, wenn ? sie in ersten Normalform ist und ? und jedes Nicht-Schlüsselattribut voll funktional von allen Schlüsselattributen abhängt. ? Ein Attribut bzw. einen Attributkombination B heißt funktional abhängig vom Attribut bzw. der Attributkombination A in derselben Relation, wenn zu einem bestimmten Wert von A höchstens ein Wert von B möglich ist. FHDW Bergisch Gladbach, 07.06.2006 4 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 43 Zweite Normalform (2) Beispiel: Der Kundenname hängt funktional von der Kundennummer ab, die Pizzasorte hängt funktional von der Artikelnummer ab. Es ist ein Verstoß gegen die zweite Normalform, die genannten vier Attribute in einer einzigen Tabelle abzuspeichern. Statt dessen muss es eine Tabelle „Kunde“ und eine Tabelle „Artikel“ geben. Kd.Nr. 1234 1234 2345 2345 3456 Kunden 3456 Kd.Nr. 3456 1234 2345 3456 Name Müller Müller Schulze Schulze Peters Peters Name Peters Müller Schulze Peters Vorname Jupp Jupp Peter Peter Hanna Hanna Vorname Hanna Jupp Peter Hanna FHDW Bergisch Gladbach, 07.06.2006 Straße Dorfstaße Dorfstaße Hainweg Hainweg Gassenstraße Gassenstraße Straße Ort Gassenstraße Dorfstaße Hainweg Gassenstraße GL GL Köln Ort GL GL GL GL Köln Artikel Köln Art.Nr. Köln 5678 6789 4567 Menge 2 1 1 1 1 2 Name 1 Hawaii Roma Tonno Art.Nr. 5678 4567 5678 4567 5678 6789 Rabatt 4567 Prof. Dr. Stößel; Wirtschaftsinformatik 2 20 0 0 Name % Rabatt % Hawaii Tonno Hawaii Tonno Hawaii Bestellung Roma Bestnr Tonno 1 1 2 2 3 3 3 20 0 20 0 20 0 Kd.Nr. 0 1234 1234 2345 2345 3456 3456 3456 Art.Nr. Menge 5678 4567 5678 4567 5678 6789 4567 2 1 1 1 1 2 1 Folie 44 22 4 Zweite Normalform (3) ? Somit sind folgende Relationen immer in der zweiten Normalform, da es bei ihnen keine Nicht-Schlüsselattribute gibt: ? Relationen, bei denen der Schlüssel nur aus einem Attribut besteht ? Relationen, die ausschließlich aus Schlüsselattributen bestehen ? Relationen, die nicht in zweiter Normalform sind, ? führen häufig zu redundanter Speicherung von Information und ? sind Kandidaten für die Zerlegung in mehrere Tabellen ? Die zweite Normalform bewirkt, dass sich die Schlüssel jeder Relation auf semantisch zusammengehörige Attribute beziehen ? Die zweite Normalform kann hingegen nicht verhindern, ? dass eine Relation Attribute enthält, die nur indirekt (das heißt, transitiv über ein anderes Attribut) vom Schlüssel abhängen und daher ? konzeptionell in eine eigene Relation gehören FHDW Bergisch Gladbach, 07.06.2006 4 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 45 Dritte Normalform (1) Definition: Eine Relation ist in der dritten Normalform, wenn sie in der zweiten Normalform ist und kein Nicht-Schlüsselattribut transitiv vom Schlüssel abhängt. ? Transitive Abhängigkeit ist eine indirekte Abhängigkeit über nicht zum Identifikationsschlüssel gehörige Attribute ? Das heißt: Wenn B von A abhängig ist und C von B abhängig ist, dann ist C transitiv von A abhängig FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 46 23 4 Dritte Normalform (2) Beispiel: In der Relation „Artikel“ (Art.Nr., Name, Rabatt) ist der Rabatt (C) abhängig von einer Rabattgruppe (B), die Rabattgruppe (B) aber von der Artikelnummer (A) Also ist die Rabatt (C) noch transitiv von der Artikelnummer (A) abhängig, die Rabattgruppe muss als separate Tabelle isoliert werden. Kunden Kd.Nr. Name Vorname Straße Ort 1234 2345 3456 Müller Schulze Peters Jupp Peter Hanna Dorfstaße GL GL Köln Hainweg Gassenstraße Artikel Art.Nr. 5678 6789 4567 Kunden Kd.Nr. Name Vorname Straße 1234 2345 3456 Müller Schulze Peters Jupp Peter Hanna Dorfstaße FHDW Bergisch Gladbach, 07.06.2006 Ort GL Hainweg GL Gassenstraße Köln Name Rabatt % Hawaii Roma Tonno 20 0 0 Artikel Art.Nr. Name A%-gruppe 5678 Hawaii 6789 Roma 4567 Tonno Rabatte A%-gruppe B A A Prof. Dr. Stößel; Wirtschaftsinformatik 2 B A Rabatt 20 0 Folie 47 Gliederung WI 2 (Überblick) 1. Grundlagen 1. Daten, Datenorganisation 2. Datenbanken, Datenbankverwaltungssystem 3. Relationale Datenbanken 2. Konzeptioneller Entwurf: Entity-Relationship-Modell 3. Logischer Entwurf: Relationales Datenbankmodell 4. Implementierungsentwicklung: Normalisierung 5. Implementierung: FHDW Bergisch Gladbach, 07.06.2006 Physische Speicherungsverfahren Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 48 24 Strukurfolie: Datenbanklebenszyklus Benutzer 1...N Anforderungsanalyse, - spezifikation Konzeptioneller Entwurf Entity Relationship-Modell Logischer Entwurf Relationales Datenmodell Implementierungsentw. Normalisierung Implementierung Arbeiten mit der DB FHDW Bergisch Gladbach, 07.06.2006 5 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 49 Implementierung, Physische Datenorganisation Grundlegende Speicherungsformen Sequenziell Adressierbar 1. 2. Sequenzielle Speicherung Indexverfahren 2.1. Unsortierte Indextabelle 2.2. Sortierte Indextabelle 2.3. Indexsequenzielle Speicherung 2.4. Indexverkettete Speicherung 2.5. Speicherung durch binäre Bäume 3. FHDW Bergisch Gladbach, 07.06.2006 Gestreute Speicherung (Hashing) Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 50 25 5.1 Sequenzielle Speicherung ? Alle Sätze sind lückenlos hintereinander gespeichert ? meist nach aufsteigenden Werten des Ordnungsbegriffs ? kommt nur für den starr fortlaufenden Zugriff in Betracht, wahlfreier Zugriff nicht realisierbar ? Mit sequenzieller Speicherung ist nur Stapelbetrieb m öglich (umgekehrt hingegen ist Stapelbetrieb auch mit anderen Speicherungsformen zu realisieren) ? Nicht adressierbare Speichermedien (Magnetband, Kassette) haben keine benannten Speicherplätze. Die Daten werden physisch nach der Reihenfolge der Erfassung/Abspeicherung abgelegt und können somit auch nur sequenziell wieder herausgesucht werden 107 FHDW Bergisch Gladbach, 07.06.2006 5.1 115 109 113 105 103 Prof. Dr. Stößel; Wirtschaftsinformatik 2 111 Folie 51 Sequenzielle Speicherung: Beispiel Beim sequenziellen Speicherungsverfahren wird der Speicher vom Anfang her mit Datens ätzen belegt. Ein Datensatz folgt physisch dem anderen. Erfassungsreihenfolge 1 2 3 4 5 6 7 FHDW Bergisch Gladbach, 07.06.2006 Physische Speicherorte S1 S2 S3 S4 S5 S6 S7 Autor Hansen, H.R. Maurer, H. Wirth, N. Date, C.J Wedekind, H. Elson, M. Müller, G. Titel Wirtschaftsinformatik ... Datenstrukturen und... Algorithmen und ... An Introduction ... Datenbanksysteme Data Structures... Information ... Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 52 26 5.2 Indexverfahren Definition „Indexdatei“: Eine Indexdatei ist eine Hilfsdatei, deren Datensätze neben den Schlüsseln der Hauptdatei die Adressen der zugehörigen Datensätze beinhalten ? Die Indexverfahren (oder indizierten Speicherungsformen) arbeiten mit sog. Indextabellen. ? Aus einer Hauptdatei mit den langen, vollständigen Datens ätzen wird die Indexdatei als Hilfsdatei mit nur kurzen Datensätzen (bestehend aus Speicherort und Prim äroder Suchschlüssel) aufgebaut ? Dadurch soll der Zugriff auf die Hauptdatei beschleunigt werden, denn in der relativ kleinen Indexdatei kann der Schlüssel relativ schnell gefunden werden. Über den Adressverweis findet man den gesuchten vollständigen Datensatz. ? Indexverfahren erhöhen den Speicherplatzbedarf FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 53 5.2.1 Unsortierte Indextabelle ? unsortierte Indextabelle ist die einfachste Form einer Indexdatei ? Indexdatei speichert von jedem Datensatz aus der Hauptdatei den dortigen Ordnungsbegriff und die zugehörige Speicheradresse ? Kommt ein Datensatz hinzu, wird in der Indexdatei lediglich dessen Ordnungsbegriff (z.B. Artikelnummer) und die zugehörige Speicheradresse (z.B. Nummer der Spur auf einer Speicherplatte sowie Position des Datensatzes auf dieser Spur) hinzuzufügen ? Speicherplätze müssen nicht physisch zusammenhängend auf dem Speicher der Indexdatei abgelegt sein ? Wird ein Datensatz gesucht, braucht nur die (relativ kleine) Index-Tabelle gelesen zu werden. Wird dort zum gesuchten Ordnungsbegriff der Speicherplatz gefunden, kann der Datensatz aus dem peripheren Speicher geholt werden. ? Bei der Suche müssen im Durchschnitt die Hälfte der gesamten Datensätze in der Indexdatei gelesen werden FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 54 27 5.2.1 Unsortierte Indextabelle: Beispiel Die Indextabelle speichert im einfachsten Falle den Ordnungsbegriff und den physischen Speicherplatz des gesuchten Datensatzes Indexdatei Speicherplatz Indexdatei I1 I2 I3 I4 I5 I6 I7 Verweis auf Hauptdatei S1 S5 S6 S9 S11 S15 S18 FHDW Bergisch Gladbach, 07.06.2006 Ordnungsbegriff Hansen, H.R. Maurer, H. Wirth, N. Date, C.J Wedekind, H. Elson, M. Müller, G. Haupdatei Erfassungsreihenfolge 1 2 3 4 5 6 7 Physische Speicherorte S1 S5 S6 S9 S11 S15 S18 Autor Hansen, H.R. Maurer, H. Wirth, N. Date, C.J Wedekind, H. Elson, M. Müller, G. Titel Wirtschaftsinformatik ... Datenstrukturen und... Algorithmen und ... An Introduction ... Datenbanksysteme Data Structures... Information ... Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 55 5.2.2 Sortierte Indextabelle ? Funktionsweise wie bei der unsortierten Indextabelle ? Anschließend wird die Indextabelle nach aufsteigenden Ordnungsbegriffen sortiert. ? Damit lassen sich Einträge mittels binären Suchens schnell finden. Haupdatei Erfassungs- Logische Physische reihenfolge Reihenfolge Speicherorte 1 3 S1 2 4 S5 3 7 S6 4 1 S9 5 6 S11 6 2 S15 7 5 S18 Autor Hansen, H.R. Maurer, H. Wirth, N. Date, C.J Wedekind, H. Elson, M. Müller, G. Titel Wirtschaftsinformatik ... Datenstrukturen und... Algorithmen und ... An Introduction ... Datenbanksysteme Data Structures... Information ... Indexdatei Speicherplatz Indexdatei I1 I2 I3 I4 I5 I6 I7 FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Verweis auf Hauptdatei S9 S15 S1 S5 S18 S11 S6 Ordnungsbegriff Date, C.J Elson, M. Hansen, H.R. Maurer, H. Müller, G. Wedekind, H. Wirth, N. Folie 56 28 5.2.2 Sortierte Indextabelle: Exkurs Binäre Suche ? Eine sortierte Tabelle, bei der die Anzahl der vorhandenen Datens ätze bekannt ist, lässt sich mittels binärer Suche deutlich schneller durchsuchen als eine unsortierte Liste Schritt 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Anzahl der benötigten Schritte bei N Datens ätzen: Schritt 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 log2(N+1) Schritt 3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 im Beispiel: Schritt 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Schritt 5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Anzahl Schritte N+1 1 2 2 4 3 8 FHDW Bergisch Gladbach, 07.06.2006 4 16 5 32 6 64 ... ... 17 126.976 N = 16 => 5 Schritte nötig bei N = 1.000.000 => 20 Schritte nötig 18 253.952 19 507.904 Prof. Dr. Stößel; Wirtschaftsinformatik 2 20 1.015.808 ... ... Folie 57 5.2.2 Sortierte Indextabelle: Exkurs Binäre Suche ? Beschreibung „binäres Suchen“ : Dichotomie, Einsprungverfahren Voraussetzung: Datenbestand ist sortiert und Anzahl der Datens ätze ist bekannt Ablauf: ? Der gesuchte Ordnungsbegriff wird in der Datei (Indextabelle) vermutet. ? Der vorgegebene Ordnungsbegriff wird mit dem Ordnungsbegriff in der Mitte des Bestands verglichen ? Falls Letztere kleiner ist, wird die Suche in der unteren, andernfalls in der oberen Hälfte des Bestandes fortgesetzt und wiederum verglichen ? Bei N Datensätzen sind max log2(N+1) (aufgerundet auf nächst-größere Zahl) Schritte nötig FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 58 29 5.2.2 Sortierte Indextabelle: Exkurs Überlaufbereich Was passiert, wenn in einer sortierten Indexdatei ein neuer Datensatz in die Datei aufgenommen wird? ? Nach jedem Einfügen oder Löschen m üsste der Datenbereich neu sortiert werden => sehr aufwendig Ausweg: Überlaufbereich ? Um häufige Sortiervorgänge zu verhindern, wird im Index ein sog. Überlaufbereich angelegt ? Im Überlaufbereich werden die neu hinzukommenden Sätze in der Reihenfolge ihrer Erfassung eingetragen, Löschungen werden mit einem Löschvermerk versehen ? Wird bei Datensatzsuche der gesuchte Schlüssel nicht in der sortierten Liste gefunden, wird im Überlaufbereich sequenziell weitergesucht (=> je größer der Überlaufbereich, desto länger dauert die Suche) ? Je mehr Einträge und Vermerke im Überlaufbereich sind, desto langsamer wird die Suche ? Reorganisation der Indexdatei (Neusortieren) sorgt dafür, dass der Überlaufbereich geleert und der Indexdatenbestand neu sortiert wird. FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 59 5.2.3 Indexsequenzielle Speicherung (1) ? Schritt 1: Die Gesamtheit der nach dem Ordnungsbegriff sortierten Datens ätze wird in gleich große Teile aufgeteilt und in einer entsprechenden Anzahl von zusammenhängenden Speicherbereichen lückenlos sequenziell gespeichert ? ? Beispiel: z.B. Speicherbereich entspricht der Spur auf der Platte, auf jeder Spur können fünf Datens ätze untergebracht werden Schritt 2: In der Indextabelle wird lediglich für jeden Speicherbereich (z.B. für jede Spur) der Ordnungsbegriff mit dem höchsten Wert zusammen mit der zugehörigen Adresse aufgenommen ? Analogie: Auch in einem Wörterbuch wird am oberen bzw. unteren Seitenrand das erste bzw. letzte Wort der Seite angegeben Haupdatei Physischer Speicherort S1 S5 S6 S9 S11 S15 S18 Sortierte Indextabelle Autor Hansen, H.R. Maurer, H. Wirth, N. Date, C.J Wedekind, H. Elson, M. Müller, G. Physischer Titel Speicherort Wirtschaftsinformatik ... Datenstrukturen und... I1 Algorithmen und ... I2 An Introduction ... I3 Datenbanksysteme I4 Data Structures... I5 Information ... FHDW Bergisch Gladbach, 07.06.2006 I6 I7 Ordnungsbegriff Indexsequenzielle Tabelle Date, C.J Physischer Elson, M. Speicherort Ordnungsbegriff Hansen, H.R. I5 Müller, G. Maurer, H. I7 Wirth, N. Müller, G. Wedekind, H. Wirth, N. Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 60 30 5.2.3 Indexsequenzielle Speicherung (2) ? Schritt 3: Durch sukzessiven Vergleich (sequenzielles Suchen) des vorgegebenen Ordnungsbegriffes mit den in der Indextabelle gespeicherten Werten wird derjenige Speicherbereich ermittelt, in dem sich der gesuchte Datensatz befindet. ? Schritt 4: Durch sequenzielles Suchen innerhalb dieses Speicherbereiches wird der gesuchte Satz gefunden Anwendung: ? Erlaubt sowohl wahlfreien Zugriff (wegen Beibehaltung der Sortierung) als auch den fortlaufenden Zugriff => ist daher eine gebräuchliche Speicherungsform. ? Jeder neu hinzukommende Datensatz wird entsprechend der Sortierfolge an der richtigen Stelle des zugehörigen Speicherbereiches eingefügt. Falls der freie Platz nicht mehr ausreicht, wird der Datensatz mit dem höchsten Ordnungsbegriff in einem Überlaufbereich ausgelagert und mit einem Vermerk versehen. Ggfs. muss dann, wie beim Arbeiten mit Überlaufbereich üblich, von Zeit zu Zeit reorganisiert werden. FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 61 5.2.3 Indexsequ. Speicherung (3): Wahl der Blockung Beispiel/Analogie: Bibliothek mit m Regalen und n Büchern Bei der Blockung werden ? im Mittel m/2 Suchschritte benötigt, um den richtigen Block zu finden ? im Mittel n/2 Suchschritte benötigt, um innerhalb des Blocks den richtigen Satz zu finden ? => Ein optimal gegliederter Bestand (m=n) wird im Mittel in m Suchschritten durchsucht. m (m = 2) Blöcke mit je n (n = 8) Sätzen Summe der Suchschritte: 2/2 + 8/2 = 5 m (m = 4) Blöcke mit je n (n = 4) Sätzen Summe der Suchschritte: 4/2 + 4/2 = 4 FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 62 31 5.2.4 Indexverkettete Speicherung (1) ? In der Indexverketteten Speicherung werden in der Indextabelle zu jedem Ordnungsbegriff vom logisch nachfolgenden Datensatz ? entweder der Ordnungsbegriff (z.B. Artikelnummer) ? oder die Position in der Indextabelle ? oder die physische Speicheradresse vermerkt. Beispiel: Verkettung verweist auf die Adresse des logischen Nachfolgers (sog. Vorwärtsverkettung) bzw. Vorgängers (sog. Rückwärtsverkettung) in der Indexdatei. Haupdatei Physischer Speicherort S1 S5 S6 S9 S11 S15 S18 Autor Indexdatei Titel Hansen, Speicherplatz H.R. Wirtschaftsinformatik Adr.-verweis ... auf Adr.-verweis auf Schlüssel / Maurer, H.Indexdatei Datenstrukturen log. Nachfolger und... log. Vorgänger Ordnungsbegriff Wirth, N. I1 Algorithmen und ... I2 I6 Hansen, H.R. Date, C.J I2 An Introduction ... I7 I1 Maurer, H. Wedekind, H. I3 DatenbanksystemeI5 Wirth, N. Elson, M. Data Structures... I6 I4 Date, C.J Müller, G. Information ... I5 I3 I7 Wedekind, H. I6 I1 I4 Elson, M. I7 I5 I2 Müller, G. FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Adr.-verweis Hauptdatei S1 S5 S6 S9 S11 S15 S18 Folie 63 5.2.4 Indexverkettete Speicherung (2) ? Die Datens ätze können sich beliebig über den gesamten Speicherbereich verteilen ? Kommt ein Datensatz hinzu, wird der über den Adressverweis zum Vorgänger/Nachfolger verkettet ? Der letzte Datensatz der Indextabelle enthält ? entweder keinen Verweis (offene Kette) ? oder einen Verweis auf den Ankersatz (also den logisch ersten Datensatz der Indextabelle) ? Suche per sequenzieller Suche m öglich ? Vorteil: Datensätze lassen sich einfach hinzufügen oder löschen, weil nur die Verweise in der Tabelle zu ändern sind. Durch Verkettung werden zusammengehörige Daten schnell gefunden, die Reorganisation wie in einer sortierten Tabelle (vgl. indexsequenzielle Tabelle) entfällt. ? Nachteil: Falls Daten auf vielen verschiedenen Speichern abgelegt sind, dauert Suche ggfs. länger FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 64 32 5.2.5 Speicherung durch binäre Bäume (1) Ein logisch sortierter Binärbaum ist eine binäre Baumstruktur, bei der die beiden Nachfolgeknoten jedes Knoten als linker und rechter Nachfolgeknoten bezeichnet werden. ? Die linken Nachfolgeknoten enthalten nur Werte, die kleiner als das übergeordnete Knotenelement sind ? Die rechten Nachfolger enthalten ausschließlich Datenelemente, die größer sind Hansen Date Müller Elson Wedekind Maurer Wirth FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 65 5.2.5 Speich. durch binäre Bäume: Geordneter Baum In jedem Knoten werden die Verzweigungen nach einem einheitlichen Ordnungsprinzip vorgenommen Die Indexdatei besteht nun aus dem Schlüssel mit zwei Verweisen, die auf den linken und den rechten Nachfolger zeigen. I4 Hansen I7 Date I2 Müller I5 I6 Elson Maurer Wedekind I3 Indexdatei Speicherplatz Indexdatei I1 I2 I3 I4 I5 I6 I7 Adr.-verweis auf linken Nachfolger I4 I2 FHDW Bergisch Gladbach, 07.06.2006 Adr.-verweis auf rechten Nachf I7 I6 I3 I5 Schlüssel / Ordnungsbegriff Hansen, H.R. Maurer, H. Wirth, N. Date, C.J Wedekind, H. Elson, M. Müller, G. Prof. Dr. Stößel; Wirtschaftsinformatik 2 Wirth Folie 66 33 5.2.5 Speich. durch bin. Bäume: Ausgeglichener Baum Im ausgeglichenen binären Baum differiert in jedem Knoten die Anzahl aller linken Nachfolger gegenüber der Anzahl aller rechten Nachfolger höchstens um 1 ? Solche Bäume heißen nach den Erfindern auch AVL-Baum (Adelson-Velskij und Landis ) ? Es gibt verschiedene Algorithmen, um ausgeglichene binäre Bäume und die daraus resultierenden Indextabellen zu generieren. ? Vorteil: Durch ausgeglichene Bäume lassen sich die Suchzeiten erheblich verkürzen ? Nachteil: Generieren ausgeglichener Bäume erfordert Reorganisation der Indextabelle Maurer Elson Date Wedekind Hansen FHDW Bergisch Gladbach, 07.06.2006 Müller Wirth Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 67 5.3.3 Gestreute Speicherung (Hashing) Eine Alternative zu den Speicherverfahren mit Indextabelle stellt die gestreute Organisation der Speicherung dar. Bei der gestreuten Speicherungsform besteht ein rechnerischer Zusammenhang zwischen der Nummer, d.h. dem Wert des Ordnungsbegriffes und der physischen Speicheradresse des Datensatzes. Diese Umrechnungsformel heißt „Schlüsseltransformations -Funktion“ (engl. hash function) Haupdatei Autor Hansen, H.R. Maurer, H. Wirth, N. Date, C.J Wedekind, H. Elson, M. Müller, G. Titel Wirtschaftsinformatik ... Datenstrukturen und... Algorithmen und ... An Introduction ... Datenbanksysteme Data Structures... Information ... Umwandlung des Ordnungsbegriffs in einen numerischen Wert (z.B. gem. ASCII Tabelle) Berechnung der physischen Speicheradresse FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 68 34 5.3.3 Gestreute Speicherung mit direkter Adressierung Bei der gestreuten Speicherung mit direkter Adressierung ist die Zuordnung zwischen der Nummer und der Speicheradresse umkehrbar eindeutig. Für jeden Datensatz ist von vornherein ein bestimmter Speicherplatz reserviert. Beispiel: 200 Datens ätze mit den Ordnungsbegriffen 100 bis 299 sollen zu je 10 Sätzen pro Spur den Spuren 20 bis 39 (Position jeweils 1 bis 10 auf der Spur) einer Platte zugeordnet werden. Speicherfunktion: (Ordnungsbegriff – 100) / 10 => Nummer der Spur: q + 20 Position auf der Spur: r+ 1 FHDW Bergisch Gladbach, 07.06.2006 5.3.3 q Rest r Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 69 Gestreute Speicherung mit direkter Adressierung Vorteile: ? Sehr kurze Zugriffszeit ? Zugänge lassen sich leicht einfügen Nachteil: ? Reservierung von Speicherplätzen für nicht existierende Datensätze. ? D.h.: Für Nummernsysteme mit großen Lücken im Nummernbereich (also gerade für die im betrieblichen Bereich häufig anzutreffenden Nummern mit vielen klassifizierenden Bestandteilen) ist diese Speicherungsform daher wenig geeignet FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 70 35 5.3.3 Gestreute Speich. mit indirekter Adressierung Bei der gestreuten Speicherung mit indirekter Adressierung ist die Zuordnung zwischen der Nummer und der Speicheradresse nicht umkehrbar eindeutig. Eine gebräuchliche Methode der Adressermittlung ist das Divisionsrestverfahren. Beispiel: Eine Artikelstammsatzdatei mit 2.000 Datensätzen soll auf einer Platte gespeichert werden. Pro Spur lassen sich 40 Sätze unterbringen. Gespeichert wird auf den Spuren 60 bis 109, jeweils auf den Positionen 1 bis 40. Die Nummer ist 6-stellig. Die Position des Datensatzes mit der Artikelnummer 237405 soll ermittelt werden. Dazu wird die Nummer durch die größte Primzahl geteilt, die kleiner ist als die Anzahl der benötigten Speicherplätze (im vorliegenden Fall werden 2.000 Speicherplätze benötigt, die Primzahl ist 1999). 237405 / 1999 => 118, Rest 1523; 1523 / 40 => 38, Rest 3 Die Position ist demzufolge Spur 60 + 38 = 98, Position 3 + 1 = 4 FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 71 5.3.3 Gestreute Speich. mit indirekter Adressierung Kollision: ? Bei der gestreuten Speicherung mit indirekter Adressierung kann sich für mehrere Ordnungsbegriffe rechnerisch dieselbe Speicheradresse ergeben (Kollision). ? Dies würde zu Doppelbelegungen führen, wie etwa im Beispiel zwischen Artikelnr. 783132 und 237405. ? Daher werden ähnlich wie bei der indexsequenziellen Speicherungsform Überlaufbereiche eingerichtet. Die Hinweise auf die Datens ätze in den Überlaufbereichen erfolgen durch Verkettung. Vorteile der gestreuten Speicherung mit indirekter Adressierung ? Gute Speicherausnutzung insbes. bei großen Lücken im Nummernbereich ? Gut geeignet für wahlfreien Zugriff Nachteile der gestreuten Speicherung mit indirekter Adressierung ? Wenig geeignet für fortlaufenden Zugriff ? Möglichkeit der Mehrfachbelegung erfordert Einrichten von Überlaufbereichen => Verlangsamt die Suche FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 72 36 5.3.4 Beispielhafte Einsatzbereiche der Verfahren Gestreute Speicherung / Direkte Adressierung / Hashing ? Arbeitsspeicher ? Betriebssystem Sequenziell ? kleine Datenmengen im Arbeitsspeicher ? leichtes Verfahren in Datenbank (lese alles => schreibe alles) ? Bänder Verkettung ? Arbeitsspeicher ? „alte“ Datenbanksysteme (Hierarchie-, Netzwerk-Datenbankmodell) => gute Performance Index-Verfahren ? Relationale Datenbanken FHDW Bergisch Gladbach, 07.06.2006 2.3 Folie 73 Datenbankverwaltungssysteme 1. Datenbanksysteme 2. Datenbank 3. Prof. Dr. Stößel; Wirtschaftsinformatik 2 1. Hierarchisches Datenbankmodell 2. Netzwerk Datenbankmodell 3. Relationales Datenbankmodell 1. Einführung / Abgrenzung 2. Normalisierung Datenbankverwaltungssysteme FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 74 37 2.3 Datenbankverwaltungssystem ? Wiederholung: Jedes Datenbanksystem besteht in seiner Grundstruktur aus einem Datenbank-Verwaltungssystem (Data Base Management System, DBMS) und mehreren, logisch miteinander verknüpften Dateien, der eigentlichen Datenbank. ? Das Datenbankverwaltungssystem übernimmt die Verwaltung der Daten der Datenbank. ? Datenbankverwaltungssysteme gibt es seit ca. 1965 für alle Datenbankmodelle. Seit den 80er Jahren werden keine DBMS mehr verkauft, die rein auf Hierarchie- und Netzwerkmodellen beruhen. Angeboten werden inzwischen nur noch relationale, objektorientierte sowie objektrelationale DBMS. DB-System DB-Verw.System Datei Datei Datei Datenbank FHDW Bergisch Gladbach, 07.06.2006 2.3 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 75 Ausblick DBsystem: Entwicklungstendenzen Datenbanksysteme werden permanent weiterentwickelt. Bereiche: ? Integration von Datenbanken mit anderen Methoden/ Werkzeugen der Informationsverarbeitung (z.B. Officepaketen, Expertensystemen) ? Migration bestehender Datenbanksysteme (z.B. Übergang von Netzwerk- auf relationale Datenbankmodelle; von Großrechner auf Client-Server Architekturen) ? Modifikation der Datenbankmodelle (z.B. Denormalisierung (Verzicht auf 3. Normalform) aufgrund Praktikabilität) ? Erweiterung der Datenbank- bzw. der zugehörigen Datenbankverwaltungssysteme (=> postrelationale Datenbanken), z.B. ? Verteilte Datenbanken (Daten von vornherein logisch zusammengehörig, dezentral verteilt => sog. homogene Datenbank) ? Föderierte Datenbanken (Daten von vorneherein nicht logisch zusammengehörig, sondern erst nachträglich koordinierte Nutzung => sog. heterogene Datenbank ? Multimediadatenbanken (kodierte und nicht-kodierte Informationen) ? Objektorientierte Datenbanken FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 76 38 2.3 Ausblick DBsystem: Entwicklungstendenzen Datenbanksysteme werden permanent weiterentwickelt. Einige Bereiche: ? Skalierbarbeit DBMS kann mit dem Betrieb mitwachsen, d.h. bestehende Datenbankanwendungen sind bei steigender Transaktionszahl und erhöhtem Datenvolumen ausbaufähig. ? Verteilte DBMS Räumliche Auslagerung von Datenbeständen, Verteilte Datengenerierung, automatisch gepflegte Kopien (Replikationen). Nachfrage auch aufgrund von zunehmend Internet-basierenden Informationssystemen in Unternehmen ? Data-Warehouse Konzepte Spezialisierte Datenbankanwendungen zur Speicherung abfragerelevanter Daten ? Multimedia-Anwendungen Abspeicherung von kodierten und nicht kodierten Daten (z.B. Musik, Video), Organisation von nicht-strukturierten Informationsquellen, elektronische Akte ? Verwaltung von XML-basierten Dokumenten XML ist nicht nur das Austauschformat im Internet, sondern wird zunehmend genutzt, um im Bereich der betrieblichen Informationsverarbeitung als universelles Austauschformat verschiedener Anwendungen zu dienen FHDW Bergisch Gladbach, 07.06.2006 3 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 77 Betriebliche Anwendungssoftware Betriebliche Anwendungssoftware: Enterprise Resource Planning (ERP) 1. Begriffsbestimmung, Anwendungsgebiete 2. Anbieter 3. Überblick SAP AG, mySAP 4. SAP Finanzwesen: Überblick 5. SAP: Ausgewählte Aspekte der Integration 6. ERP und Mittelstand: Anforderungen FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 78 39 3.1 Enterprise Resource Planning (ERP) ? Betriebliche Standardsoftware wird als Enterprise Resource Planning (ERP) bezeichnet. ? Unter ERP versteht man ? ? ein aus mehreren Komponenten bestehendes integriertes Anwendungspaket, ? das alle wesentlichen betrieblichen Funktionsbereiche abdeckt (z.B. Beschaffung, Produktion, Vertreib, Finanzwesen, Personalwirtschaft etc.). ? Die Integration wird dabei von einer zentralen Datenbank unterstützt, wodurch Redundanz vermieden und integrierte Geschäftsprozesse ermöglicht werden. In den 90er Jahren gab es in der Praxis einen starken Trend zur Implementierung von ERP-Systemen. Gründe lagen (und liegen immer noch) in der Optimierung innerbetrieblicher Prozesse ? Optimierung von Geschäftsprozessen erfordert funktionsbereichs übergreifende IT Unterstützung ? Hohe Kosten einer Vernetzung verschiedenartiger, nicht aufeinander abgestimmter Altsysteme. FHDW Bergisch Gladbach, 07.06.2006 3.1 ? ? ? Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 79 Typische ERP Anwendungskomponenten Finanz- und Rechnungswesen ? Hauptbuchhaltung (Konten; Tages -, Monats-, Jahresabschluß) ? Debitorenbuchhaltung (Kundenrechnungen, Mahnwesen) ? Kreditorenbuchhaltung (Eingangsrechnungen) ? Anlagenbuchhaltung (Anlagevermögen, Abschreibung) Controlling ? Kostenrechnung (Kostenstellen, Kostenarten, Prozesskostenrechnung, Ergebnisrechnung, Profit-Center-Rechnung ...) ? Investitionsmanagement (Planung, Budgetierung) ? Management-Informations -System Vertrieb ? Auftragserfassung (Bestell- und Kundeninformation) ? Fakturierung ? Marketing FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 80 40 3.1 ? ? ? ? Typische ERP Anwendungskomponenten Materialwirtschaft ? Beschaffung von Dienstleistungen und Material ? Bestandsführung, Lagerhaltung ? Disposition Produktionsplanung und –steuerung ? Materialbedarfsplanung, Kapazitätsplanung ? Fertigungssteuerungssystem Personalwirtschaft ? Lohn und Gehalt ? Personaleinstellung, -entwicklung, -einsatzplanung Projektsystem ? Projektstrukturplan ? Netzplan ? Qualitätsmanagement ? Instandhaltung ? Gebäudeverwaltung FHDW Bergisch Gladbach, 07.06.2006 3.1 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 81 Standardsoftware: Wesentliche Merkmale Fremdentwicklung vordefinierter Funktionsumfang Anpassbarkeit Standardsoftware Integration Modularisierung FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 82 41 3.1 Standardsoftware: Wesentliche Merkmale ? Fremdentwicklung ? mehrfache Implementierung ? generelle Einsatzfähigkeit hinsichtlich unterschiedlicher Unternehmen sowie Hardware-/Systemsoftware-Plattformen ? Festpreis ? Funktionsumfang ? vordefiniert ? große/ sehr große Funktionsbreite ? grundsätzlich aber begrenzt ? Modularisierung ? Aufteilung des gesamten Funktionsumfanges in einzelne Bausteine (z.B. differenziert nach betrieblichen Funktionsbereichen) aufbauend auf einem Basissystem ? Möglichkeit zur Selektion der tatsächlich benötigten Bausteine/Module ? Integration ? Integration innerhalb des Systems ? Integration zu anderen Systemen Prof. Dr. Stößel; Wirtschaftsinformatik 2 FHDW Bergisch Gladbach, 07.06.2006 3.1 Folie 83 E-Business Systeme ? Ende der 90er Jahre rückte vor dem Hintergrund der Möglichkeiten des Internet die Verbesserung der zwischenbetrieblichen bzw. betriebsübergreifenden Prozesse ins Blickfeld. ? Integrierte E-Business-Systeme verbinden die Optimierung innerbetrieblicher wie betriebsübergreifender Prozesse ? sie unterstützen innerbetriebliche Aufgaben (klassische ERP) ? sie unterstützen betriebsübergreifende Zusammenarbeit (z.B. Zusammenarbeit in der Logistik zwischen eigener Lagerhaltung und Anbindung von Lieferanten in Supply-Chain-Management-Systemen) ? sie unterstützen den direkten Zugang von Kunden zu innerbetrieblichen Informationssystemen (z.B. durch Portale oder elektronischen Shopsystemen) ? Geschäftsabwicklung erfolgt dabei meist durch Nutzung des Internets FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 84 42 3.2 ERP Anbieter im gehobenen Mittelstand Quelle: Cap Gemini (Ramsauer, H.), ERP im Mittelstand, 2002 FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 85 3.2 Standardsoftware-Unternehmen in Deutschland FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 86 43 3.3 SAP AG: Umsatz, Mitarbeiter, Gewinn 1990-2002 Mio. € Mitarbeiter 8.000 28.410 Umsatz Gewinn 7,413 25.000 7.341 20.975 6.000 19.308 5.000 20.000 6.266 4.000 5.110 12.856 3.648 2.138 1.000 2.685 362 255 53 5.229 88 563 76 1.312 1.903 3.157 425 10.000 3.022 6.857 2.000 15.000 4.316 9.202 3.000 0 30.000 Mitarbeiter 24.178 7.000 28,797 936 230 116 775 1.379 333 901 796 1,626 5.000 803 482 0 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 Quelle: SAP Firmenportrait 2003 FHDW Bergisch Gladbach, 07.06.2006 3.3 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 87 SAP AG: mySAP Produktportfolio SAP xApps SAP xApps PLM SCM mySAP Business Suite mySAP ERP Financials CRM HR Corporate Services R/ 3 En Operations te rp ris SAP NetWeaver e Applikationsplattform (Web AS) SRM Integration von Personen (Portal) Integration von Informationen (BI, MDM) Integration von Geschäftsprozessen (XI) Business One, mySAP All-in-One mySAP ERP SAP R/3 Enterprise SMB-Lösungen Quelle: SAP Firmenportrait 2003 FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 88 44 3.4 Überblick SAP FI (Finanzwesen): Stammdaten / Organisation Mandant (obligatorisch) • Mandant Der Mandant ist die höchste Hierarchieebene im SAP-System. Festlegungen, die auf dieser (obligatorisch) getroffen werden oder Daten, die auf dieser Ebene eingegebendie werden, gelten f ür alle ? Ebene Der Mandant ist die höchste Hierarchieebene im SAP-System. Festlegungen, auf dieser Ebene getroffen werden und oder darüber Daten, die auf dieser eingegeben gelten f ür alle Buchungskreise Buchungskreise hinaus auchEbene f ür alle anderenwerden, Organisationsstrukturen. Diese und darüber hinaus auch f ür alle anderen Organisationsstrukturen. Diese Festlegungen und Daten Festlegungen und Daten müssen somit nicht mehrfach erfasst werden. Die zentrale Pflege müssen somit nicht mehrfach erfasst werden. Die zentrale Pflege dieser Angaben gewährleistet einen dieser Angaben gew ährleistet einen einheitlichen Datenstand. einheitlichen Datenstand. • ? Jeder Mandant ist eine f ür sich abgeschlossene Einheit mit getrennten Stamms ätzen und einem Jeder ist von eineTabellen. für sichInabgeschlossene Einheit mit getrennten Stammsätzen und vollstMandant ändigen Satz allen Datens ätzen wird ein Mandantenschlüssel mitgef ührt, der die einem vollständigen vonMandanten Tabellen. In allen Datensätzen wird ein Mandantenschlüssel Trennung der Datens Satz ätze nach gewährleistet . der die derjeder Datensätze gew ährleistet. ? mitgeführt, Beim Anmelden amTrennung System muss Benutzer nach einen Mandanten Mandantenschlüssel angeben. Damit legt er fest, in welchem Mandanten er arbeiten möchte. Alle Eingaben werden getrennt nach Mandanten gespeichert. • Die Verarbeitung undSystem Auswertung der jeder DatenBenutzer geschieht einen ebenfalls getrennt nach Mandanten. Es ist Damit Beim Anmelden am muss Mandantenschlüssel angeben. beispielsweise nicht möglich, Debitorenkonten unterschiedlicher Mandanten in einem Mahnlauf legt er fest, in welchem Mandanten er arbeiten möchte. Alle Eingaben werden getrennt nach auszuwerten gespeichert. Die und Auswertung derjeden Daten geschieht ebenfalls ? Mandanten Die Zugangsberechtigung wird Verarbeitung getrennt nach Mandanten vergeben. Für Benutzer muss in dem getrennt nach Mandanten. ist beispielsweise nicht möglich, Mandanten, in dem er arbeitenEs möchte, ein Benutzerstammsatz angelegtDebitorenkonten werden. unterschiedlicher Mandanten in einem Mahnlauf auszuwerten ? Anwendungsbeispiel: Mutergesellschaft / Konzern • Die Zugangsberechtigung wird getrennt nach Mandantenvergeben. Für jeden Benutzer muss in dem Mandanten, in dem er arbeiten möchte, ein Benutzerstammsatz angelegt werden. • Anwendungsbeispiel: Muttergesellschaft / Konzern Quelle: SAP AG ( Hrsg): R/3 Online-Dokumentation FHDW Bergisch Gladbach, 07.06.2006 3.4 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 89 Überblick SAP FI: Stammdaten / Organisation Buchungskreis (obligatorisch) ? ? ? ? ? ? Ein Buchungskreis ist die kleinste organisatorische Einheit, f ür die eine vollst ändige in sich abgeschlossene Buchhaltung abgebildet werden kann. Dies beinhaltet die Erfassung aller buchungspflichtigen Ereignisse und die Erstellung aller Nachweise f ür einen gesetzlichen Einzelabschluss, wie Bilanz sowie Gewinn- und Verlustrechnung. Die Einrichtung mindestens eines Buchungskreises ist obligatorisch. Für jeden Mandanten k önnen mehrere Buchungskreise eingerichtet werden, um die Buchhaltung mehrerer selbständiger Firmen gleichzeitig f ühren zu können. I.d.R. wird eine rechtlich selbständige Gesellschaft durch genau einen Buchungskreis im SAP-System vertreten. Die Definition des Buchungskreises beinhaltet jedoch auch, dass durch ihn eine handelsrechtlich unselbständige Betriebsstätte dargestellt wird. Dies ist z.B. dann erforderlich, wenn diese Betriebsstätte in einem anderen Land liegt und auch dessen Währung und steuerrechtlichen Anforderungen erf üllen muss. In der Buchhaltung werden die Gesch äftsvorfälle grunds ätzlich auf der Ebene des Buchungskreises erfasst, gespeichert, weiterverarbeitet und die Konten gef ührt. Eine weitere Untergliederung ist durch interne Organisationsstrukturen möglich. Jeder Buchungskreis verwendet genau einen Kontenplan . Ein Kontenplan kann jedoch von mehreren Buchungskreisen benutzt werden. Kontenplan (obligatorisch) • Der Kontenplan im R/3-System ist ein Verzeichnis aller Sachkontenstammsätze, die in einem Buchungskreis oder in mehreren Buchungskreisen benötigt werden. Der Kontenplan enthält zu jedem Sachkontenstammsatz die Kontonummer, die Kontobezeichnung und steuernde Informationen Quelle: SAP AG ( Hrsg): R/3 Online-Dokumentation FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 90 45 3.4 Überblick SAP FI: Stammdaten / Organisation Geschäftsbereich (optional) • • • • Der Geschäftsbereich ist eine wirtschaftlich gesondert zu betrachtende Einheit, f ür die eine interne Bilanz und Gewinn - und Verlustrechnung erstellt werden kann (z.B. Produktsparten). Der Geschäftsbereich ist jedoch nur eine interne Organisationsstruktur und hat keinen Außenwirkungscharakter. An eine interne Bilanz werden nicht alle Anforderungen gestellt, die an eine offenzulegende Bilanz und GuV gestellt werden. Diese Anforderungen wären f ür die interne Bilanz und GuV nur mit einem hohen Buchungsaufwand zu erf üllen und sind f ür das interne Berichtswesen nicht erforderlich. Geschäftsbereiche können buchungskreisübergreifend definiert werden Geschäftsbereiche werden nicht in den Stammdaten sondern in den Belegen mitgef ührt. Kreditkontrollbereich (optional) • Mit dem Kreditkontrollbereich wird eine organisatorische Einheit abgebildet, die f ür Debitoren ein Kreditlimit vorgibt und kontrolliert. Ein Kreditkontrollbereich kann einen oder mehrere Buchungskreise umfassen. Eine Unterteilung eines Buchungskreises in mehrere Kreditkontrollbereiche ist nicht m öglich. Mahnbereich (optional) • Mahnbereiche werden verwendet, wenn f ür die Abwicklung des Mahnwesens innerhalb eines Buchungskreises mehrere Organisationseinheiten zuständig sind (z.B. Sparte, Verkaufsorganisation oder Geschäftsbereich). Die Steuerung des Mahnverfahrens und die Durchf ührung der Mahnungen erfolgt dann getrennt nach Mahnbereichen. Quelle: SAP AG ( Hrsg): R/3 Online-Dokumentation FHDW Bergisch Gladbach, 07.06.2006 3.4 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 91 Überblick SAP FI: Stammdaten / Organisation Organisationsstrukturen: Zuordnungsbeispiel: Kreditkontrollbereich 01 Kostenrechnungskreis 1 BUKR 0001 BUKR 0002 BUKR 0003 Geschäftsbereich 01 / Mahnbereich 01 Geschäftsbereich 02 / Mahnbereich 02 Kontenplan A Kontenplan B Mandant FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 92 46 3.5 SAP: Ausgewählte Aspekte der Integration (Mitbuchtechnik) Hauptbuchhaltung ? Zentrale Aufgabe: Gesamtdarstellung des externen Rechnungswesens ? Voraussetzung: Jederzeit vollständige und abgestimmte Kontenführung ? Wesentliche Leistungsmerkmale : ? freie Wahl der Konzern- oder Firmenebene ? automatisches Mitbuchen aller Posten der Nebenbücher in der Hauptbuchhaltung (Abstimmkonten) ? gleichzeitiges Fortschreiben des Hauptbuches und der Kostenrechnungsbereiche ? zeitnahes Auswerten und Berichten des aktuellen Buchungsstoffes in Form von Kontendarstellungen, Ergebnisrechnungen mit unterschiedlichen Bilanzversionen und Zusatzanalysen. Nebenbuchhaltung Debitor Hauptbuchhaltung Forderungen Erlös „Mitbuchkontentechnik “ Automat. Mitbuchung Kreditor FHDW Bergisch Gladbach, 07.06.2006 Verbindlichkeiten Prof. Dr. Stößel; Wirtschaftsinformatik 2 Aufwand Folie 93 3.5 SAP: Ausgewählte Aspekte der Integration (Mitbuchtechnik) Mitbuchkonto Kreditor: Verbindlichkeiten (160000) FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 94 47 3.5 SAP: Ausgewählte Aspekte der Integration (FI/CO) Primäre Kostenarten/Erlösarten • Primäre Kosten-/Erlösarten sind kosten- bzw. erlösrelevante Positionen des Kontenplans , für die im Finanzwesen entsprechendes Sachkonto vorhanden ist. ein • Sie können nur dann angelegt werden, wenn sie zuvor im Kontenplan als Sachkonto verzeichnet und im Finanzwesen als Konto angelegt wurden Sekundäre Kostenarten /Erlösarten • Sekundäre Kostenarten lassen sich ausschließlich in der Kostenrechnung anlegen und verwalten • Sie dienen der Abbildung des innerbetrieblichen Werteflusses z.B. bei innerbetrieblichen Leistungsverrechnungen • Beim Anlegen von sekundären Kostenarten pr üft das System, ob das Konto bereits im Finanzwesen vorhanden ist. Ist dies der Fall, so kann die sekund äre Kostenart in der Kostenrechnung nicht angelegt werden. Quelle: SAP AG ( Hrsg): R/3 Online-Dokumentation Integration FI - CO Finanzbuchhaltung Controlling primäre Kostenart Aufwandskonto sekundäre Kostenarten = FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 95 3.5 SAP: Ausgewählte Aspekte der Integration (FI/CO) © SAP AG FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 96 48 3.5 SAP: Ausgewählte Aspekte: Technische Grundlagen, Grundstruktur des 3-Lagen-Konzepts (Client-Server-Modell) Softwareorientierte Sicht Hardwareorientierte Sicht Präsentation SAPGUI Anwendung Dispatcher Skalierbarkeit Workprozess Workprozess Datenbank Datenbank FHDW Bergisch Gladbach, 07.06.2006 3.5 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 97 SAP: Ausgewählte Aspekte: Anpassbarkeit Customizing Einstellung/Auswahl vorgegebener Parameter ohne Veränderung oder Erweiterung des Programmcodes Erweiterung Realisierung individueller funktionaler Erweiterungen unter Verwendung dafür vorgesehener Schnittstellen Modifikation Veränderungen des Quellcodes der Standardsoftware sowie funktionale Erweiterungen an nicht dafür vorgesehenen Schnittstellen FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 98 49 3.6 ERP im Mittelstand: Anschaffungsgründe Die wesentlichen Gr ünde, aus denen die Unternehmen zur Anschaffung von Standardsoftware (gegenüber Individualsoftware) tendieren, lassen sich wie folgt zusammenfassen: ? Kauf ist in der Regel kostengünstiger als Eigenentwicklung. ? Standardsoftware ist sofort verfügbar und kann deshalb in kürzerer Zeit eingeführt werden als Eigenentwicklungen. ? Durch den Erwerb von Standardsoftware lassen sich Anwendungen auch realisieren, wenn im Unternehmen kein oder nicht entsprechend qualifiziertes IV-Personal vorhanden ist. Für kleine und mittlere Unternehmen ist deswegen die Anschaffung von Standardsoftware der Regelfall. ? Die bei der Entwicklung von Anwendungssystemen häufig auftretenden Risiken (Abstimmungsprobleme, Ausfall von Projektbearbeitern, Terminüberschreitungen) entfallen bzw. liegen nicht beim Anwender. ? Aufgrund der größeren Erfahrungen der Programmierer des Anbieters ist Standardsoftware häufig (idealtypisch) von besserer Qualität als Eigenentwicklungen. FHDW Bergisch Gladbach, 07.06.2006 3.6 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 99 ERP im Mittelstand: Auswahlkriterien ? Fachinhaltliche Kriterien: Leistungsumfang (Funktionalität), Schnittstellen zu anderen Anwendungen, Unterstützung von Geschäftsprozessen, Schnittstellen zu Bürowerkzeugen ? Kriterien zur Hardware und zur Systemsoftware ("Plattform"): Rechner- bzw. Prozessorvoraussetzungen, Betriebssystem, systemnahe Software (z. B. Datenbankverwaltungssystem), Netzfähigkeit, Nutzbarkeit in Client/Server-Modellen ? Benutzerbezogene Kriterien: Benutzerfreundlichkeit, Abfragemöglichkeiten, individuelle Gestaltbarkeit ? Kriterien zur Systemeinführung und zum Systemeinsatz: Anpassungsaufwand, Schulung, Testinstallationen, Unterstützung, Wartung, Qualität der Dokumentation (Online, Handbücher) ? Kriterien zur Anschaffung: Lieferzeit, Kaufpreis, Wartungskosten, Zusatzkosten (Schulung, Handbücher), Vertragsbedingungen, Rücktrittsrechte, Garantien ? Kriterien über den Anbieter: Ansehen, Qualifikation, Solidität, Branchenerfahrung, geographische Nähe, Referenzen FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 100 50 Besprechung Übungen MS Access FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 101 Besprechung Übungen MS Access FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 102 51 Besprechung Übungen MS Access FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 103 Besprechung Übungen Access FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 104 52 4 Internet ? Entwicklung, Grundlagen ? Architektur, Technologie, Sicherheit ? Dienste ? Recherche ? Fortsetzung im Skript WIN3 FHDW Bergisch Gladbach, 07.06.2006 Prof. Dr. Stößel; Wirtschaftsinformatik 2 Folie 105 53