DV in der Lager- und Transportwirtschaft Vorlesungsunterlagen Prof. Dr. Heinz-Michael Winkels 1999 Gliederung 1. Tabellenkalkulation mit EXCEL 1. ABC-Analysen 1. Schwerpunktbildung 2. ABC-Analysen mit EXCEL 2. Bedarfsermittlung 1. Bestellmengenermittlung 2. Berechnung der Bestellmengen 3. Berechnung des Sicherheitsbestandes 4. Beispiel zur Bestandsplanung 5. Normreichweiten 6. Bestandsplanung mit EXCEL 3. Kosten-Nutzen-Analysen 5 13 Übungen 21 29 33 41 45 49 Übungen Übungen 2. Datenbank-Anwendungen mit ACCESS und ORACLE 1. Datenstrukturen 1. Datenbanken 2. Normalisierung 2. Auftragsabwicklung mit MS-ACCESS 3. Einführung in ORACLE 95 1. Strukturierte Abfragsprache (SQL) mit ORACLE 2. Anwendungen der ODBC-Schnittstelle 51 63 87 Übungen Übungen Übungen 3. Einführung in UNIX/ LINUX 1. 2. 3. 4. UNIX/Linux-Crash-Kurs Schwerpunkte der Unix/Linux-Befehlsstruktur Datenmanipulation mit UNIX Beispiele zur C-Shell-Programmierung 135 Übungen Übungen Übungen 4. Optimierungsanwendungen mit GAMS 1. Einführung in GAMS 2. Beispiele zu GAMS 149 Übungen -3- -4- DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 1 1 Bestandsplanung und -steuerung: ABC Analysen DV in der Produktion Bestandsplanung und -steuerung Methodik der ABC - Analyse Dortmund, Oktober 1998 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund CPMKostenplanung.ppt/HMW/25.05.2002 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund 1 Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX: (0231)755-4902 Bestandsplanung und -steuerung: ABC Analysen DV in der Produktion Inhalt Seite Ziele einer ABC-Analyse 3 Anwendungsgebiete einer ABC-Analyse 4 Verwendete Kriterien in einer ABC-Analyse 5 Empirische Grundlage der Methodik 6 Ablauf einer ABC-Analyse 8 Beispiel einer Bedarfsanalyse 9 Die Berücksichtigung kritischer Artikel 12 XYZ - Analyse 13 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 2 CPMKostenplanung.ppt/HMW/25.05.2002 -5- DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 1 2 Bestandsplanung und -steuerung: ABC Analysen DV in der Produktion Ziele einer ABC - Analyse Eine ABC - Analyse zielt ab auf Unterscheidung des Wesentlichen vom Unwesentlichen Lenkung der Aktivitäten – schwerpunktmäßig auf den Bereich hoher wirtschaftlicher Bedeutung und – gleichzeitige Aufwandssenkung für die übrigen Gebiete durch Vereinfachungsmaßnahmen Effizienzsteigerung von Management - Maßnahmen durch die Möglichkeit eines gezielten Einsatzes Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 3 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: ABC Analysen DV in der Produktion Anwendungsbereiche einer ABC-Analyse Bestellwesen – Wer bestellt wie bei welchem Bestellvolumen – Welche Lieferanten Auftragswesen – Auftragsvolumen – Kundenbedeutung Lagerwesen (Bestandsplanung und steuerung) – Welche Artikel – Welcher Lagerplatz Permanente Inventur – Welcher Artikel Lieferantenbewertung – Welche Lieferanten Wertanalyse – Welche Produkte sollen hergestellt werden Materialflußanalyse – Welche Prozesse Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 4 CPMKostenplanung.ppt/HMW/25.05.2002 -6- DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 1 3 Bestandsplanung und -steuerung: ABC Analysen DV in der Produktion Verwendete Kriterien in einer ABC-Analyse Grundsätzlich Umsatz Gewinn Kundenstruktur Herstellkosten Ausschuß etc. Insbesondere in der Logistik/Materialwirtschaft Anzahl und Wert der beschafften Artikel bzw. -gruppen Anzahl und Wert der abgesetzten Artikel bzw. -gruppen Anzahl der lieferanten und Umsatzwert der Lieferanten Anzahl und Wert der Einzelteile einer im Rahmen einer Wertanalyse zu untersuchenden Erzeugnisse Anzahl und Wert der Umschlagshäufigkeit Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 5 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: ABC Analysen DV in der Produktion Empirische Grundlage einer ABC-Analyse A B C 5% 10% 85% aller Artikel entsprechen 80% des Wertes aller Artikel entsprechen 15% des Wertes aller Artikel entsprechen 5% des Wertes A B C 5% 10% 85% aller Lieferanten entsprechen 80% aller Artikel aller Lieferanten entsprechen 15% aller Artikel aller Lieferanten entsprechen 5% aller Artikel Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 6 CPMKostenplanung.ppt/HMW/25.05.2002 -7- DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 1 4 Bestandsplanung und -steuerung: ABC Analysen DV in der Produktion ... Empirische Grundlage einer ABC-Analyse Lorenzkurve zur Kennzeichnung der Umsatzkonzentration in verschiedene Branchen Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 7 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: ABC Analysen DV in der Produktion Ablauf einer ABC-Analyse Schritt 1: Erfassung des mengen- bzw. wertmäßigen Gerüstes Schritt 2: Sortierung in numerisch aufsteigender Rangfolge gemessen Am verwendeten Kriterium (Anzahl bzw. Wert) Schritt 3: Zusammenfassen in sinnvolle Gruppen: A, B, C (und manchmal auch D) Wiederholung der ABC - Analyse in regelmäßigen Abständen (2-3 mal pro Jahr) Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 8 CPMKostenplanung.ppt/HMW/25.05.2002 -8- DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 1 5 Bestandsplanung und -steuerung: ABC Analysen DV in der Produktion Beispiel einer Bedarfsanalyse Schritt 1: Erfassen des mengenmäßigen Bedarfs WerkstoffNummer Bedarf je Jahr ST./m/kg 51 52 53 54 55 56 57 58 59 60 Preis je Einheit 100 16 000 1 000 5 000 700 700 100 18 000 20 000 32 500 312,50 1,60 2,80 1,05 5,50 7,10 22,00 0,05 0,08 0,07 Jahresbedarf DM Rang 31 250,25 600,2 800,5 250,3 850,4 970,2 200,900,1 600,2 275,- 1 2 6 3 5 4 8 10 9 7 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 9 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: ABC Analysen DV in der Produktion ... Beispiel einer Bedarfsanalyse Schritt 2: Sortieren der Bedarfszahlen in numerisch aufsteigender Reihenfolge : Rang 1 2 3 4 5 6 7 8 9 10 WerkstoffNummer Bedarf je Jahr in DM %-Anteil vom GesamtWert %-Anteil kumuliert 51 52 54 56 55 53 60 57 59 58 31 250,25 600,5 250,4 970,3 850,2 800,2 275,2 200,1 600,900,- 38,7 31,7 6,5 6,2 4,8 3,4 2,8 2,7 2,0 1,2 38,7 70,4 76,9 83,1 87,9 91,3 94,1 96,8 98,8 100,0 Wert Gruppe A A B B B C C C C C 80 695,Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 10 CPMKostenplanung.ppt/HMW/25.05.2002 -9- DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 1 6 Bestandsplanung und -steuerung: ABC Analysen DV in der Produktion ... Beispiel einer Bedarfsanalyse Schritt 3: Zusammenfassen von Wertgruppen Wertgruppe A B C WerkstoffPositionen %-Anteil Menge (Positionen) %-Anteil Wert DM Wert 2 3 5 20 30 50 70,4 17,5 12,1 56 850,14 070,9 775,- 10 100 100,0 80 695,- Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 11 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: ABC Analysen DV in der Produktion Die Berücksichtigung kritischer Werte Umsatzklasse u. prozentual. Anteil der Artikel (1) Rangordnung der Artikel nach Umsatzanteilen (2) Umsatz in $ Umsatz in % (3) (4) 56 A-Artikel 20% 1 2 20000 18000 B-Artikel 40% 3 4 5 6 8000 6000 5000 4000 C-Artikel 40% 7 8 9 10 3000 2500 1000 500 34 10 krit. Wert 1 2 3 (5) Bewertung der Artikel n. Umsatz u. krit. Wert (6)=(2)*(5) 3 2 6 12 5 12 21 8 18 10 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 12 CPMKostenplanung.ppt/HMW/25.05.2002 - 10 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 1 7 Bestandsplanung und -steuerung: ABC Analysen DV in der Produktion Die XYZ-Analyse als Erweiterung der ABC-Analyse Aufteilung der Artikel in drei Gruppen: X: konstantes Handling Y: schwankendes Handling Z: völlig unregelmäßiges Handling Verbrauch Handling: Kriterium: VK = % Wareneingang Warenausgang Standardabweichung * 100 Mittelwert prozentualer Variationskoeffizient Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 13 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: ABC Analysen DV in der Produktion ... Die XYZ-Analyse als Erweiterung der ABC-Analyse ME 30 27 24 x 21 1 n * xi n i 1 Mittelwert 18 s2 15 x xi 12 n 1 * ( x xi ) 2 n 1 i 1 9 VK % 6 s *100 x Varianz prozentualer Variationskoeffizient 3 1 5 10 n Wochen Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 14 CPMKostenplanung.ppt/HMW/25.05.2002 - 11 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 1 8 Bestandsplanung und -steuerung: ABC Analysen DV in der Produktion ... Die XYZ-Analyse als Erweiterung der ABC-Analyse XYZ-Analyse Z AZ BZ CZ AX: wichtige Artikel mit konstanten Handling Y AY BY CY ... X AX BX CX CZ: unwichtige Artikel A B C mit ungleichmässigem Handling ABC-Analyse Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 15 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: ABC Analysen DV in der Produktion ABC-Analyse mit Datentransfer Mainframe PC 1. Strukturierung der gewünschten Daten: z.B. Lagernr. Artikelnr. Absatzmenge Bestandsmenge 2. Auf Mainframe wird Programm zur Erzeugung einer ASCII-Datei geschrieben. 3. Datentransfer Mainframe - PC: Diskette, Modem, Kabel, ... 4. Umstrukturierung der Mainframe Daten zur Einlesbarkeit in PC-Datenbank 5. Einlesen der hergerichteten Daten in die PC-Datenbank 6. ABC-Analyse mit PC-Software Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 16 CPMKostenplanung.ppt/HMW/25.05.2002 - 12 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 1.1 1 Bestandsplanung und -steuerung: Schwerpunktbildung DV in der Produktion Bestandsplanung und -steuerung: Schwerpunktbildung Dortmund, Oktober 1998 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund CPMKostenplanung.ppt/HMW/25.05.2002 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund 1 Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX: (0231)755-4902 Bestandsplanung und -steuerung: Schwerpunktbildung DV in der Produktion Inhalt Seite ABC-Bedarfsanalyse 3 Moderne Bestellpolitik 7 ABC-Umsatzanalyse 8 XYZ-Handlingsanalyse 9 ABC/XYZ-Bestellpolitik 10 Reichweiten/WiederbeschaffungszeitAnalyse 12 Wiederbeschaffungszeit/beschaffungswertAnalyse 13 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 2 CPMKostenplanung.ppt/HMW/25.05.2002 - 13 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 1.1 2 Bestandsplanung und -steuerung: Schwerpunktbildung DV in der Produktion ABC-Bedarfsanalyse Vorgabe: Bewertungsmaßstab (Wert, Volumen, Gewicht) Bewertungsmaßstab 100% 95% 80% C B A Konsequenz: 15% 100% 50% Artikel C-Artikel: A-Artikel: Optimale Bestellmenge genau berechnen Bestandsentwicklung sorgfältig überwachen Markt- und Kundeninformationen für bedarfsgerechte Disposition Optimale Bestellmenge schätzen periodische Ermittlung Disposition eines Mehrperiodenbedarfs Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 3 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Schwerpunktbildung DV in der Produktion ... ABC-Bedarfsanalyse A-Artikel: Hochwertige Stoffe, die eine permanente Beobachtung in jeder Beziehung erfordern: Durchführung genauer Marktanalysen Ständige Marktbeobachtung Sorgfältige Lieferantenauswahl Gründliche Bestellvorbereitung Langfristige Verträge Abkürzung der Beschaffungszeiten Genaue Terminüberwachung Schneller innerbetrieblicher Durchlauf Abkürzung der Lagerzeiten (häufiger bestellen bzw. abrufen) Rascher Rechnungsdurchlauf (Skontoausnutzung) Intensive Rechnungsprüfung Konsequenz: Bestände gezielt reduzieren (Reduzierung der Losgrößen) Sicherheitsrisiko nicht erhöhen (rechtzeitige Disposition) Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 4 CPMKostenplanung.ppt/HMW/25.05.2002 - 14 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 1.1 3 Bestandsplanung und -steuerung: Schwerpunktbildung DV in der Produktion ... ABC-Bedarfsanalyse C-Artikel: Niedrige, umsatzschwache Teile, für die der notwendige Aufwand zu minimieren ist Marktanalyse und -beobachtung in vereinfachter Form Vereinfachte Disposition (Steuerung über Verbrauch) Lagerbestandsprüfung vereinfachen Unsicherheitsbestände großzügig festlegen Vereinfachte Bestellverfahren Vereinfachte Prüfverfahren (sowie technisch zulässig) Einführung von monatlichen Sammelrechnungen (bei Lieferanten, mit denen ständige Geschäftsverbindungen bestehen) Reduktion der Bestellhäufigkeit Zeit gewinnen für wichtigere Tätigkeiten durch geringeren Bestellaufwand Ausnahme: K- Artikel ( kritische Artikel) Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 5 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Schwerpunktbildung DV in der Produktion ... ABC-Bedarfsanalyse B-Artikel: Hier muß ein Mittelweg zwischen A und C gefunden werden, d.h. es sind geringere Prioritäten als bei den A-Artikel zu setzen Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 6 CPMKostenplanung.ppt/HMW/25.05.2002 - 15 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 1.1 4 Bestandsplanung und -steuerung: Schwerpunktbildung DV in der Produktion Ansatz moderner Bestellpolitik A-Artikel: kommen möglichst nach Just-in-time-Bestellung sofort in den Absatz bzw. in die Produktion B-Artikel: werden nach wirtschaftlichen Losgrössen bestellt C-Artikel: werden nach dem Behälterprinzip behandelt Behälter1: Behälter 2: nachbestellen, wenn leer Von hier nur entnehmen, wenn Behälter 1 leer ist möglichst ohne Zettelwirtschaft/Kanbans: optisch: Just-as-needed Ausnahme: K-Artikel (kritische oder strategisch wichtige Artikel) Geringwertig, aber besonders zu beachten: Behandlung wie A-Artikel Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 7 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Schwerpunktbildung DV in der Produktion ABC-Umsatzanalyse Selektive Lagerhaltung A-Artikel sind so umsatzstark, daß es gerechtfertigt ist, sie in allen Lokalen Lagern zu lagern B-Artikel sind weniger umsatzstark und werden in wenigen, ausgesuchten regionalen Auslieferungslagern gelagert C-Artikel werden wegen des geringen Umsatzes nur im Fabriklager gelagert D-Artikel haben einen so niedrigen Anteil am Umsatz, daß sie überhaupt nicht auf Lager gehalten und nur auf Bestellung hergestellt werden Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 8 CPMKostenplanung.ppt/HMW/25.05.2002 - 16 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 1.1 5 Bestandsplanung und -steuerung: Schwerpunktbildung DV in der Produktion Strukturierung der Artikel nach XYZ-Analyse Informationen über die Verbrauchsschwankung eines Artikels pro Saison. (Variationskoeffizient V = relative Streuung um den mittleren Verbrauch Vorgabe: Variationskoeffizient 100 % X: 0% <= V <= 10% Y: 10% < V <= 25% Z: 25% < V <= 100% 25 % 10% 10% 57% 85% Anteil Artikel 100% Konsequenz: X-Artikel Y-Artikel Z-Artikel konstanter Verbrauch nur gelegentliche Schwankungen hohe Vorhersagegenauigkeit mässige Verbrauchsschwankungen mittlere Vorhersagegenauigkeit unregelmässiger Verbrauch niedrige Vorhersagegenauigkeit Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 9 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Schwerpunktbildung DV in der Produktion Disposition nach ABC/XYZ-Struktur (in saisonaler Abhängigkeit) Verbrauchs -regelmäßigkeit Verbrauchswert hoch A hoch niedrig X Y deterministische Bedarfsermittlung deterministische Bedarfsermittlung terminbezogene Beschaffungsauslösung bestands- und bedarfsbezogene Beschaffungsauslösung niedrig deterministische Bedarfsermittlung bedarfsbezogene Beschaffungsauslösung Fallweise wie A- oder C-Teile B C Z stochstische Bedarfsermittlung Stochastische Bedarfsermittlung terminbezogene Beschaffungsauslösung termin- und bestandsbezogene Beschaffungsauslösung Stochastische und/oder deterministische Bedarfsermittlung bestands- und bedarfsbezogene Beschaffungsauslösung Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 10 CPMKostenplanung.ppt/HMW/25.05.2002 - 17 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 1.1 6 Bestandsplanung und -steuerung: Schwerpunktbildung DV in der Produktion ... Disposition nach ABC/XYZ-Struktur : Beispiel mittlerer mittlererWert Wert BB •Produktionsmenge periodenweise planen •Schwankungen durch Kapazitätsanpassung kompensieren •Material den Plänen entsprechend beschaffen •Lagerreichweite: min. 1 Tage / max. 4 Tage niedriger niedrigerWert Wert CC •Produktionsmenge pro Periode nach den Vergangenheitswerten schätzen •Lagerreichweite: min. 3 Tage / max. 12 Tage A- o der C-T •Produktion nach Lagerbestand steuern •Lagerreichweite: min. 5 Tage / max. 20 Tage igke it wie •Produktionsmenge periodenweise planen •Verfügbarkeit durch Kapazitätsanpassung und Fertigwarenlager sicherstellen •Lagerreichweite: min. 2 Tage / max. 6 Tage •Produktionsmenge periodenweise planen •Produktverfügbarkeit durch Kapazitätsanpassungund Fertigwarenlager sicherstellen •Lagerreichweite: min. 4 Tage / max. 10 Tage je na ch Z wec kmä ß YY ZZ sehr unregelmäßig sehr unregelmäßig Absatz Absatz eil XX konstant konstant hoher hoherWert Wert AA •Produktion nur nach Auftrag •keine Lagerbestände Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 11 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Schwerpunktbildung DV in der Produktion Reichweiten/Wiederbeschaffungszeit-Analyse Wiederbesch.zeit hoch mittel Y X Reichweite hoch A Handlungsbedarf niedrig Z dringender Handlungsbedarf mittel Handlungsbedarf B niedrig C Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 12 CPMKostenplanung.ppt/HMW/25.05.2002 - 18 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 1.1 7 Bestandsplanung und -steuerung: Schwerpunktbildung DV in der Produktion Wiederbeschaffungszeit/Beschaffungwert-Analyse •einfache Bestellmengenrechnung z.B. Schätzen •genaue Bestandsüberwachung •Stichprobenprüfung • beachten von Mengenrestriktionen wie Rabatte etc. •Lieferantenbewertung • Sicherheitsbestände •partnerschaftliche Zusammenarbeit mit Lieferanten (QS-Vereinbarungen) • einfache Qualitätsprüfung -Teil XX •einfache Bestandsüberwachung z.B. Sichtkontrolle •kleine Mengen auf Abruf (Abrufverträge) A- o der C •Berechnung der optimalen Bestellmenge • genaue Bestandsüberwachung •Stichprobenmenge erhöhen um eine größere Prüfsicherheit zu gewähren •kleine Mengen auf Abruf •partnerschaftliche Zusammenarbeit mit Lieferanten (QS-Vereinbarungen) • je nach Zweckmäßigkeit wie CX oder CZ wec • partnerschaftliche Zusammenarbeit mit Lieferanten (QS-Vereinbarungen) je na ch Z •Lieferantenbewertung •keine Lieferantenbewertung kmä ßigk eit w ie •kleine Mengen auf Abruf ZZ niedriger niedrigerWert Wert CC •Berechnung der optimalen Bestellmenge •Lieferantenbewertung lang mittlerer mittlererWert Wert BB •kleine Sicherheitsbestände YY mittel Wiederbeschaffungszeit Wiederbeschaffungszeit kurz hoher hoherWert Wert AA •genaue Terminkontrollen •Beachtung von Rabattmengen, Kursen •Meldebestandsverfahren als Bestellauslösung • Bestandsüberwachung •genaue Bestandsüberwachung •strenge Qualitätskontrollen •Sicherheitsbestände großzügig bemessen •Sicherheitsbestände genau berechnen •keine Lieferantenbewertung •strenge Lieferantenauswahl Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 13 CPMKostenplanung.ppt/HMW/25.05.2002 - 19 - - 20 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2 1 Bestandsplanung und -steuerung: Bedarfsermittlung DV in der Produktion Bestandsplanung und -steuerung: Die Bedarfsermittlung Dortmund, Oktober 1998 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund CPMKostenplanung.ppt/HMW/25.05.2002 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund 1 Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX: (0231)755-4902 Bestandsplanung und -steuerung: Bedarfsermittlung DV in der Produktion Inhalt Seite Integrierte Unternehmensplanung 3 Planungszusammenhänge 4 Planungsinhalte 5 Methoden der Bedarfsermittlung 6 Methodenübersicht 7 Stochastische Bedarfsermittlung 8 Rollierende Planung 13 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 2 CPMKostenplanung.ppt/HMW/25.05.2002 - 21 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2 2 Bestandsplanung und -steuerung: Bedarfsermittlung DV in der Produktion Die Bedarfsplanung innerhalb der integrierten Unternehmensplanung Unternehmensziele Unternehmensstrategie Entwicklungsplan Absatzplan Finanzplan Investitionsplan Kapazitätsplan Bedarfsplan ("machbarer" Beschaffungsplan) Einkaufsplan Produktionsplan Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 3 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Bedarfsermittlung DV in der Produktion Planungszusammenhänge Entwicklungsplanung Verkaufsprognose Finanzplanung Verkaufsplanung Kapazitätsplanung Planung der Materialwirtschaft Vorratsplanung Bedarfs- Produktionsplanung auflösung Abweichungen Produktionsaufträge Material- Einkauf disposition Beständeabrechnungen Materialanforderungen Lieferanten Wareneingänge Produktionsstufe 1 Materiallager Produktionsstufe n Halbfabrikatenlager Wareneingang Versand Montage Fertigungssteuerung Fertigproduktelager Lagerwirtschaft Kunde Informationsfluß Lieferservice physischer Material- und Warenfluß Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 4 CPMKostenplanung.ppt/HMW/25.05.2002 - 22 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2 3 Bestandsplanung und -steuerung: Bedarfsermittlung DV in der Produktion Planungsinhalte Kunden Lieferanten Produktion - Aufträge - Prognosen - eigene Kapazitäten - fremde Kapazitäten Einkauf Produktion - Durchlaufzeiten Vertrieb - Aufträge - Wiederbeschaffungs- - Vertriebsplan zeiten Fertigungsplanung Logistik - Fertigungsdurchlaufzeiten - Materialdisposition - Bedarfsplanung Konstruktion - Stücklisten Produktionsplan Stamm- und Strukturdaten - Material-Stamm Bedarfsermittlung Bestandsdaten - Lagerbestand - Reservierungsbestand - Bestellbestand - Logik der Stücklisten- - Teile-Stamm - Artikel-Stamm auflösung - Vorlaufzeiten -Nettobedarfsrechnung Aktivitätenlisten - Was beauftragen? - Was beschleunigen? - Was stornieren? - Ist der PP realistisch? Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 5 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Bedarfsermittlung DV in der Produktion Methoden der Bedarfsermittlung Deterministische Bedarfsermittlung Stochastische Bedarfsermittlung Verbrauch Heuristische Bedarfsermittlung ? Heute Zeit exakte Bedarfsermittlung nach Menge und Termin auf Basis konkreter Aufträge oder Produktionsprogramm Bedarfsermittlung mit Hilfe von Bedarfsprognosen auf Basis statistischer Auswertungen Bedarfsermittlung auf Basis subjektiver Schätzungen des Disponenten Einsatzbeispiele: - DLZ<LZ - hochwertige Güter - kundenspezifische Güter - ... Einsatzbeispiele: - DLZ>LZ - geringerwertige Güter - standardisierte Güter - ... Einsatzbeispiele: - neue Artikel - unzureichende Datenbasis für stochastische Verfahren - sehr geringwertige Güter - ... DLZ=Durchlaufzeit / LZ=Lieferzeit DLZ=Durchlaufzeit / LZ=Lieferzeit DLZ=Durchlaufzeit / LZ=Lieferzeit Ziel: Verringerung der Lagerbestände Verbesserung des Lieferservice Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 6 CPMKostenplanung.ppt/HMW/25.05.2002 - 23 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2 4 Bestandsplanung und -steuerung: Bedarfsermittlung DV in der Produktion Übersicht über die Methoden zur Bedarfsermittlung Methoden der Bedarfsermittlung Deterministische Bedarfsermittlung Analytische Verfahren Synthetische Verfahren Analogschätzung Methoden der Mittelwertbildung gleitender Mittelwert Heuristische Bedarfsermittlung Stochastische Bedarfsermittlung Methoden der exponentiellen Glättung Intuitivschätzung Regressionsanalyse Gewichteter gleitender Mittelwert exponentielle Glättung 1. Ordnung exponentielle Glättung 2. Ordnung Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 7 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Bedarfsermittlung DV in der Produktion Vorgehensweise bei der stochastistischen Bedarfsermittlung Verbrauch 1 Aufnahme von Zeitreihen Zeit Konstant 2 3 Trend Saison Bestimmung der Verbrauchsmodelle Verfügbare DV-Tools: z.B. LOGSYS und FORSYS Gleitender Mittelwert Auswahl des Prognoseverfahrens Exponentielle Glättung Regressionsanalyse Verbrauch 4 Erstellung der Bedarfsprognose Heute Zeit Verbrauch 5 Beurteilung der Prognosequalität Zeit Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 8 CPMKostenplanung.ppt/HMW/25.05.2002 - 24 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2 5 Bestandsplanung und -steuerung: Bedarfsermittlung DV in der Produktion ...Vorgehensweise bei der stochastistischen Bedarfsermittlung Auftragseingang Auftragseingang (Vergangenheit) (Vergangenheit) Menge Menge Analyse Analyse •trendmäßig? •trendmäßig? •saisonal? •saisonal? •konstant? •konstant? Zeit Wert •Produkte •Produkte und und Ersatzteile Ersatzteile •periodisch •periodisch •12 Monate •12 Monate im voraus im voraus Menge Kapazität Kapazität Prognose Prognose Zeit Zeit Plan-Absatz Plan-Absatz Material Material Ist-Absatz Ist-Absatz Wert Wert Kosten Kosten Zeit Zeit Storgrößen (Krankheit, Fehler, Änderungen, ...) Zeit Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 9 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Bedarfsermittlung DV in der Produktion Exponentielle Glättung Ti Dez 95 Jan 96 Feb 96 Mrz 96 Apr 96 Mai 96 Jun 96 Jul 96 Aug 96 Sep 96 Okt 96 Nov 96 Dez 96 Jan 97 Feb 97 Mrz 97 Apr 97 Mai 97 Jun 97 Jul 97 Aug 97 Sep 97 Okt 97 Nov 97 Dez 97 Jan 98 Vi 60 83 145 96 86 66 78 82 74 97 111 65 47 97 40 46 66 32 40 44 51 47 59 93 129 137 MADi 60 69 100 98 93 82 81 81 78 86 96 84 69 80 64 57 61 49 45 45 47 47 52 68 93 Li Li-Ti Startwert 9 36 20 7 -7 -6 -3 -5 5 13 -5 -17 1 -16 -17 -6 -15 -13 -8 -2 -2 4 19 35 81 144 123 102 82 80 81 78 92 112 83 67 81 63 55 60 48 44 44 47 47 57 92 137 Sum -64,3 48,3 37,2 36,3 3,7 -2,0 6,9 -19,2 -19,3 47,0 36,1 -29,8 41,2 16,5 -10,8 27,9 7,6 0,2 -6,9 0,1 -12,0 -36,4 -37,3 71,0 Prognosewerte unter Einbeziehung des Fehlerprognosewertes MADi Gesamtüberdeckung = Überbestand Prognose für Jan 98 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 10 CPMKostenplanung.ppt/HMW/25.05.2002 - 25 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2 6 Bestandsplanung und -steuerung: Bedarfsermittlung DV in der Produktion ... Exponentielle Glättung Die dargestellten Größen haben folgende Bedeutung: Ti = tatsächlicher Verbrauch in der laufenden Periode i Vi = Vorhersagewert für die laufende Periode i = Glättungsfaktor MADi = Fehlervorhersage Li = Gesamtvorhersage mit Sicherheitsfaktor SF Die benutzten Formeln in der Tabelle sind: = Vi + (Ti - Vi) Vi+1 wobei im Beispiel = 0,4 MADi+1 = MADi + (Ti - Vi - MADi) Li+1 = Vi+1 + SF MADi wobei im Beispiel = 0,4 wobei SF = 0,1 für MADi < 0 und SF = 1,25 für MADi 0! Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 11 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Bedarfsermittlung DV in der Produktion Gleitender Mittelwert Methode gleitender gewichteter Durchschnitt mit p=5 : 0,5; 0,25; 0,15; 0,05; 0,05 Ti Jan 96 Feb 96 Mrz 96 Apr 96 Mai 96 Jun 96 Jul 96 Aug 96 Sep 96 Okt 96 Nov 96 Dez 96 Jan 97 Feb 97 Mrz 97 Apr 97 Mai 97 Jun 97 Jul 97 Aug 97 Sep 97 Okt 97 Nov 97 Dez 97 Jan 98 83 145 96 86 66 78 82 74 97 111 65 47 97 40 46 66 32 40 44 51 47 59 93 129 152 Vi 80 80 80 77 87 99 83 65 80 60 53 58 46 42 42 47 46 53 73 102 (Ti-Vi) |MADi| Li - - - 2 2 6 20 25 34 36 32 40 14 13 26 6 2 9 0 13 40 56 46 9 16 8 22 4 18 16 3 12 10 5 3 1 7 24 40 Li-Ti 98 119 93 92 86 83 73 62 61 55 48 51 47 62 102 152 Sum Prognose für Jan 98 Prognosewerte unter Einbeziehung des Fehlerprognosewertes MADi -13 54 46 -5 46 37 7 30 21 11 -3 4 -12 -31 -27 166 Gesamtüberdeckung = Überbestand Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 12 CPMKostenplanung.ppt/HMW/25.05.2002 - 26 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2 7 Bestandsplanung und -steuerung: Bedarfsermittlung 3** 3*** 4* 4** 4*** 5* 5** 5*** 6* 6** 6*** Prog 7 7* 7** 7*** 8* 8** 8*** 9* 9** 9*** 10* 10** 10*** K K K K Prog 9 K K K Prog 10 K Prog 6 2*** 3* Prog 8 K 2** Prog 5 K 1*** Prog 3 K K Prog 4 Korrektur (Ende 3. Quartal) 1 2 3 4 5 6 7 8 9 10 11 12 Prog 2 Korrektur (Ende 2. Quartal) 12 K Vorhersage Jahresabsatzmenge Produkte (Erstellung durch Verkauf) Korrektur (Ende 1. Quartal) Prog 1 11 Vorhersagezeitpunktpunkt (Jahresabsatz) neue Jahr alte Jahr Ist-Absatz/ Verbrauch Absatz- und Bedarfsprognose DV in der Produktion K 11* 11** K 12* K monatliche monatlicheInfo Info(Monatsende) (Monatsende) an an Vorfertigung Vorfertigung K Einkauf Einkauf Fertigung FertigungGewerbe Gewerbe = Korrekturen durch Kenntnis des Ist-Absatzes/-Verbrauches am Ende des Monats Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 13 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Bedarfsermittlung DV in der Produktion Rollierende Mengenplanung Artikel Nr.: laufendes Jahr Monat 1 2 Budget 8000 8000 Planung 8000 5000 IST-Verkäufe 5000 4000 Bestände 8000 3 4 neues Jahr 5 8000 8000 7000 8000 8000 .... 12 .... 8000 .... 8000 1 5000 2 4000 Jahresbudget VJ LJ Erfüllungsgrad (%) (per) 100000 100000 9% 90000 9000 D at en V o r j ahr 8000 aktueller Monat Eingabemöglichkeit: Karton oder Stück Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 14 CPMKostenplanung.ppt/HMW/25.05.2002 - 27 - - 28 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2.1 1 Bestandsplanung und -steuerung: Andlerformel DV in der Produktion Bestandsplanung und -steuerung: Bedarfsermittlung nach Andler Dortmund, Oktober 1998 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund CPMKostenplanung.ppt/HMW/25.05.2002 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund 1 Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX: (0231)755-4902 Bestandsplanung und -steuerung: Andlerformel DV in der Produktion Inhalt Seite Bestellmengenermittlung 3 Herleitung der Andler-Formel 4 ABC-Analyse und Andler-Formel 5 Weiterentwicklungen 6 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 2 CPMKostenplanung.ppt/HMW/25.05.2002 - 29 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2.1 2 Bestandsplanung und -steuerung: Andlerformel DV in der Produktion Bestellmengenermittlung nach ANDLER-Formel Prämissen Keine Lagerungs- und Finanzierungsrestriktionen konstanter Lagerhaltungskostensatz konstante Bestellmengenfixkosten konstanter Nachfrageverlauf (Lagerabgangsgeschwindigkeit) konstanter Einstandspreis konstanter Bedarf Xopt optimale Bestellmenge Xopt optimale Losgröße iL Lager- und Transportkostenanteil iL Lagerkostenanteil in Prozent in Prozent xges Gesamtbedarf pro Periode xges Gesamtbedarf pro Periode KLief Kosten pro Lieferung KLief Rüstkosten/Auftragswechselkosten p Preis pro ME p Herstellkosten pro ME xopt 200 * K Lief * x ges iL * p Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 3 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Andlerformel DV in der Produktion Herleitung der ANDLER-Formel Kosten DM/Jahr Xopt optimale Bestellmenge iL Lager- und Transportkostenanteil in Prozent xges Gesamtbedarf pro Periode KLief Kosten pro Lieferung p Preis pro ME x xop t KG K B K L K G K Lief * Stück/Lief xges dK G K Lief dx x i * L *p min! 2 100 x ges i * p 0 * 2 L x 2 *100 x xopt 200 * K Lief * x ges iL * p Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 4 CPMKostenplanung.ppt/HMW/25.05.2002 - 30 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2.1 3 Bestandsplanung und -steuerung: Andlerformel DV in der Produktion ABC-Analyse kombiniert mit ANDLER-Formel A-Teile: Umfangreiche Verwaltung sowie Kontrolle schwieriger und aufwendiger als bei B- und C-Teilen B-Teile: Verwaltungs- und Kontrollkosten liegen zwischen denjenigen von A- und C-Teilen C-Teile: Bei Teilen mit geringem Wert (Normteilen) sind Verwaltung- und Kontrollkosten im wesentlichen gleich hoch wie bei A- und B-Teilen. Jedoch sollte hier weniger Aufwand betrieben werden, um die Kosten gering zu halten. X ABC 200 * K ABC * x ges iL * p Beschaffungskosten für A- bzw. B- bzw. C-Teile Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 5 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Andlerformel DV in der Produktion Weiterentwicklungen der ANDLER-Formel Berücksichtigung von: Preisstaffelungen infolge von Mengenrabatten Mindermengenaufpreise Transportkostenstaffelungen preisgünstige Sonderangebote variable Bedarfsmengen variabler Lagerraum variable Finanzierungsrestriktionen Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 6 CPMKostenplanung.ppt/HMW/25.05.2002 - 31 - - 32 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2.2 1 Bestandsplanung und -steuerung: Bestellmengen DV in der Produktion Bestandsplanung und -steuerung: Die Berechnung der Bestellmengen Dortmund, Oktober 1998 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund CPMKostenplanung.ppt/HMW/25.05.2002 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund 1 Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX: (0231)755-4902 Bestandsplanung und -steuerung: Bestellmengen DV in der Produktion Inhalt Seite Zeit - und Mengenverlauf 3 Bestellregeln 4 Bestandsverlauf 5 Die Bestellmenge x 6 Bestellfixe Kosten 7 Lager- und Transportmittelkosten 8 Bestellmengenermittlung 9 Part-Period-Verfahren 10 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 2 CPMKostenplanung.ppt/HMW/25.05.2002 - 33 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2.2 2 Bestandsplanung und -steuerung: Bestellmengen DV in der Produktion Z e it- u n d M e n g e n v e r la u f b e i d e r L a g e r u n g Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 3 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Bestellmengen DV in der Produktion Die verschiedenen Bestellregeln Bei Meldebestand (s, Q) - Regel: Bei Meldebestand optimale Bestellmenge (s, S) - Regel: Bei Meldebestand Ergänzung auf bestimmtes Lagerniveau Zum Bestellzyklus-Termin (t, Q) - Regel: Zum Bestellzyklus-Termin optimale Bestellmenge (t, S) - Regel: Zum Bestellzyklus-Termin Ergänzung auf bestimmtes Lagerniveau Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 4 CPMKostenplanung.ppt/HMW/25.05.2002 - 34 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2.2 3 Bestandsplanung und -steuerung: Bestellmengen DV in der Produktion Bestand mit Nachfrageverlauf und Wiederbeschaffung Lagerbestand Nachfrageverlauf Bestellmenge = x Mittlerer Lagerbestand = x/2 Bestellpunkt N gesamter Durchschnittsbestand W Sicherheitsbestand Zeit Wiederbeschaffungszeit Bestellzyklus N Nachfrage (Bedarf) während der Beschaffungszeit W zur Vereinfachung: konstante Nachfrage pro Zeiteinheit Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 5 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Bestellmengen DV in der Produktion Die Bestellmenge x Teilmenge des Gesamtbedarfs wird zwischen Lieferant und Kunden vereinbart Lieferung erfolgt zu festgelegten Zeiten in gleichen oder schwankenden Abständen Bei kontinuierlicher Nachfrage: durchschnittlicher Lagerbestand = x/2 + Sicherheitsbestand Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 6 CPMKostenplanung.ppt/HMW/25.05.2002 - 35 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2.2 4 Bestandsplanung und -steuerung: Bestellmengen DV in der Produktion Bestellfixe Kosten pro Jahr KB entstehen bei jeder Bestellung sind mengenunabhängig enthalten anteilige Kosten (Formulare, Porto, Telefon, Personal, Energie, Büroeinrichtungen, Büromaschinen, Prüfvorrichtungen) entstehen im Materialeinkauf, in der Materialdisposition, dem Wareneingang, bei der Materialprüfung, der Materialverwaltung, im Rechnungswesen KB KLief * xges x (DM/Jahr) pro Teil KLief bestellfixe Kosten/Lieferung (DM/Lieferung) xges Jahresbedarf (DM/Jahr) x Menge/Lieferung (DM/Lieferung) Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 7 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Bestellmengen DV in der Produktion Lager- und Transportmittelkosten pro Jahr KL sind mengenabhängig enthalten die Kosten des im Lagerbestand gebundenenKapitals enthalten die Anschaffungskosten der Verpackung bei Einsatz von Einwegverpackung bzw. Abschreibungskosten bei Einsatz von Dauerverpackung unter Berücksichtigung der Lebensdauer enthalten die Flächenkosten im Lager unter Berücksichtigung der Abschreibungen für Gebäude und Einrichtungen, Energie, Instandhaltung und aller Nebenkosten KL iL x * *p 100 2 (DM/Jahr) pro Teil x Abrufmenge = Menge/Lieferung iL Lager- und Transportmittelkostenanteil in Prozent pro Teil und Jahr p Preis pro ME (DM/ME) durchschnittlich auf Lager: x Bestellmenge 2 2 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 8 CPMKostenplanung.ppt/HMW/25.05.2002 - 36 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2.2 5 Bestandsplanung und -steuerung: Bestellmengen DV in der Produktion Bestellmengenermittlung Beschaffungskosten Lagerungskosten Stückkosten Stückkosten Beschaffungsmenge Beschaffungsmenge Zinskosten für das in Beständen gebundene Kapital Lagerhaltungskosten resultierend aus: Bestellkosten (Auftragsbearbeitungskosten) Rabatte (evtl. ab grösseren Abgabemengen) Boni Skonti (Abzug auf Barzahlung) Zusatzkosten bei ungünstigen Bestellungen oder Produktionslosen (Mindermengenzuschläge) evtl. gesondert berechnete Transport-, Versicherungs- und Verpackungskosten – – – – – – – – – Raumkosten Personalkosten Miete Abschreibung Instandhaltung Heizung Beleuchtung Wartung Versicherung usw. Verschiedene Verfahren zur Bestimmung der optimalen Bestellmenge (Andler, Part-Period, Alternativenvergleichsrechnung) Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 9 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Bestellmengen DV in der Produktion Optimale Bestellmenge nach Part-Period-Verfahren Bedarf (Stück) 2000 Idee: Schrittweise Prüfung, ob durch Hinzunahme des jeweils nächsten Bedarfs die kumulierten Lagerkosten die losfixen Beschaffungskosten übersteigen 1500 1000 500 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Kosten (DM) 160 Mit den Lagerungskosten des in der 22. Periode anfallenden Bedarfs werden die Beschaffungskosten überschritten. Dieser Bedarf wird daher nicht mitbeschafft. Lagerungskosten 140 120 100 80 60 Zeit (Periode) Optimale Beschaffungsmenge= Bedarf der Perioden 3, 11 und 17 Beschaffungskosten 40 20 0 1 2 3 4 5 6 geplanter Liefertermin 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Bedarf in diesem Zeitraum wird als Beschaffungsmenge gewählt Zeit (Periode) neuer Liefertermin Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 10 CPMKostenplanung.ppt/HMW/25.05.2002 - 37 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2.2 6 Bestandsplanung und -steuerung: Bestellmengen DV in der Produktion ... Optimale Bestellmenge nach Part-Period-Verfahren Gegeben: Periode t Bedarf x(t) Annahme: 1 x(1) 2 x(2) 3 x(3) ... ... n x(n) Bestellfixe Kosten Lager- und Transportkosten pro Periode und pro ME KB kL Der Bedarf einer Teilperiode – fällt zu Beginn der Periode an oder – muss zu Beginn der Periode verfügbar sein! Optimale Bestellmenge: x opt = x(1) + x(2)+ ... + x(j), derart dass gilt: 0*x(1) + 1*x(2) + 2*x(3) + ... + (j-1)*x(j) <= KB / kL < 0*x(1) + 1*x(2) + 2*x(3) +...+ (j-1)*x(j) + j*x(j+1) Beachte: Lagerkosten = kL *[0*x(1) + 1*x(2) + 2*x(3) + ... + (j-1)*x(j) ] Bestellzeitpunkt: Um die Lieferzeit versetzt vor der Periode, für die bestellt wird! Nächste Periode für die nach dem gleichen Prinzip bestellt wird: j+1 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 11 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Bestellmengen DV in der Produktion ... Optimale Bestellmenge nach Part-Period-Verfahren Periode t Bedarf x(t) Bedarf Schritt 1 Bedarf 1 100 2 120 3 80 4 110 5 80 6 40 kL = 2 DM/Stk Bedarf KB = 250 DM/Lief. Periode Periode 250/2 > 0*100 = 0 Bedarf 250/2 >= 0*100+1*120 = 120 Bedarf Schritt 2 Periode 250/2<0*100+1*120+2*80 = 280 xopt = 220 Bedarf xopt = 190 Periode Periode 250/2 >= 0*80 = 0 Bedarf 250/2 >= 0*80+1*110 = 110 Periode 250/2 < 0*80+1*110+2*80 = 270 Bedarf Schritt 3 xopt = 120 Periode 250/2 >= 0*80 = 0 250/2 >= 0*80+1*40 = 40 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 12 CPMKostenplanung.ppt/HMW/25.05.2002 - 38 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2.2 7 Bestandsplanung und -steuerung: Bestellmengen DV in der Produktion Part-Period Verfahren: Kalkulationsschema Kalkulationsschema Bestandsplanung Parameter: Bestellfixe Kosten:(DM/Lief.) L.u.T.:DM/Stk/Monat Monat Jan norm.Nachfrage 97 Sonderauftr. 97 Ges. Nachfrage 97 Bestand 97 inkl. SB Nachfrage 98 Feb Mrz Apr Preis/Stk: Zinsen: Mai Jun Jul Aug Sept Okt Nov Dez Summe Schnitt Lagerdauer gew.Lagermenge gew.Lagermge kum. Bestellmenge für Bestelltermin für Bestand 98 ohne SB SB =___Tage Reichw. Bestand 98 mit SB Differenz Best. 97 zu 98 Differenz Kap.bind. Einsparung Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 13 CPMKostenplanung.ppt/HMW/25.05.2002 - 39 - - 40 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2.3 1 Bestandsplanung und -steuerung: Sicherheitsbestand DV in der Produktion Bestandsplanung und -steuerung Der Sicherheitsbestand Dortmund, Oktober 1998 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund CPMKostenplanung.ppt/HMW/25.05.2002 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund 1 Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX: (0231)755-4902 Bestandsplanung und -steuerung: Sicherheitsbestand DV in der Produktion Inhalt Seite Ansätze 3 Einflussfaktoren 4 Abh. von der Wiederbeschaffungszeit 5 Abh. von Prognosefehlern 6 SB in Abhängigkeit von der Lagerzahl8 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 2 CPMKostenplanung.ppt/HMW/25.05.2002 - 41 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2.3 2 Bestandsplanung und -steuerung: Sicherheitsbestand DV in der Produktion Ansätze zur Bestimmung des optimalen Sicherheitsbestandes Minimierung der Fehlmengenkosten: theoretischer Ansatz, wenig praktisch Explizite Berücksichtigung der Nachfrageveränderung infolge des Auftretens von Fehlmengen: Problem der Quantifizierbarkeit Vorgabe der Lieferbereitschaft, die die Wahrscheinlichkeit für das Entstehen von Fehlmengen begrenzt: praktikabler Ansatz Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 3 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Sicherheitsbestand DV in der Produktion Einflußfaktoren auf die Höhe des Sicherheitsbestandes Länge der Wiederbeschaffungszeit Zuverlässigkeit der Prognose über die Einhaltung der Wiederbeschaffungszeit Zuverlässigkeit der Prognose über die Bedarfsmengen Grad der gewünschten Lieferbereitschaft Anzahl der Lager Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 4 CPMKostenplanung.ppt/HMW/25.05.2002 - 42 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2.3 3 Bestandsplanung und -steuerung: Sicherheitsbestand DV in der Produktion Sicherheitsbestand in Abhängigkeit von der Länge der Wiederbeschaffungszeit S = Sicherheitsbestand (ME) Nmax = maximale Nachfragemenge pro Zeiteinheit (ME/ZE) N = durchschnittliche Nachfragemenge pro Zeiteinheit (ME/ZE) tW = Wiederbeschaffungszeit in Zeiteinheiten (ZE) S = tW * (Nmax - N ) (ME) Beispiel: Nmax = 1.000 Stk/Tag 800 Stk/Tag N = 3 Tage tW = S = 600 Stk Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 5 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Sicherheitsbestand DV in der Produktion Der Sicherheitsbestand in Abhängigkeit von Prognosefehlern Beispiel: Normalverteilung der Richtigkeit des Eintreffens der Bestellmenge bei angenommener Wiederbeschaffungszeit und Bedarfsmenge Prognosefehler 0,02 Lieferbereitschaft 0,00003 0,018 0,000025 0,016 0,014 0,00002 0,012 0,01 0,000015 0,008 0,00001 0,006 0,004 0,000005 0,002 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Lieferbere itschaft 100 * Sicherheitsbestand 0 * Standardabweichung 1* Standardabweichung 2* Standardabweichung 3* Standardabweichung 1 2 3 4 5 6 7 8 9 10 11 12 Anzahl der Wiederbesc haffungsta ge ohne Fehlmenge Gesamtzahl der Wiederbesc haffungsta ge Lieferbereitschaftsgrad 50,00 % 84,13 % 97,72 % 99,87 % Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 6 CPMKostenplanung.ppt/HMW/25.05.2002 - 43 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2.3 4 Bestandsplanung und -steuerung: Sicherheitsbestand DV in der Produktion Festlegen des Sicherheitsbestands (ohne Bereinigung): i xi 1 12 2 623 3 61 4 93 5 18 6 145 Mittelwert der Bedarfe: x 7 30 9 212 10 66 11 221 12 110 1 xi 141 n s Standardabweichung: 8 103 1 xi 1n xi ² 166 n 1 f * s 3,7 *166 614 Sicherheitsbestand nach REFA: 2 * s 2 *166 332 Sicherheitsbestand bei 2*SIGMA: Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 7 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Sicherheitsbestand DV in der Produktion Sicherheitsbestand in Abhängigkeit von der Lageranzahl Vorgegeben: Fester Lieferbereitschaftsgrad = x Konzept 1: 1 Zentrallager Sicherheitsbestand = SZ Konzept 2: n Regionallager (kein Zentrallager) Gesamter Sicherheitsbestand Sn = S(1) + ... + S(n) Sn n * SZ Beispiel: Zentrallager mit Sicherheitsbestand von 100.000 Stück entspricht 10 Außenlagern mit Sicherheitsbestand von 316.228 Stück Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 8 CPMKostenplanung.ppt/HMW/25.05.2002 - 44 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2.4 1 Bestandsplanung und -steuerung: Beispielrechnung DV in der Produktion Bestandsplanung und -steuerung: Beispielrechnung zur Ermittlung der Lagerparameter Dortmund, Oktober 1998 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund CPMKostenplanung.ppt/HMW/25.05.2002 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund 1 Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX: (0231)755-4902 Bestandsplanung und -steuerung: Beispielrechnung DV in der Produktion Inhalt Seite Parameter der Bewirtschaftung 3 Beschaffungskosten 4 Durchschnittliche Lagerdauer 5 Lagerkosten 6 Kostenübersicht 7 Meldebestand und Höchstbestand 8 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 2 CPMKostenplanung.ppt/HMW/25.05.2002 - 45 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2.4 2 Bestandsplanung und -steuerung: Beispielrechnung DV in der Produktion Parameter der Lagerbewirtschaftung Höchstbestand (105) Bestellmenge Meldebestand (38) Sicherheitsbestand/ Eiserne Reserve (5) Lagerdauer Bestellvorschlag Lieferung Die kostengünstigste Bestellmenge sowie der Melde- und Höchstbestand eines Lagerartikels werden wegen des z.T. erheblichen Berechnungsaufwandes nicht immer genau ermittelt werden können. Häufig wird man deshalb auf Erfahrungswerte zurückgreifen müssen. Das folgende Beispiel erläutert, welche Kostenfaktoren ggf. für eine exakte Berechnung zu berücksichtigen wären. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 3 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Beispielrechnung DV in der Produktion Beschaffungskosten Berechnung des Einkaufspreises je Stück a) Bei einer Beschaffungsmenge von 50 Einheiten je b) Bei einer Beschaffungsmenge von 100 Einheiten je Bestellung beträgt der Stückpreis................100 DM. Bestellung wird ein 2% iger Mengerabatt gewährt; Der Stückpreis beträgt.....................................98 DM. Berechnung der Beschaffungskosten je Stück z.B.: - Ausschreibungskosten, - Kosten des Bestellverfahrens, - Transportkosten, - Kosten der Warenan- und abnahme, - Kosten der Qualitätskontrolle, - Kosten der Rechnungsbearbeitung. b) Beschaffung von 100 Einheiten je Bestellung - Kosten der Ausschreibung und des Bestellverfahrens (3 Arbeitsstunden) = 150 DM je Stück (150 DM/100).............................1.50 DM - Transportkosten (1 größerer LKW + 2,5 Arbeitsstunden) = 180 DM je Stück (180 DM/100)............................1.80 DM - Kosten der Warenan- und abnahme sowie der Qualitätskontrolle (2 Arbeitsstunde) = 80 DM je Stück (80 DM/100)..............................0.80 DM - Kosten der Rechnungsbearbeitung (0,5 Arbeitsstunde) = 25 DM je Stück (25 DM/100)..............................0.25 DM a) Beschaffung von 50 Einheiten je Bestellung - Kosten der Ausschreibung und des Bestellverfahrens (3 Arbeitsstunden) = 150 DM je Stück (150 DM/50).............................3.00 DM - Transportkosten (1 kleiner LKW + 2,5 Arbeitsstunden) = 150 DM je Stück (150 DM/50)............................3.00 DM - Kosten der Warenan- und abnahme sowie der Qualitätskontrolle (1 Arbeitsstunde) = 40 DM je Stück (40 DM/50)..............................0.80 DM - Kosten der Rechnungsbearbeitung (0,5 Arbeitsstunde) = 25 DM je Stück (25 DM/50)..............................0.50 DM BESCHAFFUNGSKOSTEN JE STÜCK... ..4.35 DM BESCHAFFUNGSKOSTEN JE STÜCK.....7.30 DM Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 4 CPMKostenplanung.ppt/HMW/25.05.2002 - 46 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2.4 3 Bestandsplanung und -steuerung: Beispielrechnung DV in der Produktion Durchschnittliche Lagerdauer Zur Berechnung der Lagerkosten je Stück muß bekannt sein, wie lange sich der Artikel durchschnittlich im Lager befindet, bevor er ausgeliefert wird. Die durchschnittliche Lagerdauer hängt von der Bestellmenge ab. durchschnittlicher Lagerbestand/Jahr Durchschnittliche Lagerdauer = Lagerausgangsmenge/Jahr (Abforderungen) mit durchschnittlicher Lagerbestand = Bestellmenge 2 ( ggf. zuzüglicher zusätzlicher Sicherheitsbestand/EiserneReserve) Annahme: Lagerausgangsmenge von 200 Stück jährlich b) Beschaffung von 100 Einheiten: a) Beschaffung von 50 Einheiten: Durchschnittliche Lagerdauer je Stück: Durchschnittliche Lagerdauer je Stück: 50/2 100/2 = 0.125 Jahre 200 200 = 0.25 Jahre Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 5 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Beispielrechnung DV in der Produktion Lagerkosten z.B.: - kalkulatorische Zinsen, - Wertberichtigungen (z.B.Schwund,Verderben, technische Änderungen), - Versicherungen, - Raumkosten und Abschreibung auf Transportmittel - Personalkosten für Bestandskontrolle, Umlagerung, Reinigung der Lagerware u.ä. a) Beschaffung von 50 Einheiten je Bestellung - kalkulatorische Zinsen: Bei einem Kaufpreis je Stück von 100 DM und einer Lagerdauer von einem Jahr entstehen 100 DM x 0,085 (bei 8,5% Zinssatz) = 8,50 DM kalkulatorische Zinsen. Bei einer Lagerdauer von 0,125 Jahren betragen die kalkulatorischen Zinsen nach der Berechnungsformel Stückpreis x Zinssatz/Jahr x durchschnittliche Lagerdauer (in Jahren) = 100 DM x 0.085 x 0.125........................................1.06 DM - Sonstige Lagerkosten: Eine Grobschätzung ergibt, daß ein Lagerartikel innerhalb eines Jahres etwa 5% seines Wertes (2% jährliche Versicherungsprämie, 3% durchschnittliche jährliche Wertberichtigung) an sonstigen Lagerkosten verursacht. Die Kosten verringern sich entsprechend, wenn die Lagerdauer weniger als ein Jahr beträgt. Weitere Lagerhaltungskosten (z.B. Raumkosten und auf den einzelnen Artikel bezogene Personalkosten) werden hier vernachlässigt. Die sonstigen Lagerkosten belaufen sich somit auf (Berechnung wie kalkulatorische Zinsen) 100 DM x 0.05 x 0.125..............................................0.63 DM b) Beschaffung von 100 Einheiten je Bestellung - kalkulatorische Zinsen: Berechnungsverfahren wie a) Stückpreis von 98 DM und Lagerdauer von 0.25 Jahren: 98 DM x 0.085 x 0.25................................2.08 DM - Sonstige Lagerkosten: Gemäß a): 98 DM x 0.05 x 0.25..................................1.23 DM LAGERKOSTEN JE STÜCK....................3.31 DM LAGERKOSTEN JE STÜCK......................................1.69 DM Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 6 CPMKostenplanung.ppt/HMW/25.05.2002 - 47 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2.4 4 Bestandsplanung und -steuerung: Beispielrechnung DV in der Produktion Kostenübersicht Bestellmengen Kosten je Stück 50 Stück 100 Stück Stückpreise Beschaffungskosten Lagerkosten 100.00 DM 7.30 DM 1.69 DM 98.00 DM 4.35 DM 3.31 DM Gesamtkosten 108.99 DM 105.66 DM Optimale Bestellmenge: 100 Stück Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 7 CPMKostenplanung.ppt/HMW/25.05.2002 Bestandsplanung und -steuerung: Beispielrechnung DV in der Produktion Meldebestand und Höchstbestand Meldebestand = Menge zur Erfüllung der erwarteten Warenabforderungen während der Lieferzeit + Sicherheitsbestand Lieferzeit = Zeitraum zwischen Bestellung und Warenanlieferung Höchstbestand = Bestellmenge + Sicherheitsbestand Annahme: Lieferzeit = 2 Monate, Meldebestand = = Sicherheitsbestand = 5 Stück Lagerausgangs- * menge/Jahr 200 Lieferzeit (in Monaten) 12 2/12 * + Sicherheitsbestand + 5 = 33 Stück + 5 Stück = 38 Stück Höchstbestand = 100 Stück + 5 Stück = 105 Stück Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 8 CPMKostenplanung.ppt/HMW/25.05.2002 - 48 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2.5 1 Bestandsplanung und -steuerung: Norm-Reichweiten DV in der Produktion Bestandsplanung und -steuerung Bestandsplanung mit Norm - Reichweiten Dortmund, Oktober 1998 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund CPMKostenplanung.ppt/HMW/25.05.2002 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund 1 Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX: (0231)755-4902 Bestandsplanung und -steuerung: Norm-Reichweiten DV in der Produktion Inhalt Seite Ermittlung von Überbeständen 3 ... Beispiel Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 2 CPMKostenplanung.ppt/HMW/25.05.2002 - 49 - DV in der Lager- und Transportwirtschaft 1 Tabellenkalkulation mit EXCEL 2.5 2 Bestandsplanung und -steuerung: Norm-Reichweiten DV in der Produktion Ermittlung von Überbeständen Schritt 1: Schritt 2: ABC-Analyse der Artikel bzw. Teile Berechnung der Reichweite pro Artikel Reichweite = Schritt 3: relevante Tage /Jahr * aktuelle Bestandsmenge gesamter Bedarf / Jahr ( Tage ) Festlegung einer durchschnittlichen (Norm-) Reichweite pro Klasse Alles oberhalb der Norm-Reichweite (+ Sicherheitsschlupf) ist Überbestand Beispiel: Ist: Soll: Überstand: Reichweite Bestand 18 Tage 10 Tage 90 ME 90 ME * 10/18 = 50 ME 1 ME 40 ME 1.000 DM 40.000 DM Bei 10% Zinsen p.a. 4.000 DM Verlust 40 ME Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 3 CPMKostenplanung.ppt/HMW/25.05.2002 - 50 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1 1 Datenstrukturen DV in der Produktion Datenstrukturen Dortmund, Oktober 1998 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund CPMKostenplanung.ppt/HMW/25.05.2002 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund 1 Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX: (0231)755-4902 Datenstrukturen DV in der Produktion Inhalt Seite Wiederfinden von Daten 3 Datei- und Speichertypen 5 Suchen in Dateien 6 Indizierte Datenorganisation 7 Gestreute Datenorganisation 8 Suchen in indizierten Dateien 9 Suchen in gestreuten Dateien 20 Vergleich Dateiorganisationsformen 24 Problemfelder 25 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 2 CPMKostenplanung.ppt/HMW/25.05.2002 - 51 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1 2 Datenstrukturen DV in der Produktion Beispiel: Bibliotheksverwaltung Problem: Schnelles Wiederfinden abgespeicherter Daten Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 3 CPMKostenplanung.ppt/HMW/25.05.2002 Datenstrukturen DV in der Produktion Dateien Relative Adresse 4 Lucas H.C. 3 Kent W. Autor 2 Date C.J. 1 Martin J. Satz 1 2 3 4 . . . Titel Martin J. Date C.J. Kent W. Lucas H.C. . . . Application Devel... An Introduction ... Data and Reality Information Systems . . . Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 4 CPMKostenplanung.ppt/HMW/25.05.2002 - 52 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1 3 Datenstrukturen DV in der Produktion Datei- und Speichertypen Sequentielle Dateien Zugriff auf Datensätze nur in der gespeicherten Reihenfolge Auf sequentiellen Speichern (z.B. Magnetband) Ebenfalls möglich auf Direktzugriffsspeichern (z.B. Magnetplatte, optische Speicherplatte) Dateien mit direktem Zugriff Auf jeden Datensatz kann bei Kenntnis seiner Adresse direkt zugegriffen werden Nur auf Direktzugriffsspeichern Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 5 CPMKostenplanung.ppt/HMW/25.05.2002 Datenstrukturen DV in der Produktion Suchen in Dateien Sequentielle Dateien Dateien mit direktem Zugriff Sequentielle Suche Sequentielle Organisation Index als Hilfsmittel Indizierte Organisation Algorithmus als Hilfsmittel Gestreute Organisation Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 6 CPMKostenplanung.ppt/HMW/25.05.2002 - 53 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1 4 Datenstrukturen DV in der Produktion Indizierte Organisation Indexdatei Schlüssel Date C.J. Kent W. Lucas H.C. Martin J. . . . Adreßverwei s 2 3 4 1 . . . Hauptdatei Relative Adresse INR* 1 2 3 4 . . . 4711 4812 1907 1001 . . . Autor Titel Martin J. Date C.J. Kent W. Lucas H.C. . . . Application Devel... An Introduction ... Data and Reality Information Systems * INR = Inventarnummer Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 7 CPMKostenplanung.ppt/HMW/25.05.2002 Datenstrukturen DV in der Produktion Gestreute Organisation (Hash) Date C.J. Kent W. Codd E.F. Algorithmus Erzeugt die Adresse aus dem Schlüssel 1 2 3 4 . . . INR* Autor Titel 4711 4812 1907 1001 . . . Martin J. Date C.J. Kent W. Lucas H.C. . . . Application Devel... An Introduction ... Data and Reality Information Systems * INR = Inventarnummer Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 8 CPMKostenplanung.ppt/HMW/25.05.2002 - 54 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1 5 Datenstrukturen DV in der Produktion Suchen in indizierten Dateien Unsortierter Index Physisch sortierter Index Sortierreihenfolge der Schlüssel entspricht der Reihenfolge der Sätze im Speicher – Binäres Suchen – m-Wege-Suchen Logisch sortierter Index Reihenfolge der Sätze ist durch Zeiger bestimmt, nicht durch die Reihenfolge im Speicher – Ketten – Bäume Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 9 CPMKostenplanung.ppt/HMW/25.05.2002 Datenstrukturen DV in der Produktion Suchen in indizierten Dateien: Binäres Suchen fortgesetztes Halbieren des Suchbereichs Vermutung: Das gesuchte Element liegt in der Mitte des Indexbereiches, deshalb: Vergleich des gesuchten Elementes mit dem Element in der Mitte Ist dieses Element kleiner als das gesuchte Element, wird die Suche in der oberen Hälfte des Indexes fortgesetzt Ist dieses Element größer als das gesuchte Element, wird die Suche in der unteren Hälfte des Indexes fortgesetzt Die Suche wird so lange fortgesetzt bis das gesuchte Element gefunden wurde oder die Länge des Suchbereichs = 1 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 10 CPMKostenplanung.ppt/HMW/25.05.2002 - 55 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1 6 Datenstrukturen DV in der Produktion ... Suchen in indizierten Dateien: Binäres Suchen Codd E.F. Date C.J. Hansen H.R. Kent W. Kotler P. Lucas H.C. Martin J. Rockart J. Sprague R. Turban E. Zachman R. 2 3 1 8 2 10 3 9 4 1 6 7 11 5 Zum Beispiel Suche nach"Kotler P." 1 ... Vergleiche das gesuchte Element mit dem Element in der Mitte "Kotler P." < "Lucas H.C." 2 ... Gehe zur Mitte der oberen Hälfte "Kotler P." > "Hansen H.R." 3 ... Gehe zur Mitte des zweiten Viertels Gefunden! 65.535 Elemente höchstens 16 Suchschritte Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 11 CPMKostenplanung.ppt/HMW/25.05.2002 Datenstrukturen DV in der Produktion ... Suchen in indizierten Dateien: m-Wege-Suchen Die Indexdatei wird in Blöcke konstanter Länge eingeteilt Gehe zu letzten Element des ersten Blocks Falls der Suchschlüssel größer ist als dieses Element: Gehe zum nächsten Block Andernfalls befindet sich das gesuchte Element in diesem Block Verwende eine andere Suchmethode (z.B. sequentielles oder binäres Suchen) um das Element in diesem Block zu finden Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 12 CPMKostenplanung.ppt/HMW/25.05.2002 - 56 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1 7 Datenstrukturen DV in der Produktion ... Suchen in indizierten Dateien: m-Wege-Suchen in hierarchischen Indexdateien Relative Adresse Schlüssel Schlüssel Codd E.F. Kotler P. Sprague R. Adressverweis 1 5 9 Zweistufiger hierarchischer Index 1 2 3 4 5 6 7 8 9 10 11 Codd E.F. Date C.J. Hansen H.R. Kent W. Kotler P. Lucas H.C. Martin J. Rockart J. Sprague R. Turban E. Zachman R. Adressverweis 8 2 10 3 9 4 1 6 7 11 5 Hauptdatei Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 13 CPMKostenplanung.ppt/HMW/25.05.2002 Datenstrukturen DV in der Produktion ... Suchen in indizierten Dateien: Ketten Sätze sind nicht physisch sortiert Jeder Satz enthält Zeiger zum logisch folgenden Satz Zeiger, der auf den ersten Satz zeigt, heißt Anker Zeiger des letzten Satzes ist eine Endemarke Einfügen neuer Sätze physisch am Ende der Datei: – Zeiger des nächstkleineren Elementes (Vorgänger) wird auf das neu eingefügte gerichtet Löschen eines Datensatzes: – Nur der Zeiger des Vorgängerdatensatzeswird verändert, und der Speicherplatz des gelöschten Datensatzes überschreibbar gemacht – Lücken bleiben, Reorganisation erforderlich Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 14 CPMKostenplanung.ppt/HMW/25.05.2002 - 57 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1 8 Datenstrukturen DV in der Produktion ... Suchen in indizierten Dateien: Physische Repräsentation von Ketten Physische Sortierung 1 2 3 4 Logische Reihenfolge 5 6 durch Zeiger zum 7 folgenden Satz 8 9 10 11 Schlüssel Sprague R. Date C.J. Kent W. Hansen H.R. Turban E. Kotler P. Codd E.F. Martin J. Rockart J. Zachman R. Lucas H.C. Nachf. AV 5 4 6 3 10 11 2 9 1 -8 7 2 3 10 11 9 8 1 6 5 4 Hauptdatei Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 15 CPMKostenplanung.ppt/HMW/25.05.2002 Datenstrukturen DV in der Produktion ... Suchen in indizierten Dateien: Bäume Komponenten Knoten: Enthalten Anwendungsinformation Kanten: Enthalten Adressinformation Es gibt genau einen Knoten, der keinen Vorgänger hat: Wurzel Jeder Knoten, außer der Wurzel, hat genau einen unmittelbaren Vorgänger Zu jedem Nichtwurzelknoten gibt es genau einen Weg von der Wurzel zu diesem Knoten. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 16 CPMKostenplanung.ppt/HMW/25.05.2002 - 58 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1 9 Datenstrukturen DV in der Produktion ... Suchen in indizierten Dateien: Logische Struktur binärer Bäume Linker Nachfolger Rechter Nachfolger Lucas H.C. Hansen H.R. Date C.J. Codd E.F. Kotler P. Kent W. Sprague R. Turban E. Martin J. Zachman R. Rockart J. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 17 CPMKostenplanung.ppt/HMW/25.05.2002 Datenstrukturen DV in der Produktion ... Suchen in indizierten Dateien: Physische Repräsentation binärer Bäume Schlüssel 1 2 3 4 5 6 7 8 9 10 11 Sprague R. Date C.J. Kent W. Hansen H.R. Turban E. Kotler P. Codd E.F. Martin J. Rockart J. Zachman R. Lucas H.C. KF li KF re AV 5 7 -2 -3 ----4 8 --6 10 --9 --1 7 2 3 10 11 9 8 1 6 5 4 Hauptdatei KF li = linkes Kettenfeld, KF re = rechtes Kettenfeld, AV = AdressVerweis Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 18 CPMKostenplanung.ppt/HMW/25.05.2002 - 59 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1 10 Datenstrukturen DV in der Produktion ... Suchen in indizierten Dateien: sortierte binäre Bäumen ? "Kent" Lucas H.C. < Hansen H.R. Sprague R. > Date C.J. Kotler P. Turban E. Martin J. < Codd E.F. Kent W. Zachman R. Rockart J. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 19 CPMKostenplanung.ppt/HMW/25.05.2002 Datenstrukturen DV in der Produktion Suchen in einer gestreuten Organisation (Hash-Verfahren) Adresse eines Satzes wird aus dem Schlüssel berechnet – Problem Nr. 1: Welche Funktion soll zur Berechnung verwendet werden? – Problem Nr. 2: Meist gibt es weniger Speicheradressen als mögliche Schlüssel, so daß eine Doppelbelegung von Adressen erlaubt werden muß. Wie werden solche Kollisionen behandelt? Vorteil: Schneller Zugriff Nachteile: – Es kann nur ein Schlüssel verwendet werden – Kein teilqualifizierter Zugriff (mit Schlüsselteilen) möglich Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 20 CPMKostenplanung.ppt/HMW/25.05.2002 - 60 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1 11 Datenstrukturen DV in der Produktion ... Suchen in einer gestreuten Organisation Beispiel für einen Hash-Algorithmus Schlüssel: Autor (alphabetisch, 10 Zeichen) Suche nach "HANSEN " Buchstabe: EBCDIC: Wert: |H| |A| |N| |S| |E| |N| | | | | | | | | 200 193 213 226 197 213 64 64 64 64 200*2569 + 193*2568 + 213*2567 + 226*2566 + 197*2565 + 213*2564 + 64*2563 + 64*2562 + 64*2561 + 64*2560 = 94804893278549498118208 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 21 CPMKostenplanung.ppt/HMW/25.05.2002 Datenstrukturen DV in der Produktion ... Suchen in einer gestreuten Organisation Beispiel für einen Hash-Algorithmus (Forts.) Zuordnung von 94804893278549498118208 zu einer von 1117 (= Hashtabellengröße) relativen Adressen Zum Beispiel beim Divisionsrestverfahren – Adresse = Rest der Division 94804893278549498118208 : 1117, das ist die Zahl 403 – Lesen des Schlüssels mit der Adresse 403 – Dort könnte ein anderer Schlüssel stehen (Kollision!) Kollisionsbehandlung – Zum Beispiel Suche nach dem Schlüssel im Überlaufbereich, der die kollidierenden Sätze in untereinander verketteter Form enthält Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 22 CPMKostenplanung.ppt/HMW/25.05.2002 - 61 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1 12 Datenstrukturen DV in der Produktion Vergleich von Dateiorganisationsformen Speicher Suchstrategien Reorganisation Primär/Sekundärschl. Sequentiell Sequentiell oder direkt adressierbar Sequentiell Nein Kein Schlüsselzugriff möglich Indiziert Direkt adressierbar Sequentiell, binär, m-Wege Nein Ja Primärschlüssel, Sekundärschlüssel Hash Direkt adressierbar Suche nur bei Kollision notwendig Nein Primärschlüssel Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 23 CPMKostenplanung.ppt/HMW/25.05.2002 Datenstrukturen DV in der Produktion Probleme bei dezentraler Datenverwaltung Redundanz Mehrfache Speicherung derselben Datenelemente Beispiel: – Kundennamen und Adressen sind in verschiedenen Dateien gespeichert, die von verschiedenen Programmen verwendet werden Inkonsistenz Verschiedene Werte für dieselben Daten Beispiel: – Derselbe Kunde ist in einer Datei als “Winkels” und in einer anderen als “Winkler” gespeichert Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 24 CPMKostenplanung.ppt/HMW/25.05.2002 - 62 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 1 Datenbanken DV in der Produktion Datenbanken Dortmund, Februar 2000 Quelle: z.g.T. Hansen/Internet-Unterlagen Prof. Dr. Heinz-Michael Winkels, FH-Dortmund CPMKostenplanung.ppt/HMW/25.05.2002 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund 1 Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX: (0231)755-4902 Datenbanken DV in der Produktion Inhalt Seite Datenbankbegriff 3 Datenmodelle 8 Datenbank-Architektur 12 Datenbanksprachen 27 Entwicklungen 35 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 2 CPMKostenplanung.ppt/HMW/25.05.2002 - 63 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 2 Datenbanken DV in der Produktion Was versteht man allgemein unter einer Datenbank? "Eine Datenbank ist eine integrierte Ansammlung von Daten, die allen Anwendern eines Bereichs als gemeinsame Basis aktueller Information dient. Die Daten sind entsprechend den natürlichen Zusammenhängen strukturiert. Es kann so auch auf ungeplante Weise auf die Daten zugegriffen werden". Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 3 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion Datenbanksysteme Zentrale Kontrolle von Daten, die von mehreren Benutzern bzw. Programmen verwendet werden Globales Modell eines Ausschnitts der realen Welt, das für die Unternehmung relevant ist (konzeptionelles Modell) Probleme der Datenspeicherung und Dateiorganisation werden zentral gelöst Trennung der Daten von anwendungsspezifischen Auswertungen und Datensichten Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 4 CPMKostenplanung.ppt/HMW/25.05.2002 - 64 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 3 Datenbanken DV in der Produktion Datenbanksysteme als Basis von Informationssystemen Buchhaltung Kostenrechnung Produktionsplanung Datenbank Materialwirtschaft Personalwirtschaft Verkauf/ Marketing Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 5 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion Datenbank und DBMS Datenbank (DB) – Zentral gespeicherte Daten Datenbankverwaltungssystem (DBMS) – Programmsystem zur Erstellung, Manipulation und Steuerung/Kontrolle einer Datenbank Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 6 CPMKostenplanung.ppt/HMW/25.05.2002 - 65 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 4 Datenbanken DV in der Produktion IS-Entwicklung für Datenbankanwendungen Problem Entwurf Implementierung Projektplan Konzeption. Datenmodell Anforderungsdefinition Konzept. funktionales Modell Datenbankbeschreib. Informationssystem Programm Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 7 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion Der Entity-Relationship (ER)-Ansatz zur konzeptionellen Datenmodellierung Sichtweise der realen Welt Objekte Beziehungen zwischen Objekten Objekte und Beziehungen werden durch Attribute beschrieben Grafische Repräsentation (ER-Diagramme) Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 8 CPMKostenplanung.ppt/HMW/25.05.2002 - 66 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 5 Datenbanken DV in der Produktion ... Der Entity-Relationship (ER)-Ansatz zur konzeptionellen Datenmodellierung Elemente von ER-Modellen Entity (Objekt) Relationship (Beziehung) Entity type (Objekttyp) – Abstraktion gleichartiger Objekte mit gemeinsamen Attributen Relationship type (Beziehungstyp) – Abstraktion gleichartiger Beziehungen Attribute (Eigenschaften) – Beschreiben die relevanten Merkmale von Objekten oder Beziehungen Identifizierende Attribute – Kennzeichnen eindeutig ein bestimmtes Objekt eines Objekttyps Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 9 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion ... Der Entity-Relationship (ER)-Ansatz zur konzeptionellen Datenmodellierung Beispiel eines ER-Diagramms Kunden-Nr. Kunde Name Datum Adresse entliehen Autoren-Nr. Name Buch-Nr. Autor geschrieben Buch Titel Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 10 CPMKostenplanung.ppt/HMW/25.05.2002 - 67 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 6 Datenbanken DV in der Produktion Schritte beim Entwurf des konzeptionellen Datenmodells Identifiziere Objekttypen Beziehungstypen Attribute des jeweiligen EDV-Anwendungsbereichs Zeichne ein ER-Diagramm Übertrage das ER-Modell in das Datenmodell des jeweiligen Datenbankverwaltungssystems (Datenbankbeschreibung) Hierarchisches Modell Netzwerkmodell Relationales Datenmodell Objektorientiertes Modell Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 11 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion Hierarchisches Datenmodell Repräsentation der Anwendungsdaten in der Form von hierarchischen Graphen (Bäume) Rechtecke repräsentieren Objekttypen oder Attribute Kanten (Pfeile) repräsentieren Beziehungen zu anderen Objekttypen Jeder Objekttyp hat genau einen Vorgänger Ein Objekttyp kann einen oder mehrere Nachfolger haben Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 12 CPMKostenplanung.ppt/HMW/25.05.2002 - 68 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 7 Datenbanken DV in der Produktion ... Hierarchisches Datenmodell Beispiel Buch Kunde Buch-Nr. Adresse Kunden-Nr. Name Titel Ort Autor Strasse Kunde Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 13 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion Netzwerkmodell Repräsentation von Anwendungsdaten in der Form eines Netzes Rechtecke kennzeichnen Objekttypen und Attribute Kanten (Pfeile) und Ovale repräsentieren Beziehungen zu anderen Objekttypen Jeder Objekttyp kann einen oder mehrere Vorgänger haben Jeder Objekttyp kann einen oder mehrere Nachfolger haben Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 14 CPMKostenplanung.ppt/HMW/25.05.2002 - 69 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 8 Datenbanken DV in der Produktion ... Netzwerkmodell Beispiel Kunde Buch Buch-Nr. entliehen Adresse Kunden-Nr. Titel Name Autor Ort Strasse geschrieben Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 15 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion Relationales Datenmodell Das in der Praxis dominierende Modell Repräsentation der Anwendungsdaten in der Form von Relationen (Tabellen) Relationen (Tabellen) haben einen Namen Spalten einer Relation (Tabelle) repräsentieren Attribute Zeilen werden Tupel genannt Eindeutig identifizierendes Attribut: Primärschlüssel Primärschlüssel kann auch aus einer Menge von Attributen bestehen Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 16 CPMKostenplanung.ppt/HMW/25.05.2002 - 70 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 9 Datenbanken DV in der Produktion ... Relationales Datenmodell: Grundbegriffe Attribute 53730 28719 53550 79632 15971 51883 36453 41618 61903 72921 Tupel Relation JONNES BILL W BLANAGAN JOE E LAWRENCE MARIGOLD ROCKEFELLER FRED ROPLEY ED S SMITH TOM P W RALNER WILLIAM C HORSERADISH FREDA HALL ALBERT JR FAIR CAROLYN 1 1 0 1 1 1 1 0 1 0 03 05 07 11 13 03 08 07 11 03 Primärschlüssel 100335 101019 090932 011132 021242 091130 110941 071235 011030 020442 044 172 044 090 172 044 044 172 172 090 73 43 02 11 43 73 02 07 21 93 ACCOUNTANT PLUMBER CLERK CONSULTANT PLUMBER ACCOUNTANT CLERK ENGINEER ARCHITECT PROGRAMMER 2000 1800 1100 5000 1700 2000 1200 2500 3700 2100 Domäne Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 17 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion ... Relationales Datenmodell: Definitionen Relation: – Eine Menge von Tupeln (a1, a2, ... , an) mit a1 A1, a2 A2, ... , an An. Attribute: – Die Grundmengen A1, ... , An, aus denen eine Relation gebildet wird. Domäne: – Menge derjenigen Elemente eines Attributes Ai, die in der zugrundeliegenden Relation tatsächlich auftreten. Nullwerte – enthält ein Attribut eines Tupels einen Nullwert, so enthält dieses Attribut keinen Attributwert und somit keine Informationen – die Zahl Null darf nicht mit dem Nullwert verwechselt werden – die Zahl Null enthält eine Information, der Nullwert nicht Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 18 CPMKostenplanung.ppt/HMW/25.05.2002 - 71 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 10 Datenbanken DV in der Produktion ... Relationales Datenmodell: Definitionen Relationenschlüssel: – Teilmenge von Attributen, durch die ein Relationentupel eindeutig identifiziert werden kann Primärschlüssel: – Ein Relationenschlüssel mit minimaler Anzahl an Attributen Fremdschlüssel: – Attribut einer Relation, welches gleichzeitig Primärschlüssel einer anderen Relation ist Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 19 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion ... Relationales Datenmodell Integritätsbegriffe Entitäts-Integrität: – Jede Relation weist einen Primärschlüssel auf. Referentielle Integrität: – Jeder Fremdschlüssel verweist auf einen Primärschlüssel aus einer anderen Relation. Benutzerdefinierte Integrität: – Die Zulässigkeit von Werten einer Domäne kann eingeschränkt werden. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 20 CPMKostenplanung.ppt/HMW/25.05.2002 - 72 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 11 Datenbanken DV in der Produktion ... Relationales Datenmodell: Definitionen Beispiel eines relationalen Schemas KUNDE Kunden-Nr. Name BUCH Buch-Nr. Adresse AUTOR Titel GESCHRIEBEN ENTLIEHEN Autoren-Nr. Name Autoren-Nr. Buch-Nr. Kunden-Nr. Buch-Nr. Datum Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 21 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion ... Relationales Datenmodell Beziehungen einzelne Relationen (Tabellen) dürfen nicht isoliert betrachtet werden zwischen den Entitätsmengen (Datensätzen) der einzelnen Relationen können Beziehungen bestehen Die Anzahl der Beziehungstypen zwischen zwei Relationen ergibt sich aus der Anzahl der Datensätze der zweiten Relation, die zu einem Datensatz der ersten gehören können. 1:1 * * * * * * 1:n * * * * * * n:m * * * * * * Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 22 CPMKostenplanung.ppt/HMW/25.05.2002 - 73 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 12 Datenbanken DV in der Produktion Architektur von DB-Systemen: Das Dreischichten-Konzept Reale Welt Benutzersichten Externes Schema Externes Schema Konzeptionelles Schema Internes Schema Externes Schema Modellierung DMBS Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 23 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion ... Architektur von DB-Systemen Externe Schemata Benutzerspezifische Sichten (Ausschnitte) des konzeptionellen Schemas einer Datenbank Warum? – Der Benutzer sieht nur die Teile des konzeptionellen Schemas (Gesamtsystems), die für ihn interessant sind – Benutzerfreundliche Präsentation (Oberfläche) – Beschränkung des Zugriffs auf die wirklich benötigten Daten Beispiel: das externe Schema für Bibliothekskunden: – Bequemer, rascher Zugriff auf Bücherdaten, aber kein Zugriff auf die Daten der Entleiher Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 24 CPMKostenplanung.ppt/HMW/25.05.2002 - 74 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 13 Datenbanken DV in der Produktion ... Architektur von DB-Systemen Internes Schema Physische Organisation der Daten auf den peripheren Speichermedien Ziele – Minimale Zugriffszeit und Speicherkapazität Wird erreicht durch – Wahl geeigneter Größen und Anordnungen der physischen Datenblöcke – Erzeugung von Indexdateien für bestimmte Attribute – Verwendung geeigneter Zugriffsmethoden (z.B. binäre Bäume, Hash-Tabellen) Eine Änderung des internen Schemas beeinflußt das konzeptionelle Schema und die externen Schemata nicht! Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 25 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion ... Architektur von DB-Systemen Data Dictionary Datenbank, die Angaben über das konzeptionelle Schema und die externen Schemata enthält Metadaten Dokumentation der Datenbankstruktur – Attribute und Attributtypen – Tabellennamen, Primärschlüssel, usw. Beschreibung der Datenverwendung – Anwendungsprogramme – Benutzer – Transaktionen Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 26 CPMKostenplanung.ppt/HMW/25.05.2002 - 75 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 14 Datenbanken DV in der Produktion Datenbanksprachen Data definition language (DDL) Beschreibung des konzeptionellen Schemas und der externen Schemata Data manipulation language (DML) Auswahl, Einfügen und Löschen von Daten Standardsprache für relationale DBMS: Structured Query Language (SQL) Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 27 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion Structured Query Language (SQL) DDL und DML in einem Sprache der 4. Generation (4GL) Basiert auf dem relationalen Datenmodell Mengenorientiert – Abfrageergebnisse werden nicht Satz für Satz zur Verfügung gestellt, sondern es werden alle gefundenen Lösungen als Ergebnis geliefert Deskriptiv – Es genügt anzugeben, was das Problem ist (und nicht - wie bei prozeduralen Sprachen - wie es im einzelnen gelöst werden soll) Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 28 CPMKostenplanung.ppt/HMW/25.05.2002 - 76 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 15 Datenbanken DV in der Produktion ... Structured Query Language (SQL) SQL-Verwendung Interaktives SQL – Endbenutzer arbeiten direkt mit SQL Embedded SQL – SQL-Befehle werden direkt im Quellcode von Anwendungsprogrammen verwendet Application Program Interface (API) – Funktionssammlung für Programmierer, um die Schnittstellen zwischen Anwendungsprogrammen und DBMS einzurichten Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 29 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion ... Structured Query Language (SQL) Alternativen zum interaktiven SQL Probleme mit SQL – Gelegentliche Benutzer haben Schwierigkeiten, Abfragen zu formulieren – Keine Unterstützung, um Berichte im gewünschten Layout zu gestalten Berichtsgeneratoren (Report generators) Formularorientierte Abfragesysteme (Query-by-forms systems) – Endbenutzer markieren ihre Informationswünsche auf vorgegebenen Bildschirm-Formularen (Masken) Abfragesysteme in natürlicher Sprache Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 30 CPMKostenplanung.ppt/HMW/25.05.2002 - 77 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 16 Datenbanken DV in der Produktion Transaktionsverarbeitung Definition Transaktion = Folge logisch zusammengehöriger Aktionen, die Operationen auf die gemeinsam gespeicherten Daten ausführen Beispiele: Geldabheben am Bankomaten, interaktive Lehrveranstaltungsanmeldung Besonderheiten Eine Transaktion ist abgeschlossen, wenn jede ihrer Aktionen korrekt durchgeführt wurde Alle Datenänderungen werden rückgängig gemacht, falls die Transaktion nicht komplett abgeschlossen werden kann Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 31 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion ... Transaktionsverarbeitung Transaktionsprogramm Anwendungsprogramm, das i.a. mehrere Transaktionen abhängig vom Transaktionscode durchführt Kann viele Benutzer zur selben Zeit bedienen Der Endbenutzer bestimmt die auszuführende Transaktion durch Angabe eines Transaktionscodes Kontrolle und Koordination der Transaktionsprogramme durch den OLTP- (On-line transaction processing) Monitor Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 32 CPMKostenplanung.ppt/HMW/25.05.2002 - 78 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 17 Datenbanken DV in der Produktion ... Transaktionsverarbeitung Beispiel: Transaktionscodes für das Schalterpersonal einer Bank Transaktionscode TKDANF in Verbindung mit der Kontonummer und dem Code "84" TKDANF in Verbindung mit der Kontonummer und dem Code "85" Wirkung Kundendatenanzeige/änderung TKDANF in Verbindung mit der Kontonummer und dem Code "83" Postfensteranzeige/-änderung TKDANF in Verbindung mit der Kontonummer und dem Code “90” Spezialdatenanzeige/-änderung Anmerkung: TKDANF ist eine Funktionstaste Beteiligungenanzeige Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 33 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion Sperren und Freigeben von Datenbeständen (Locking) Risiko nicht korrekter Daten durch einen ungeregelten Zugriff auf gemeinsame Datenbestände Beispiel: Unterschiedliche Transaktionen ändern die Daten auf verschiedene Weise zur selben Zeit Lösung: Reservierung der Daten, solange diese durch eine Transaktion verarbeitet werden Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 34 CPMKostenplanung.ppt/HMW/25.05.2002 - 79 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 18 Datenbanken DV in der Produktion Entwicklung der Datenverwaltung Aktive DBMS Objektorientierte DBMS Relationale DBMS Hierarchische und Netzwerk-DBMS Dateiverwaltungssysteme 1960 1970 1980 1990 2000 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 35 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion ... Entwicklung der Datenverwaltung Objektorientierte Datenbanken Verteilte Datenbanken Aktive Datenbanken Temporale Datenbanken Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 36 CPMKostenplanung.ppt/HMW/25.05.2002 - 80 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 19 Datenbanken DV in der Produktion ... Entwicklung der Datenverwaltung Objektorientierte Datenbankverwaltungssysteme (OODBMS) Integrieren Eigenschaften von objektorientierten Programmiersprachen (wie Vererbung, Objektidentität, Klassenhierarchie) in die Datenbankverwaltung Ermöglichen die Repräsentation von komplexen Sachverhalten, wie zusammengesetzte Objekte, komplexe Strukturen oder neue Datentypen (Multimedia) Sind Implementation eines objektorientierten Datenmodells Zwei Entwicklungslinien – Ergänzung von RDBMS um objektorientierte Funktionen – Entwicklung aus einer objektorientierten Programmiersprache Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 37 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion ... Entwicklung der Datenverwaltung Verteilte Datenbanksysteme Die logisch zusammengehörenden, gemeinsam verwalteten Daten einer Datenbank sind physisch auf mehrere, in einem Netz verbundene Rechner verteilt Vorteile – Zuverlässigkeit – Verfügbarkeit – Kapazitätsanpassung – Effizienzsteigerung Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 38 CPMKostenplanung.ppt/HMW/25.05.2002 - 81 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 20 Datenbanken DV in der Produktion ... Entwicklung der Datenverwaltung Aktive Datenbanken Reagieren automatisch auf bestimmte, aktuelle Situationen (bei zeitkritischen Anwendungen wichtig) ECA-Regeln (event, condition, action) beschreiben Ereignisse, zeitliche Bedingungen und Aktionen DBMS überwacht die Situation und löst beim Auftreten der definierten Ereignisse die Aktionen so aus, daß die Zeitschranken eingehalten werden Ereignisse können bestimmte Datenbankoperationen, zeitliche Vorkommnisse oder auch Signale anderer Prozesse sein, welche das System von außen empfängt Die Aktion beschreibt ein Programm, welches innerhalb der Zeitschranke ausgeführt wird – Dabei kann es sich um Operationen auf der Datenbank oder die Veranlassung externer Aktionen handeln Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 39 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion ... Entwicklung der Datenverwaltung Temporale Datenbanken Speichern die Geschichte der Objekte und Beziehungen Vorhandene Info in der DB wird nicht mehr gelöscht Bisher aufgrund von Kapazitäts- und Durchsatzproble-men nicht praktisch umsetzbar Durch bessere Kompressionsverfahren und Speichertechniken sowie durch leistungsfähigere Rechner sind jedoch solche Systeme immer mehr in den Bereich des Möglichen gerückt Erweiterung bestehender Modellierungstechniken und Abfragesprachen um temporale Konstrukte (auch für SQL geplant) Speichern die Zeit, zu der die Information in der Datenbank eingegeben wurde, und die Zeit, in der die modellierten Objekttypen und Beziehungen gültig sind Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 40 CPMKostenplanung.ppt/HMW/25.05.2002 - 82 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 21 Datenbanken DV in der Produktion Data Warehouse („Daten-Lagerhaus“) Umfassendes Konzept zur Entscheidungsunterstützung von Mitarbeitern aller Bereiche und Ebenen Kern ist eine OLAP-Datenbank mit entscheidungsrelevanter Information über die Geschäftsfelder, die aus den operativen Datenbanken und externen Quellen bedarfsgerecht destilliert wird Der direkte Zugriff wird den Endbenutzern durch einen Informationskatalog (Metadatenbank) erleichtert, der über die Inhalte, Formate und Auswertungsmöglichkeiten des Data Warehouse Auskunft gibt Eine dritte Komponente sind die Softwarewerkzeuge und Anwendungsprogramme, mit denen die Daten des Warehouse abgefragt, transformiert, analysiert und präsentiert werden können Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 41 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion ... Data Warehouse Entscheidungsunterstützung für Benutzer aus allen Unternehmensbereichen Abfragen Berichte Analysen Grafiken Info-Katalog Transformationsprogr. Replikation Berechnung Extraktion Aggregation Datenbestände auf operativer Ebene Sequentielle, indizierte, gestreute Dateien ..... Hierarchische, Netzwerk-, relationale, objektorientierte DB Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 42 CPMKostenplanung.ppt/HMW/25.05.2002 - 83 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 22 Datenbanken DV in der Produktion ... Data Warehouse Metadaten • Welche Daten gibt es? • Wo befinden sie sich? • In welchen Formaten liegen sie vor? • Wo kommen die Daten her? • Wer ist dafür verantwortlich? • Wann war das letzte Update? • Welche Werkzeuge sind zum Auffinden der Daten geeignet? • Ist der gewünschte Bericht schon vorhanden? • Wie wird die Auswertung durchgeführt? Datenbankverwaltung Informationskatalog Datenbank (OLAP) Entscheidungsrelevante Daten • in unterschiedlichen Dimensionen (z.B. nach Organisations-, Mitarbeiter-, Produkt-, Regional-, Kunden- und Zeitstrukturen, Kenndaten, Soll und Ist) • in unterschiedlichen Verdichtungsstufen (hoher, mittlerer oder geringer Detaillierungsgrad, in Abhängigkeit von Gegenstand und Alter der Daten) • für unterschiedliche Zeiträume (Tage, Wochen, Monate, Quartale, Jahre) Datensammlung und transformation Interne Daten aus den operativen IS Externe Daten aus diversen Quellen Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 43 CPMKostenplanung.ppt/HMW/25.05.2002 Datenbanken DV in der Produktion ... Data Warehouse Anforderungen an OLAP-Datenbanken Mehrdimensionale, konzeptionelle Sicht auf die Daten Transparenz und Integration in die operativen Systeme Zugänglichkeit unterschiedlicher Datenbasen über eine logische Gesamtsicht Stabile, volumenunabhängige Antwortzeiten Client-Server-Architektur Mehrbenutzerunterstützung Flexibles Berichtswesen Intuitive Datenmanipulation Unbeschränkte dimensionsübergreifende Operationen Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 44 CPMKostenplanung.ppt/HMW/25.05.2002 - 84 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.1 23 Datenbanken DV in der Produktion Data Mining Softwaregestützte Ermittlung bisher unbekannter Zusammenhänge, Muster und Trends in sehr großen DB Benutzer kann bestimmte Ziele vorgeben, für die das System angemessene Beurteilungskriterien ableitet und damit die Objekte der DB analysiert Oder das System teilt automatisch auf eine vage Frage hin eine gegebene Menge von Objekten in Cluster auf Beispiel: Analyse von Verkaufszahlen – zum Erkennen von Kaufverhalten oder von neuen Trends – zur Bestimmung wesentlicher Kundencharakteristika bzw. Zielgruppen Softwareprodukte verwenden komplexe Methoden der Statistik, der KI, EntscheidungsbaumTechniken Anwendungsschwerpunkt: Finanzwirtschaft/Banken Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 45 CPMKostenplanung.ppt/HMW/25.05.2002 - 85 - - 86 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.2 1 Normalisierung DV in der Produktion Normalisierung Dortmund, Oktober 1998 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund CPMKostenplanung.ppt/HMW/25.05.2002 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund 1 Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX: (0231)755-4902 Normalisierung DV in der Produktion Inhalt Seite Prozess der Normalisierung 3 Beispiel 4 Nichtnormalisierte Relationen 6 Erste Normalform 7 Zweite Normalform 9 Dritte Normalform 12 Vor- und Nachteile 15 Pseudo-Normalisierte Relationen 16 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 2 CPMKostenplanung.ppt/HMW/25.05.2002 - 87 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.2 2 Normalisierung DV in der Produktion Datenbanken-Entwurf mittels Normalisierung Wie können Inkonsistenzen der Dateneingabe weitestgehend vermieden werden? Welche Tabellen sind nötig, um einen Realitätsausschnitt ohne Redundanz abzubilden? Welche Attribute haben diese Tabellen? Normalisierung : Ein analytisches Verfahren zur Redundanz-Reduktion Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 3 CPMKostenplanung.ppt/HMW/25.05.2002 Normalisierung DV in der Produktion Beispiel: Gesucht wird ein Modell für die Entitäten: PERSON, ABTEILUNG, PRODUKT mit folgenden Eigenschaften: Ein Mitarbeiter hat jederzeit: einen NAMEN sowie einen WOHNORT. Er ist in einer ABTEILUNG tätig und arbeitet an mehreren PRODUKTEN jeweils eine vorbestimmte ZEIT. Jede Abteilung weist eine ABTEILUNGSNUMMER auf. Desgleichen ist jedem Produkt ein Produktname zugeordnet. In einer Abteilung sind mehrere PERSONEN tätig. Desgleichen arbeiten an einem Produkt in der Regel mehrere PERSONEN Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 4 CPMKostenplanung.ppt/HMW/25.05.2002 - 88 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.2 3 Normalisierung DV in der Produktion ... BEISPIEL: Beschreibung durch eine NICHTNORMALISIERTE RELATION PE# NAME WOHNORT A# A-NAME PR# PR-NAME ZEIT 101 HANS DORTMUND 1 PHYSIK 11, 12 A, B 60, 40 102 ROLF BOCHUM 2 CHEMIE 13 C 100 103 PETER ESSEN 2 CHEMIE 11, 12, 13 A, B, C 20, 50, 30 104 KLAUS UNNA 1 PNYSIK 11, 13 A, C 80, 20 Leseweise der 1. Zeile: Der Mitarbeiter Hans aus Dortmund mit der Personalnummer 101 arbeitet in der Abteilung Physik mit der Abteilungsnummer 1. Er ist an den Produkten A und B mit den Produktnummern 11 und 12 beteiligt. Seine Arbeitszeit ist zu 60% auf Produkt A und zu 40% auf Produkt B konzentriert. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 5 CPMKostenplanung.ppt/HMW/25.05.2002 Normalisierung DV in der Produktion Nichtnormalisierte Relationen Eine nichtnormalisierte Relation ist dadurch gekennzeichnet, daß sie Attribute mit Attributswerten aufweist, die sich aus mehr als einem Element zusammensetzen können. In einer nichtnormalisierten Relation sind am Kreuzungspunkt einer Zeile und einer Spalte unter Umständen also mehrere Elemente vorzufinden. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 6 CPMKostenplanung.ppt/HMW/25.05.2002 - 89 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.2 4 Normalisierung DV in der Produktion Relationen in erster Normalform Eine Relation in erster Normalform (1NF-Relation) besitzt keine Attribute mit Attributswerten, die sich aus mehreren Elementen zusammensetzen. In einer 1NF- Relation ist am Kreuzungspunkt einer Zeile mit einer Spalte also höchstens ein skalarer Wert vorzufinden. Schema einer 1NF-Relation: Alle Attribute sind funktional abhängig vom Gesamtschlüssel. R ( S, A, B, C, ... ) R ( S1, S2, A, B, C, ... ) Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 7 CPMKostenplanung.ppt/HMW/25.05.2002 Normalisierung DV in der Produktion ... BEISPIEL: Beschreibung durch eine NORMALISIERTE RELATION (1NF) PE# NAME WOHNORT A# A-NAME PR# PR-NAME ZEIT 101 101 102 103 103 103 104 104 HANS HANS ROLF PETER PETER PETER KLAUS KLAUS DORTMUND DORTMUND BOCHUM ESSEN ESSEN ESSEN UNNA UNNA 1 1 2 2 2 2 1 1 PHYSIK PHYSIK CHEMIE CHEMIE CHEMIE CHEMIE PHYSIK PHYSIK 11 12 13 11 12 13 11 13 A B C A B C A C 60 40 100 20 50 30 80 20 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 8 CPMKostenplanung.ppt/HMW/25.05.2002 - 90 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.2 5 Normalisierung DV in der Produktion Relationen in zweiter Normalform Eine Relation in zweiter Normalform (2NF-Relation) ist dadurch gekennzeichnet, daß jedes nicht dem Schlüssel angehörende Attribut funktional abhängig ist vom Gesamtschlüssel (1NF - Kriterium), nicht aber von einzelnen Schlüsselteilen. Schema einer 2NF-Relation: Alle Attribute sind funktional abhängig vom Gesamtschlüssel (1NF). Kein Attribut ist abhängig von Schlüsselteilen. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 9 CPMKostenplanung.ppt/HMW/25.05.2002 Normalisierung DV in der Produktion ... BEISPIEL: Beschreibung durch eine NORMALISIERTE RELATION (1NF) Abhängigkeiten der Attribute von den Schlüsseln PE# NAME WOHNORT A# A-NAME PR# PR-NAME ZEIT 101 101 102 103 103 103 104 104 HANS HANS ROLF PETER PETER PETER KLAUS KLAUS DORTMUND DORTMUND BOCHUM ESSEN ESSEN ESSEN UNNA UNNA 1 1 2 2 2 2 1 1 PHYSIK PHYSIK CHEMIE CHEMIE CHEMIE CHEMIE PHYSIK PNYSIK 11 12 13 11 12 13 11 13 A B C A B C A C 60 40 100 20 50 30 80 20 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 10 CPMKostenplanung.ppt/HMW/25.05.2002 - 91 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.2 6 Normalisierung DV in der Produktion ... BEISPIEL: Beschreibung durch eine RELATIONENSYSTEM (2NF) PE# NAME WOHNORT A# A-NAME PR# PR-NAME 101 HANS DORTMUND 1 PHYSIK 11 A 102 ROLF BOCHUM 2 CHEMIE 12 B 13 C 103 PETER ESSEN 2 CHEMIE 104 KLAUS UNNA 1 PHYSIK PE# PR# ZEIT 101 101 102 103 103 103 104 104 11 12 13 11 12 13 11 13 60 40 100 20 50 30 80 20 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 11 CPMKostenplanung.ppt/HMW/25.05.2002 Normalisierung DV in der Produktion Relationen in dritter Normalform Eigenschaften einer Relation in der dritten Normalform (3NF-Relation): Jedes Nicht-Schlüssel-Attribut ist funktional abhängig vom Gesamtschlüssel Kein Attribut ist funktional abhängig von einzelnen Schlüsselteilen. Zwischen den Nicht-Schlüssel-Attributen bestehen keine funktionalen Abhängigkeiten. Schema einer 3NF-Relation: Alle Attribute sind funktional abhängig vom Gesamtschlüssel (1NF). Kein Attribut ist abhängig von Schlüsselteilen (2NF). Keine funktionalen Abhängigkeiten zwischen Nichtschlüsselattributen (3NF). 1NF 2NF 3NF Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 12 CPMKostenplanung.ppt/HMW/25.05.2002 - 92 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.2 7 Normalisierung DV in der Produktion ... BEISPIEL: Abhängigkeiten zwischen Attributen in 2NF PE# NAME WOHNORT A# A-NAME 101 HANS DORTMUND 1 PHYSIK 102 ROLF BOCHUM 2 CHEMIE 103 PETER ESSEN 2 CHEMIE 104 KLAUS UNNA 1 PHYSIK 105 KATRIN GELSENKIRCHEN 1 CHEMIE falsch wegen der Abhängigkeit zwischen A# und A-NAME ! Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 13 CPMKostenplanung.ppt/HMW/25.05.2002 Normalisierung DV in der Produktion ... BEISPIEL: Beschreibung durch ein RELATIONENSYSTEM (3NF) PR# PR-NAME PHYSIK 11 A CHEMIE 12 B 13 C A# A-NAME 1 2 PE# NAME WOHNORT A# 101 HANS DORTMUND 1 102 ROLF BOCHUM 2 103 PETER ESSEN 2 104 KLAUS UNNA 1 PE# PR# ZEIT 101 101 102 103 103 103 104 104 11 12 13 11 12 13 11 13 60 40 100 20 50 30 80 20 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 14 CPMKostenplanung.ppt/HMW/25.05.2002 - 93 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 1.2 8 Normalisierung DV in der Produktion Vor- und Nachteile einer Relation in dritter Normalform Vorteile Nachteile Relativ stabile Tabellen Performance-Probleme wegen vieler gleichzeitig zu konsultierender Tabellen Relativ kleine Tabellen Datenunabhängigkeit Keine Redundanz Datenschutz läßt sich einfacher implementieren Weniger Eingabefehler Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 15 CPMKostenplanung.ppt/HMW/25.05.2002 Normalisierung DV in der Produktion ... BEISPIEL: Pseudo-normalisierte Relationen Relationen mit Spaltenwiederholungen PE# NAME WOHNORT A# A-NAME PR#1 PR-NAME 1 ZEIT 1 PR#2 PR-NAME 2 ZEIT 2 101 HANS DORTMUND 1 PHYSIK 11 A 60 12 B 40 102 ROLF BOCHUM 2 CHEMIE 13 C 100 - - - = Die Spalten mit den Doppeleintragungen werden vervielfacht. Das entspricht einer nicht normalisierten Relation! Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 16 CPMKostenplanung.ppt/HMW/25.05.2002 - 94 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 1 ORACLE DV in der Produktion ORACLE Crash-Kurs Dortmund, November 1998 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund CPMKostenplanung.ppt/HMW/25.05.2002 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund 1 Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX: (0231)755-4902 ORACLE DV in der Produktion Inhalt Seite Cooperative Development Environment Oracle-Grundlagen SQL*Plus Grundlagen Allgemeine Syntaxregeln Beispiel-Datenbank Aufbau einer Datenbank Einlesen von Daten Suchen von Daten Suchaufgaben Aktualisieren von Daten Löschen von Daten Constraints Views Formatierungen 6 7 8 12 15 16 19 20 22 23 24 25 27 28 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 2 CPMKostenplanung.ppt/HMW/25.05.2002 - 95 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 2 ORACLE DV in der Produktion ... Inhalt Seite Browser Grundlagen 31 Ablauf einer Query-Sitzung 32 Tabellen auswählen 33 Arbeitsblatt 34 Verknüpfung der Tabellen 35 Ausgabespalten definieren 36 Query ausführen 37 Zusätzliche Spalten definieren 38 Gruppierungen und Aggregationen 39 Datenexport 40 Aufgaben 41 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 3 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ... Inhalt Seite Forms Grundlagen 42 Anmelden 43 Eingabe Block 44 Layout Editieren 48 Compilieren 49 Abspeichern 50 Ausführen 51 Eingabe Tabellenform 52 Eingabe Master-Detail-Beziehung 53 Trigger 57 Dialoggestaltung 58 Aufgaben 59 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 4 CPMKostenplanung.ppt/HMW/25.05.2002 - 96 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 3 ORACLE DV in der Produktion ... Inhalt Seite Reports Grundlagen Anmelden Datenmodell definieren Default layout definieren Layout editieren Report ausführen Speichern Aufgaben 60 61 62 66 67 68 69 70 Anlegen einer Menüstruktur Definition der Menü-Items Abspeichern und Code-Generierung Integration in eine Maske Aufruf 71 72 77 78 79 Menüs Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 5 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ORACLE: Cooperative Development Environment (CDE) ORACLE umfasst eine Reihe von integrierten Tools: SQL*Plus – Standard Abfragesprache PL/SQL – Programmiersprache der 4.Generation, aufbauend auf SQL Oracle Forms – Entwicklungund Aufrufen von Bildschirmmasken zur Datenein- und ausgabe – Menüstrukturen Oracle Reports – Entwicklung und Aufrufen von Berichten zur Datenausgabe Oracle Graphics – Werkzeug zur graphischen Visualisierung von Daten sowie zur Erstellung von Multi-Media-Anwendungen Oracle Book – Hypermedia-Werkzeug für die Erstellung von Online-Dokumentationen mit Inhalten wie Texten, Bildern, digitalen Tonsequenzen und Video Oracle Data Browser – Datenzugriffswerkzeug zur Abfrage, Lokalisierung und Anzeige von Informationen aus verteilten Datenbanken. Benötigt nur grundlegende SQL-Kenntnisse Embedded SQL – Ermöglicht das Einbetten von SQL-Statements in andere Programmiersprachen wie C, C++, Ada, COBOL, FORTRAN, PASCAL, PL/I Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 6 CPMKostenplanung.ppt/HMW/25.05.2002 - 97 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 4 ORACLE DV in der Produktion ORACLE-Grundlagen Benutzerkategorien unter ORACLE: Systemverwalter Entwickler <---- hier relevant ! Endanwender Standard Passwords: login: scott password: tiger host: linuxora01 login: log01 password: logistik host: linuxora01 login log20 password: logistik host: linuxora01 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 7 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion SQL*Plus: Grundlagen Vorbereitungen Arbeitsverzeichnis anlegen: z.B. d:\oraworkdir (Default: c:\orant\bin) Die Dateien aus o:\seminare\winkels\oracle ins Arbeitsverzeichnis kopieren. SQL*Plus konfigurieren: (falls möglich, sonst Default-Verzeichnis benutzen) – – – – – Rechte Maustaste auf Icon Eigenschaften Verknüpfung Arbeitsverzeichnis Ihr Arbeitsverzeichnis eintragen. ASCII-Editor aufrufen und während der Sitzung geöffnet lassen: – – – – – Start Programme Zubehör Wordpad auf Arbeitsverzeichnis anwenden: z.B. Datei drop.sql öffnen SQL*Plus starten: – – – – Icon anklicken login: log01...log20 Password: logistik Der Eingabeprompt erscheint: SQL> host: linuxora01 SQL*Plus verlassen: – Exit Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 8 CPMKostenplanung.ppt/HMW/25.05.2002 - 98 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 5 ORACLE DV in der Produktion ... SQL*Plus: Grundlagen Es gibt SQL-Befehle und SQL-Plus-Kommandos (Pseudo-Befehle) Keine Unterscheidung zwischen Gross- und Kleinschreibung. Freies Editieren: Es brauchen keine Spaltenformate eingehalten werden, man sollte aber zur Fehlervermeidung und -erkennung so übersichtlich wie möglich schreiben. Befehlseingabe: 1. Möglichkeit: Direkt über die Tastatur unter SQL*Plus. – SQL> ...Text...(;) – Der Nachteil dieses Vorgehens besteht in den schlechten Editier-Möglichkeiten. – Wiederholung des letzten Befehls: run bzw. / 2. Möglichkeit: Befehl über den ASCII-Editor eingeben. – Befehlstext über den ASCII-Editor editieren. – Befehl als Datei mit der Extension „sql“ im Arbeitsverzeichnis abspeichern: z.B. MeinBefehl.sql – Aufrufen des Befehls unter der SQL-Oberfläche mit @ oder start oder sta: – z.B. @MeinBefehl oder start MeinBefehl oder sta MeinBefehl (Die Erweiterung .sql wird dabei nicht genannt!) Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 9 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ... SQL*Plus: Grundlagen Einige Pseudobefehle Übersicht – SHOW ALL – SHOW USER – SHOW RELEASE Alle Systemvariablen anzeigen Aktuellen Benutzer anzeigen Aktuelles Release anzeigen Bildschirmausgabe – – – – TTITLE „...“ BTITLE „...“ LEFT | RIGHT | CENTER SKIP n Top-Titel einer Ausgabe Fusstitel einerAusgabe Ausrichtung der Schrift n Zeilen Vorschub – – – – – SET ECHO [ON | OFF] SET PAUSE [ON | OFF] SET PAGESIZE n SET NUMWIDTH n SET LINESIZE n Anzeige der Ausgabe am Bildschirm Nach jedem gefüllten Bildschirm anhalten und auf Enter warten n Zeilen pro Seite n Stellen pro Zahlausgabe n Ziffern pro Zeile In der Datei LOGIN.SQL können die gewünschten Voreinstellungen abgespeichert werden und bei Systemstart als Voreinstellungen eingelesen werden. Falls LOGIN.SQL nicht existiert, werden die Standardeinstellungen benutzt. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 10 CPMKostenplanung.ppt/HMW/25.05.2002 - 99 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 6 ORACLE DV in der Produktion ... SQL*Plus: Grundlagen Parameter bei der Befehlseingabe: Der Befehl wird über den ASCII-Editor eingeben. Ein Platzhalter für einen Parameter wird durch das &-Zeichen gekennzeichnet. Nach dem &-Zeichen werden die Zahlen 1-9 verwendet, um die einzelnen Parameter zu unterscheiden. Man kann auch alphanumerische Zeichenfolgen angeben. Beim aktuellen Aufruf eines Befehls ist der erste Parameter stets der Name einer Datei mit dem Erweiterungsnamen SQL. Der zweite Parameter wird dem Platzhalter&1, der dritte dem Platzhalter &2 etc. zugeordnet. Beispiel: @query01a kunden START query01a kunden STA query01a kunden Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 11 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion SQL*Plus: Allgemeine Syntaxregeln für SQL*Plus-Kommandos Jedes SQL*Plus-Kommando geht über eine Zeile und muß nicht mit dem ;-Zeichen abgeschlossen werden. Um ein Kommando über mehere Zeilen verteilen zu können, wird am Ende einer fortzusetzenden Zeile ein Bindestrich (-) angegeben. Kommandopuffer: SQL-Kommando erneut ausführen – run bzw. / SQL-Kommando erneut anzeigen: – list Ausführen einer Textdatei: START Text-Datei STA Text-Datei @Text-Datei Bildschirmausgabe in Textdatei mitprotokollieren: Abspeichern der Bildschirmausgabe geschieht durch Aktivierung eines Spoolers: – SPOOL Dateiname.extension Abschalten des Spoolers: – SPOOL OFF Bildschirmhilfe HELP bzw. HELP Thema Betriebssystem-Befehl HOST Befehl z.B. HOST dir Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 12 CPMKostenplanung.ppt/HMW/25.05.2002 - 100 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 7 ORACLE DV in der Produktion SQL*Plus: Allgemeine Syntaxregeln für SQL-Befehle Jeder SQL-Befehl kann über mehrere Zeilen gehen und endet mit dem ;-Zeichen. Kommentare in SQL-Befehlen: 1. Form: 2. Form: 3. Form: /*...............*/ -REMARK bzw. REM alles zwischen den Begrenzern jeweils bis zum Ende der Zeile jeweils bis zum Ende der Zeile Man sollte Kommentare lieber zuviel als zuwenig benutzen! Namenskonventionen: Das erste Zeichen eines Namens ist ein Buchstabe Ansonsten besteht ein Name aus Buchstaben (A bis Z), Ziffern (0 bis 9) und den drei Sonderzeichen $, #,_. Dabei sollten $ und # nicht verwendet werden. Maximale Länge: 30 Zeichen Kein reserviertes Schlüsselwort Verwendung: Tabellen, Spalten sowie Sichten (views), Synonyme, Sequenzen, Indices, Benutzervariable Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 13 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ... SQL*Plus: Allgemeine Syntaxregeln für SQL-Befehle Datentypen Typ CHAR(n) VARCHAR2(n) Bedeutung n Zeichen fester Länge n Zeichen variabler Länge NUMBER(n,m) DATE n Ziffern, davon m hinter dem Dezimalpunkt Kalenderdatum LONG LONG VCHAR NUMBER NUMBER(*) NUMBER(n) DECIMAL INTEGER SMALLINT FLOAT RAW(n) LONG RAW Zeichenkette von mehr als 240 Zeichen entspricht LONG beliebige Zahl entspricht NUMBER beliebige Zahl entspricht NUMBER entspricht NUMBER entspricht NUMBER entspricht NUMBER binärer Datenstrom langer binärer Datenstrom Maximum 250 Zeichen 250 Zeichen n<=105, m<= 42 31.12.4712 65532 Zeichen 65532 Zeichen 40 Ziffern 105 Ziffern 240 Bytes 65535 Bytes Konstante (Literale): bei Zahlen wie üblich, bei Text mit Hochkommata: z.B. ´ .....Text ´; -1; 27.25; ´tt-mon-yy´ Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 14 CPMKostenplanung.ppt/HMW/25.05.2002 - 101 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 8 ORACLE DV in der Produktion SQL*Plus: Datenbankbeispiel Auftragsverwaltung Kunden: kdnr: kname: plz: ort: strasse: anspr_part: laufende Kundennummer Name des Kunden/Firma 5-stellige deutsche PLZ Ortsbezeichnung Strasse/Postfach mit Nummer Ansprechpartner mit Anrede Artikel: artnr: bez: verp_eh: Artikelnummer Artikelbezeichnung Verpackungseinheit Pstaffel: (Preistaffel) artnr: Artikelnummer mge_lb: untere Mengenbegrenzung der Preisspanne mge_ub: obere Mengenbegrenzung der Preisspanne preis: Preis pro Verp.Eh fuer eine Menge innerhalb des Mengenintervalls Akopf: (Auftragskopf) anr: laufende Auftragsnummer kdnr: Kundennummer des Auftraggebers bestelldat: Eingang der Bestellung lieferdat_soll: gewünschter Liefertermin des Kunden lieferdat_ist: tatsächlicher Liefertermin Apos: (Auftragspositionen) anr: Auftragsnummer pos: Auftragsposition 1 ... N artnr: Artikelnummer mge: angeforderte Mengeneinheiten gemessen in den Verp.Eh des Artikels, es können auch Dezimalwerte sein Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 15 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion SQL*Plus: Aufbau einer Datenbank SQL-Befehl „create table“: Anlegen einer Tabelle CREATE TABLE table-name (column-name datatype [NOT NULL] [,...] ); NOT NULL heisst: Wert erforderlich! NULL <> Zero! Aufgabe: 1. schemas.sql editieren und eigene Kommentare einfügen 2. schemas.sql ausführen SQL-Befehl „drop table“: Löscht Tabelle (mit den dazugehörigen Indices). DROP TABLE table-name; Aufgabe: 1. drop.sql editieren und eigene Kommentare einfügen 2. drop.sql ausführen SQL-Befehl „comment“: Abspeichern eines Kommentars (in den Metatabellen DBA_TAB_COMMENTS bzw. DBA_COL_COMMENTS): COMMENT ON { TABLE | COLUMN } IS ´.....Text ....´ SQL*Plus Kommando: „desc table“: Anzeigen der Struktur einer Tabelle DESC table-name Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 16 CPMKostenplanung.ppt/HMW/25.05.2002 - 102 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 9 ORACLE DV in der Produktion ... SQL*Plus: Aufbau einer Datenbank SQL-Befehl „create index on“: Anlegen eines Index auf einer Tabelle CREATE [UNIQUE] INDEX index-name ON table-name (column-name [ASC|DESC] [,...]); Aufgabe: 1. schemas.sql editieren und eigene Indexnamen einfügen 2. schemas.sql ausführen Namensgebung: z.B. itttccdd mit i für Index, ttt erste drei Buchstaben der Tabelle, cc erste zwei Buchstaben der ersten Spalte, dd erste zwei Buchstaben der zweiten Spalte o.ä. SQL-Befehl „drop index“: Löscht Index (aber nicht die zugehörige Tabelle). DROP INDEX index-name; Aufgabe: 1. dropindex.sql entwerfen und ausführen 2. index.sql entwerfen und ausführen Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 17 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ... SQL*Plus: Aufbau einer Datenbank ORACLE legt neben den normalen (durch create erzeugten) Tabellen noch eine Reihe von SYSTEMTABELLEN (Meta Datenbank) an, die Systemparameter und Nutzerprivilegien enthalten: DBA_DATA_FILES DBA_TABLESPACES DBA_FREE_SPACES DBA_USERSDBA_TS_QUOTAS DB_PROFILES DBA_SYS_PRIVS DBA_ROLES DBA_ROLE_PRIVS ROLE_TAB_PRIVS DBA_OBJECTS DICT Listung der physischen Datein Zuordnungen von Speicherplatz innerhalb DBS Freier Speicherplatz User mit Datenbankzutritt Speicherplatzberechtigungen System Privilegien pro User System- und Objektprivilegien (Rollen) Privilegien einer Rolle Rollen für Objektprivilegien auf Tabellen Datenbankobjekte Data Dictionary, alle Tabellen der Metadatenbank Aufgabe: 1. Lassen Sie sich die obigen Tabellen anzeigen 2. Geben Sie folgenden Befehl ein: select table_namefrom dict where table_name like ´USER%´ Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 18 CPMKostenplanung.ppt/HMW/25.05.2002 - 103 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 10 ORACLE DV in der Produktion SQL*Plus: Einlesen von Daten SQL-Befehl „insert into table“: Einlesen von einzelnen Zeilen in eine Tabelle INSERT INTO table-name VALUES ( value-list ); Value-List: Für jede Spalte der Tabelle eine entsprechende Konstante oder das Leerfeld. Für jede Spalte, die den Zusatz NOT NULL hat, muss ein Wert vorhanden sein. Aufgabe: 1. insert.sql editieren und eigene Daten hinzufügen 2. insert.sql ausführen Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 19 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion SQL*Plus: Suchen von Daten Der SELECT-Befehl SELECT [ALL | DISTINCT| UNIQUE] select-list FROM { table-name [ AS table-alias ] } [ ,... ] [ WHERE condition ] [ GROUP BY column-list ] [ HAVING condition ] [ ORDER BY column-name [ ASC | DESC ] [ ,... ] ] [ INTO TEMP table-name ] ; Select-List: - Wildcard * möglich, z.B. table-name.* - column-name oder table-name.column-name (je nach Eindeutigkeit) Conditions: - expr [ NOT ] Operator expr - expr [ NOT ] BETWEEN expr AND expr - expr [ NOT ] IN (items | SELECT-statement ) - column-name [ NOT ] LIKE { „string“ | column-name } ( mit Wildccards: %, _ ) - column-name IS [ NOT ] NULL - column-name Operator { ALL| ANY | SOME } ( SELECT-statement ) - EXISTS ( SELECT-statement ) - [ NOT ] condition [ { AND | OR } condition ] Aufgabe: Editieren und Ausführen von query01.sql - query22.sql Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 20 CPMKostenplanung.ppt/HMW/25.05.2002 - 104 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 11 ORACLE DV in der Produktion ... SQL*Plus: Suchen von Daten Kombinationen von SELECT-Befehlen Vereinigungsoperator (keine doppelten Spalten!): SELECT-Statement UNION SELECT-Statement; Erweiterter Vereinigungsoperator (mit doppelten Spalten!): SELECT-Statement UNION ALL SELECT-Statement; Differenzoperator SELECT-Statement MINUS SELECT-Statement; Durchschnittsbildung SELECT-Statement INTERSECTION SELECT-Statement; Dabei müssen die Select-Listen gleiche Anzahl Spalten und paarweise ähnlichen/verträglichen Aufbau/Datentyp besitzen! Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 21 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion SQL*Plus: Aufgaben zum Suchen von Daten Geben Sie Select-Befehle für folgende Fragestellungen an: Welche Kunden haben eine Bestellung aufgegeben? Welche Kunden haben nach dem 1.1.97 den Artikel „Lila Pause“ bestellt? Wieviel Kunden haben eine Bestellung aufgegeben? Wieviele Kunden aus dem 2-stelligen PLZ-Bereich 44 haben bestellt? Wieviel der potentiellen Kunden haben keine Bestellung aufgegeben? Welche Kunden haben mit einem Netto-Gesamtwert von mehr als DM 5000,- bestellt? Wieviel Kunden haben mit einem Netto-Gesamtwert zwischen DM 3000,- und DM 6000,bestellt? Geben Sie eine geordnete Liste der Kunden mit deren Umsatz aus! Wieviel Kunden haben zwischen 3 und 10 Artikel bestellt? Wieviel Kunden haben ihre Lieferung nicht zum gewünschten Liefertermin erhalten? Welche Artikel sind bestellt worden? Welche Artikel sind nicht bestellt worden? Geben Sie eine geordnete Liste der Artikel mit deren Umsatz aus! Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 22 CPMKostenplanung.ppt/HMW/25.05.2002 - 105 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 12 ORACLE DV in der Produktion SQL*Plus: Aktualisieren von Daten Der UPDATE-Befehl UPDATE table-name SET { column-name = expr [ ,... ] | { ( column-list ) | * } = ( expr-list ) } [ WHERE condition ] ; Conditions: - expr [ NOT ] Operator expr - expr [ NOT ] BETWEEN expr AND expr - expr [ NOT ] IN (items | SELECT-statement ) - column-name [ NOT ] LIKE { „string“ | column-name } - column-name IS [ NOT ] NULL - column-name Operator { ALL| ANY | SOME } ( SELECT-statement ) - EXISTS ( SELECT-statement ) - [ NOT ] condition [ { AND | OR } condition ] Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 23 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion SQL*Plus: Löschen von Daten Der DELETE-Befehl DELETE table-name [ WHERE condition ] ; Conditions: - expr [ NOT ] Operator expr - expr [ NOT ] BETWEEN expr AND expr - expr [ NOT ] IN (items | SELECT-statement ) - column-name [ NOT ] LIKE { „string“ | column-name } - column-name IS [ NOT ] NULL - column-name Operator { ALL| ANY | SOME } ( SELECT-statement ) - EXISTS ( SELECT-statement ) - [ NOT ] condition [ { AND | OR } condition ] Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 24 CPMKostenplanung.ppt/HMW/25.05.2002 - 106 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 13 ORACLE DV in der Produktion SQL*Plus: Constraints Oracle besitzt folgende Möglichkeiten zur Wahrung der Datenintegrität: semantische Integrität – Es kann geprüft werden, ob die Werte in den Spalten gewissen Plausibilitätsbedingungen genügen. referentielle Integrität – Es kann geprüft werden, ob ein vorgegebener Zusammenhang zwischen verschieden Tabellen eingehalten wird operationelle Integrität – Es muss sichergestellt werden, dass die Daten von mehreren Benutzern so geändert werden können, dass die Korrektheit der Daten nicht verloren geht Integrität kann über Constraint-Eingaben bei der Tabellendefinition erzwungen werden: create table table-name ( ... field-name fieldtype CONSTRAINT constraint-name constraint-command [, ...] ... ); Die Informationen über Constraints werden in folgenden Systemtabellen festgehalten: User_constraints user_cons_columns Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 25 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ... SQL*Plus: Constraints Constraints-Commands Einträge erzwingen (auch ohne Constraint-Zusatz) : – NOT NULL Primärschlüssel festlegen (auch ohne Constraint-Zusatz) : – PRIMARY KEY – ..., primary key( Spaltenname [ , Spaltenname... ] ) Eindeutigkeit festlegen (auch ohne Constraint-Zusatz): – UNIQUE Referentielle Integrität sicherstellen – [ foreign key( Spaltenname)] REFERENCES table-name(Spaltenname) Werteprüfung vornehmen – CHECK (Spaltenname BETWEEN ... AND ...) – CHECK (Spaltenname IN (.....), ) Standardwerte vorgeben (auch ohne Constraint-Zusatz): – DEFAULT Default-wert Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 26 CPMKostenplanung.ppt/HMW/25.05.2002 - 107 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 14 ORACLE DV in der Produktion SQL*Plus: Sichten (Views) Anlegen von VIEWS: CREATE VIEW AS Select-Statement Gründe für das Anlegen von Views: Abfragen übergreifen mehrere Tabellen und sollen für Endanwender überschaubar zusammengestellt werden Bestimmte Transformationen der Daten sollen immer wieder automatisch vorgenommen werden. Z.B. Berechnungen, Datumstransformationen, etc. Anwender sollen nur auf bestimmte Teilinformationen zugreifen können, um bestimmten Anforderungen an Sicherheitsbestimmungen zu genügen. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 27 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion SQL*Plus: Formatierungen für einfache Berichte Seite einrichten SET ECHO [ON | OFF] SET PAUSE [ON | OFF] SET PAGESIZE n SET NUMWIDTH n SET LINESIZE n Anzeige der Ausgabe am Bildschirm Nach jedem gefüllten Bildschirm anhalten und auf Enter warten n Zeilen pro Seite n Stellen pro Zahlausgabe n Ziffern pro Zeile Über- und Unterschriften TTITLE „...“ TTITLE OFF BTITLE „...“ BTITLE OFF Top-Titel einer Ausgabe einrichten abschalten Fusstitel einerAusgabe abschalten Ausrichtung LEFT | RIGHT | CENTER SKIP n Col n Ausrichtung der Schrift n Zeilen Vorschub Ausgabe ab Spalte n Beispiel: TTITLE LEFT „Text1“ COL 20 „Text 2“ Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 28 CPMKostenplanung.ppt/HMW/25.05.2002 - 108 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 15 ORACLE DV in der Produktion ... SQL*Plus: Formatierungen für einfache Berichte Definition von Ausgabevariablen: DEFINE Variablen-Name = ´.......´ z.B. DEFINE Zeile1 = ´Hallo Leute!!!´ TTITLE CENTER Zeile1 Spaltenformatierungen COLUMN Spalten-Name [ HEADING „Ausgabe-Text“ ] [Col n] [ FORMAT Format-Angabe ] [NEWLINE] SET HEADING OFF/ON Überschrift aus/an Gruppenwechsel BREAK on Spalten-Name [skip n | skip page | skip Weiterer-Spalten-Name ] Select-Statement mit Spalten-Name in order-by-clausel Break CLEAR BREAKS Zeigt Liste der Break-Befehle Löscht Break- Befehle Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 29 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ... SQL*Plus: Formatierungen für einfache Berichte Berechnung von Zwischen- und Endresultaten COMPUTE Funktion OF Spalte ON BREAK Kontroll-Spalte z.B. compute sum of preis on break anr Funktionen beim Befehl COMPUTE: SUM Summe der Werte einer Spalte MIN Minimum der Werte einer Spalte MAX Maximum der Werte einer Spalte AVG Durchschnitt der Werte einer Spalte STD Standardabweichung der Werte einer Spalte VAR Varianz der Werte einer Spalte COUNT Anzahl der von NULL verschiedenen Elemente einer Spalte NUM Anzahl der Zeilen der Spalte DESC View-Name Listen der Spalten eines Views Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 30 CPMKostenplanung.ppt/HMW/25.05.2002 - 109 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 16 ORACLE DV in der Produktion ORACLE Browser: Grundlagen Vorbereitungen Arbeitsverzeichnis ist angelegt: z.B. d:\oraworkdir. (Default: c:\orant\bin) Die Dateien aus o:\seminare\winkels\oracle sind ins Arbeitsverzeichnis kopiert worden. Browser 2.0 Extended konfigurieren: (falls möglich, sonst Default-Verzeichnis benutzen) – Eigenschaften von Browser 2.0 Extended aufrufen z.B. durch: Rechte Maustaste auf Icon oder über Rechte Maustaste auf Start/Explorer – Eigenschaften – Verknüpfung – Arbeitsverzeichnis – Ihr Arbeitsverzeichnis eintragen. Browser starten: – Icon anklicken – login: log01...log20 – Password: logistik – Connect: oranw32 oder nichts eingeben Browser verlassen: – File – Exit Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 31 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ... Browser: Ablauf einer Query-Sitzung Abfrage beim Einloggen: Neue Query: – Hier wird eine neue Abfrage angelegt Alte Query öffnen: – Hier wird das Verzeichnissystem zum Laden einer vorhandenen Abfrage gestartet. Editieren/ Verändern der Abfrage relevante Tabellen auswählen Verknüpfung definieren Ausgabespalten wählen zusätzliche (virtuelle Spalten) definieren Gruppierungen, Breaks, Totals definieren Ausführen über Icon oder Strg-E oder Query/Execute Query Speichern über Icon oder File/Save bzw. Save as Beenden Neue Query anlegen: Browser verlassen: Icon oder File/New Icon oder File/Close Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 32 CPMKostenplanung.ppt/HMW/25.05.2002 - 110 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 17 ORACLE DV in der Produktion Browser: Tabellen auswählen Alternativen: Automatisch bei neuem Query über Icon über Data/Select Data Tables Die relevanten Tabellen markieren und einfügen Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 33 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion Browser: Arbeitsblatt nach Tabellenauswahl Bildschirmteilung mit Window/Tile Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 34 CPMKostenplanung.ppt/HMW/25.05.2002 - 111 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 18 ORACLE DV in der Produktion Browser: Verknüpfung der Tabellen definieren Mit Data/Set Table Relationship oder graphisch mit Anklicken der Spalten Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 35 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion Browser: Ausgabe-Spalten wählen In der Reihenfolge der gewünschten Ausgabe anklicken Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 36 CPMKostenplanung.ppt/HMW/25.05.2002 - 112 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 19 ORACLE DV in der Produktion Browser: Query ausführen Icon oder Query/Execute Query Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 37 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion Browser: Zusätzliche Spalten definieren Results/Define Column ergibt die neue Ergebnisausgabe: Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 38 CPMKostenplanung.ppt/HMW/25.05.2002 - 113 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 20 ORACLE DV in der Produktion Browser: Gruppierungen und Aggregationen Results Break bei ANR Group bei ANR Total bei PosPreis Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 39 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion Browser: Datenexport File/Export Data erzeugt Ausgabemöglichkeiten in ASCII zum Import in Excel etc. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 40 CPMKostenplanung.ppt/HMW/25.05.2002 - 114 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 21 ORACLE DV in der Produktion Browser: Aufgaben zum Suchen von Daten Geben Sie Browser-Befehle für folgende Fragestellungen an: Bezug: 1. Quartal 1993 Welche Kunden haben eine Bestellung aufgegeben? Wieviel Kunden haben eine Bestellung aufgegeben? Wieviele Kunden aus dem 2-stelligen PLZ-Bereich 44 haben bestellt? Wieviel der potentiellen Kunden haben keine Bestellung aufgegeben? Wieviel Kunden haben mit einem Netto-Gesamtwert zwischen DM 3000,- und DM 6000,bestellt? Exportieren Sie eine geordnete Liste der Kunden mit deren Umsatz aus! Wieviel Kunden haben zwischen 3 und 10 Artikel bestellt? Wieviel Kunden haben ihre Lieferung nicht zum gewünschten Liefertermin erhalten? Welche Artikel sind bestellt worden? Welche Artikel sind nicht bestellt worden? Exportieren Sie eine geordnete Liste der Artikel mit deren Umsatz aus! Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 41 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ORACLE Forms: Grundlagen Vorbereitungen Arbeitsverzeichnis ist angelegt: z.B. d:\oraworkdir. (Default: c:\orant\bin) Die Dateien aus o:\seminare\winkels\oracle sind ins Arbeitsverzeichnis kopiert. Forms Designer konfigurieren: (falls möglich, sonst Default-Verzeichnis benutzen) – Eigenschaften von Forms Designer aufrufen z.B. durch: Rechte Maustaste auf Icon oder über Rechte Maustaste auf Start/Explorer – Eigenschaften – Verknüpfung – Arbeitsverzeichnis – Ihr Arbeitsverzeichnis eintragen. Forms Designer starten: – Icon anklicken – Das Forms-Fenster erscheint – Bei Strg-N oder bei Aufforderung (erst wenn Datenbank angesprochen wird): User Name: log01...log20 Password: logistik Forms verlassen: – File – Exit Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 42 CPMKostenplanung.ppt/HMW/25.05.2002 - 115 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 22 ORACLE DV in der Produktion ORACLE Forms: Anmelden Nach dem Anklicken erscheint: 1.Schritt: Nach File/Connect oder Strg N User: log01...log12 Password: logistik Anmelden wird sonst bei Blockeingabe gefordert. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 43 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ORACLE Forms: Block Eingabe Nach Anklicken von Block oder Tools/New Block folgender Ablauf: Base Table/Select Display: Current User & Tables Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 44 CPMKostenplanung.ppt/HMW/25.05.2002 - 116 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 23 ORACLE DV in der Produktion ... ORACLE Forms: Block Eingabe ... Nach Anklicken von Block oder Tools/New Block folgender Ablauf: Kunden anwählen ergibt als GENERAL-Maske: Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 45 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ... ORACLE Forms: Block Eingabe ... Nach Anklicken von Block oder Tools/New Block folgender Ablauf: ITEMS-Maske: Alle Spalten aktivieren in LAYOUT-Maske aktivieren: – Forms – Horizontal – Button Palette Master/Detail hier ignorieren OK Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 46 CPMKostenplanung.ppt/HMW/25.05.2002 - 117 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 24 ORACLE DV in der Produktion ... ORACLE Forms: Block Eingabe Nach der Block Eingabe ergeben sich folgende Eigenschaften: Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 47 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ORACLE Forms: Layout-Editieren Nach Tools/ Layout Editor ergibt sich: Editieren! Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 48 CPMKostenplanung.ppt/HMW/25.05.2002 - 118 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 25 ORACLE DV in der Produktion ORACLE Forms: Compilieren Nach jedem Editier-Vorgang muss die Maske übersetzt/ compiliert werden File/ Compile Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 49 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ... ORACLE Forms: Abspeichern Zur Sicherheit abspeichern File/ Save File/ Save as Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 50 CPMKostenplanung.ppt/HMW/25.05.2002 - 119 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 26 ORACLE DV in der Produktion ... ORACLE Forms: Ausführen Die Maske kann im Developper ausgeführt werden mit: File/ Run oder Icon oder über Forms Runtime (nach Eingabe der entsprechenden Zugriffsberechtigungen) Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 51 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ORACLE Forms: Eingabe einer Tabellenform Beispiel: Tabelle pstaffel Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 52 CPMKostenplanung.ppt/HMW/25.05.2002 - 120 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 27 ORACLE DV in der Produktion ... ORACLE Forms: Eingabe einer Tabellenform Ergibt folgende RunTime-Maske Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 53 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ORACLE Forms: Eingabe einer Master-Detail-Beziehung Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 54 CPMKostenplanung.ppt/HMW/25.05.2002 - 121 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 28 ORACLE DV in der Produktion ... ORACLE Forms: Eingabe einer Master-Detail-Beziehung Definition der Relation auf Akopf Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 55 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ... ORACLE Forms: Eingabe einer Master-Detail-Beziehung ...die zugehörige Maske (anr tritt hier noch doppelt auf!) Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 56 CPMKostenplanung.ppt/HMW/25.05.2002 - 122 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 29 ORACLE DV in der Produktion ORACLE Forms: Trigger und Built-in-Prozeduren In Forms sind Ereignisse mit Einstiegspunkten, sogen. Triggern definiert. An diesen Einstiegspunkten kann man PL/SQL-Code hinterlegen, sodass der Maskenablauf gesteuert abläuft. Es gibt folgende Arten von Triggern: – KEY-Trigger (Tastentrigger) – ON-Trigger (datenbabkbezogene Ereignisse) – PRE-Trigger (vor gewissen Ereignissen) – POST-Trigger (nach gewissen Ereignissen) – WHEN-Trigger (Prüfungungen) In ORACLE/Forms sind eine Vielzahl vordefinierter Trigger abrufbar. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 57 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ORACLE Forms: Möglichkeiten der Dialoggestaltung Dialoggestaltungsmöglichkeiten: graphische Gestaltungsmöglichkeiten (Layout-Editor) Navigation der Cursorposition, d.h. ablauforientierte Einrichtungen, Dialoge zu gestalten – Sequenznummer der Items – Navigationstrigger – List of Values (LOV) als Einblendfenster – Editoren als Einblendfenster – Optische Attribute (Visual Attributs) – Warnungen (Alerts) – Trigger für spezielle Items – Windows und Canvas-Views nicht modale Fenster, die vom Benutzer jederzeit manipuliert und verlassen werden können modale Fenster, bei denen der Benutzer in kein anderes fenster wechseln kann, ohne die vorgesehene Reaktion gemacht zu haben Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 58 CPMKostenplanung.ppt/HMW/25.05.2002 - 123 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 30 ORACLE DV in der Produktion ORACLE Forms: Aufgaben Generieren Sie Bildschirmmasken für folgende Tabellen: kunden Form artikel Form pstaffel Tabelle mit 20 Zeilen akopf Form apos Tabelle mit 10 Zeilen Experimentieren Sie dabei mit dem Layout-Editor! Geben Sie neue Daten ein: 5 Kunden 5 Artikel mit Preisstaffelung 5 Aufträge Exportieren Sie Ihre Daten als csv-Dateien (in ASCII mit ;-Trennzeichen) Generieren Sie Master-Detail-Masken für Auftrag: Artikeldaten: Akopf + Apos Artikel + Pstaffel Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 59 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ORACLE Reports: Grundlagen Vorbereitungen Arbeitsverzeichnis ist angelegt: z.B. c:\oraworkdir. (Default: c:\orant\bin) Die Dateien aus o:\seminare\winkels\oracle sind ins Arbeitsverzeichnis kopiert. Reports Designer konfigurieren: (falls möglich, sonst Default-Verzeichnis benutzen) – Eigenschaften von Reports Designer aufrufen z.B. durch: Rechte Maustaste auf Icon oder über Rechte Maustaste auf Start/Explorer – Eigenschaften – Verknüpfung – Arbeitsverzeichnis – Ihr Arbeitsverzeichnis eintragen. Reports Designer starten: – Icon anklicken – Das Repots-Fenster erscheint – Nach Strg-N oder bei Aufforderung (erst wenn Datenbank angesprochen wird): User Name: log01...log12 Password: logistik Reports verlassen: – File – Exit Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 60 CPMKostenplanung.ppt/HMW/25.05.2002 - 124 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 31 ORACLE DV in der Produktion ORACLE Reports: Anmelden Nach dem Anklicken erscheint: 1.Schritt: Nach File/Connect oder Strg+N User: log01...log20 Password: logistik Anmelden wird sonst bei Blockeingabe gefordert. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 61 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ORACLE Reports: Datenmodell definieren Tools/ Data Model Editor ergibt: Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 62 CPMKostenplanung.ppt/HMW/25.05.2002 - 125 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 32 ORACLE DV in der Produktion ... ORACLE Reports: Datenmodell definieren auf SQL klicken dann auf die Fläche klicken Ergibt Query Q_1 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 63 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ... ORACLE Reports: Datenmodell definieren Auf Q_1 klicken ergibt: ...dann auf Tables/Columns ergibt: ...und zum Abschluss Select-from anklicken. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 64 CPMKostenplanung.ppt/HMW/25.05.2002 - 126 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 33 ORACLE DV in der Produktion ... ORACLE Reports: Datenmodell definieren Default Layout anklicken Ergebnis: Querydefinition Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 65 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ORACLE Reports: Default Layout definieren Optionen für den Default Layout Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 66 CPMKostenplanung.ppt/HMW/25.05.2002 - 127 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 34 ORACLE DV in der Produktion ORACLE Reports: Layout editieren und Report aufrufen Run Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 67 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ORACLE Reports: Report ausführen Run Report ergibt folgenden Ausdruck (auf dem Bildschirm) zum Weiterleiten .... über Daten Model /Default eventuell anderen ReportTyp auswählen.... Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 68 CPMKostenplanung.ppt/HMW/25.05.2002 - 128 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 35 ORACLE DV in der Produktion ORACLE Reports: Speichern Report unter File/ Save oder File/ Save as abspeichern Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 69 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ORACLE Reports: Aufgaben Generieren Sie Reports für folgende Tabellen: kunden artikel pstaffel akopf apos Experimentieren Sie dabei mit dem Layout-Editor und den Standard-Layouts! Generieren Sie einen vollständigen Auftragsreport! Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 70 CPMKostenplanung.ppt/HMW/25.05.2002 - 129 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 36 ORACLE DV in der Produktion ORACLE Menüs: Anlegen einer Menüstruktur Im Forms Designer wird ein Menu-Objekt angelegt: Beispiel MSTRUKTUR Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 71 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ORACLE Menüs: Definition der Menü-Items Über Tools/ Menu Editor werden die Menü-Items editiert Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 72 CPMKostenplanung.ppt/HMW/25.05.2002 - 130 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 37 ORACLE DV in der Produktion ... ORACLE Menüs: Definition der Menü-Items Nach der Definition der Menü-Items ergeben sich folgende Eigenschaften. Zu jedem der Items werden nun die Eigenschaften definiert. Hauptmenü Untermenü Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 73 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ... ORACLE Menüs: Definition der Menü-Items Eingabe der Eigenschaften einer Verzweigung auf einen Menü-Punkt Bezeichnung des Unter-Menüs Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 74 CPMKostenplanung.ppt/HMW/25.05.2002 - 131 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 38 ORACLE DV in der Produktion ... ORACLE Menüs: Definition der Menü-Items Eingabe der Eigenschaften einer Verzweigung auf eine Bildschirmmaske Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 75 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ... ORACLE Menüs: Definition der Menü-Items Eingabe der Eigenschaften einer Verzweigung auf einen Report Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 76 CPMKostenplanung.ppt/HMW/25.05.2002 - 132 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 39 ORACLE DV in der Produktion ORACLE Menüs: Abspeichern und Generierung des Menü-Codes Abspeichern: File/ Save File/ Save as Es entsteht eine Datei mstruktur.mmb Generierung des Codes File/ Administration/ Generate oder Strg+T Es entsteht eine Datei mstruktur.mmx Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 77 CPMKostenplanung.ppt/HMW/25.05.2002 ORACLE DV in der Produktion ... ORACLE Menüs: Integration in eine Maske Über den Forms Designer wird nun eine Maske erzeugt, die die Menüstruktur aufnimmt: Beispiel: start.fmb Angabe der Menüdatei mstruktur.mmx Verkettung der Maske mit der Menüstruktur Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 78 CPMKostenplanung.ppt/HMW/25.05.2002 - 133 - DV in der Lager- und Transportwirtschaft 2 Datenbanken-Anwendung mit ACCESS und ORACLE 3 40 ORACLE DV in der Produktion ... ORACLE Menüs: Aufruf der Maske mit dem Menü Über Forms Runtime erhält man schließlich die Menü-gesteuerte Maske: Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 79 CPMKostenplanung.ppt/HMW/25.05.2002 - 134 - DV in der Lager- und Transportwirtschaft 3 Einführung in UNIX/ LINUX 1 UNIX DV in der Produktion UNIX Crash-Kurs Dortmund, Juli 1999 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund CPMKostenplanung.ppt/HMW/25.05.2002 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund 1 Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX: (0231)755-4902 UNIX DV in der Produktion Inhalt Seite Linux 3 FTP 4 Telnet Verbindung herstellen 6 Befehls-Übersicht 8 Text Editor vi 16 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 2 CPMKostenplanung.ppt/HMW/25.05.2002 - 135 - DV in der Lager- und Transportwirtschaft 3 Einführung in UNIX/ LINUX 2 UNIX DV in der Produktion Linux - Konkurrenz für Windows NT und Nachfolger Windows 2000 ? Linux macht Microsoft das Leben schwer !!! Der Finne Linus Torvalds tüffelte das Unix-Betriebssystems für den PC Es ist ein sehr gut durchdachtes Betriebssystem und wird im allgemeinem von technisch versierten Benutzern verwendet . Linux ist kostenlos Weltweit ist Linux mittlerweile auf mehr als sieben Millionen PC ´ s installiert Quelle: Spiegel Ausgabe 11/99 und andere Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 3 CPMKostenplanung.ppt/HMW/25.05.2002 UNIX DV in der Produktion FTP: File Transfer Protocol Über Exceed/FTP das Programm starten Open/Connection/ dann Parametereingabe: log01...log13 mit Password logistik Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 4 CPMKostenplanung.ppt/HMW/25.05.2002 - 136 - DV in der Lager- und Transportwirtschaft 3 Einführung in UNIX/ LINUX 3 UNIX DV in der Produktion ...FTP Fenstereinstellung Dateien bewegen mit „Markieren und schieben“! Einstellung sichern! Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 5 CPMKostenplanung.ppt/HMW/25.05.2002 UNIX DV in der Produktion PC-Linux-Verbindung herstellen Verbindung des PC unter Windows zum Linux-Rechner der FH-DO Telnet unter Exceed aufrufen Terminal auf VT einstellen Rechnerverbindung: 193.25.21.146 User: gams01...gams13 1. Password: gams Password ändern: logistik Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 6 CPMKostenplanung.ppt/HMW/25.05.2002 - 137 - DV in der Lager- und Transportwirtschaft 3 Einführung in UNIX/ LINUX 4 UNIX DV in der Produktion ... PC-UNIX-Verbindung herstellen Verbindung des PC unter Windows zum AIX-Rechner der FH-DO für Informix Telnet unter Exceed aufrufen Terminal auf vt220 einstellen, Rückwärts-Pfeil auf Löschen Rechnerverbindung: fhdo1 (193.25.16.38) User: fb9dv001 - fb9dv020 1. Password: inform12 Password ändern: logistik Systemvariablen setzen . set.informix (nach dem 1.Punkt ein Blank!) export TERM=‘‘vt100‘‘ export DBPATH=‘‘$HOME‘‘ Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 7 CPMKostenplanung.ppt/HMW/25.05.2002 UNIX DV in der Produktion Befehlsübersicht UNIX Unix unterscheidet zwischen der Gross- und Kleinschreibung Dateinamen: <name>.<extension> von quasi beliebiger Länge (255 Zeichen), jedoch keine „blanks“ Verzeichnisstruktur wie bei DOS, aber / („slash“) unter UNIX entspricht \ („backslash“) unter DOS Wildccards * und ? wie unter DOS Über den Pipe | können Outputs aus Befehlen als Input in andere Befehle geleitet werden: <Den Output produzierende Prozedur> | <Den Output weiterverarbeitende Prozedur> UNIX DOS who am i who „User-Id“ „Userliste“ ls ls -l ls -l | pg ls -l u* dir /w dir dir /p dir u* Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 8 CPMKostenplanung.ppt/HMW/25.05.2002 - 138 - DV in der Lager- und Transportwirtschaft 3 Einführung in UNIX/ LINUX 5 UNIX DV in der Produktion ... Befehlsübersicht UNIX $ls -l führt zu: -rwxr-xr-x 1 mueller sys 13 Feb 14 10:23 xx -rwxr--r-- 1 mueller sys 223 Jan 12 12:43 huhu.c drwxr-xr-x 1 mueller sys 512 Jan 15 13:03 DOKU -rwxr-xr-x 3 mueller sys 523 Jan 12 12:23 hallo.c !----- ! ! ! ! ! ! ! ! ! --- ! ! ! ! ! ! ! -----> ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! -----------------> ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! -----------------------> ! ! ! ! ! ! ! ! ! ! ! ! ! ---------------------------> ! ! ! ! ! ! ! ! ! ! ! ---------------------------------> ! ! ! ! ! ! ! ! ! --------------------------------------> ! ! ! ! ! ! ! -----------------------------------------> ! ! ! ! ! --------------------------------------------> ! ! ! -----------------------------------------------> Dateiname letzte Aenderung -r Lesen (read) -w Schreiben (write) -x Ausführen (execute) -u Erzeuger (user/owner) -g Benutzergruppe (group) Andere Benutzer (others) -o Groesse in Byte Besitzergruppe Besitzer/Erzeuger Anzahl Verweise auf diese Datei Zugriffsrechte others Zugriffsrechte group Zugriffsrechte user (owner/Besitzer) !------------------------------------------------> Dateityp: - : Datei; d : Directory Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 9 CPMKostenplanung.ppt/HMW/25.05.2002 UNIX DV in der Produktion ... Befehlsübersicht UNIX Unix Dateiverzeichnisse Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 10 CPMKostenplanung.ppt/HMW/25.05.2002 - 139 - DV in der Lager- und Transportwirtschaft UNIX 3 Einführung in UNIX/ LINUX 6 DV in der Produktion ... Befehlsübersicht UNIX UNIX DOS mkdir <name> cd <verzeichnis> pwd md <name> cd <verzeichnis> cd . make directory change directory print working directory cat <dateiname> mv <name1> <name2> type <dateiname> ren <name1> <name2> catalog move cp <name1> <name2> cp <name> ../ rm <name> rmdir <verzeichnis> copy <name1> <name2> copy <name> ..\ del <name rd <verzeichnis> copy copy ins Unterverz. remove remove directory (muss leer sein!) man <Unix-Befehl> cat <name> | lp <DOS-Befehl> /? print <name> Manual catlog Umleitung zum Lineprinter (Drucker) Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 11 CPMKostenplanung.ppt/HMW/25.05.2002 UNIX DV in der Produktion ... Befehlsübersicht UNIX Besondere UNIX-Befehle chmod Syntax: Zugriffsrechte ändern chmod XXX datei1 [ datei 2 ]... [datei n ] Dabei steht XXX für 3 Oktalziffern, die sich aus der Addition der folgenden Einzelrechte errechnen: 400 Zugriff Lesen für Besitzer (owner) 200 Zugriff Schreiben für Besitzer 100 Zugriff Ausführen für Besitzer 40 Zugriff Lesen für Gruppe (group) 20 Zugriff Schreiben für Gruppe 10 Zugriff Ausführen für Gruppe 4 Zugriff Lesen für Andere (others) 2 Zugriff Schreiben für Andere 1 Zugriff Ausführen für Andere chown Syntax: Passwd Besitzer wechseln chown benutzername datei1 datei2 ... Passwort ändern Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 12 CPMKostenplanung.ppt/HMW/25.05.2002 - 140 - DV in der Lager- und Transportwirtschaft 3 Einführung in UNIX/ LINUX 7 UNIX DV in der Produktion ... Befehlsübersicht UNIX Besondere UNIX-Befehle (Forts.) find Dateien suchen find sucht (rekursiv durch alle Unterdirectories) ab dem angegebenen Directory nach Dateien, die bestimmte Bedingungen erfüllen, und führt für diese bestimmte Aktionen durch. Syntax: find directory bedingung aktion 1 [... aktion n ] – Einige Optionen für bedingung - name \datei\ Dateien mit angegeben Dateinamen werden gesucht. - perm XXX Dateien mit oktalem Zugriffsrecht XXX werden gesucht. - user name Dateien mit Besitzer name werden gesucht. - group name Dateien mit Gruppe name werden gesucht. – Einige Optionen für aktion - print Ausgabe des Pfadnamens der gefundenen Dateien - space wie –print aber mit Dateigröße - exec Ausführen eines Shell-Kommandos Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 13 CPMKostenplanung.ppt/HMW/25.05.2002 UNIX DV in der Produktion ... Befehlsübersicht UNIX Besondere UNIX-Befehle (Forts.) sort Datei sortieren Sortiert die Zeilen der angegebenen Datei lexigraphisch nach ASCII-Zeichensatz. sort wird häufig auch als Filter eingesetzt. Syntax: sort [ optionen ] dateiname Optionen: - b Leer- und Tabulatorzeichen am Zeilenanfang ignorieren - d nur a-z,0-9,BLANK berücksichtigen - f Großbuchstaben wie Kleinbuchstaben behandeln - n numerische Zeichen nach ihrem Zahlenwert sortieren - r in umgekehrter Reihenfolge sortieren - m mischt nur, Eingabedateien sind schon sortiert - div. weitere Optionen (Spaltenposition, Sortierschlüssel.....) Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 14 CPMKostenplanung.ppt/HMW/25.05.2002 - 141 - DV in der Lager- und Transportwirtschaft 3 Einführung in UNIX/ LINUX 8 UNIX DV in der Produktion ... Befehlsübersicht UNIX Besondere UNIX-Befehle (Forts.) grep Textmustersuche grep durchsucht die angegebene(n) Datei(en) nach dem angegebenen Textmuster, und gibt die Zeilen der Datei(en) aus, die das Muster enthalten.. Syntax: grep [optionen ] textmuster datei1 ...... Optionen: - c Anzahl der Trefferzeilen wird gezählt. - f dateiname | textmuster steht in Datei, nicht im Argument. - h keine Dateinamen in der Ausgabe (header weglassen). - n vor jeder Trefferzeile die entsprechende Zeilennummer ausgeben. - v Invertierung des Befehls; alle nicht-Treffer ausgeben. - y Großbuchstaben wie Kleinbuchstaben behandeln. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 15 CPMKostenplanung.ppt/HMW/25.05.2002 UNIX DV in der Produktion Der Text-Editor vi Der vi (sprich: „wie-ei“) ist der klassische UNIX-Texteditor für ASCII-Dateien. Er verfügt über folgende Vorteile besteht aus einer Datei (ca. 80 KB) arbeitet sowohl unter MS-DOS als auch unter UNIX (eine MS-DOS-Version wird mit MKS-vi beispielsweise von Mortice Kern Systems Inc, Waterloo, Ontario, Canada angeboten) ist auch extern zu steuern bietet die Möglichkeit, Dateien fast beliebiger Größe zu editieren (bis mind. 10 MB) ermöglicht schnelle Editierung durch umfangreiche Befehlsoptionen Der Aufruf erfolgt durch die Eingabe von: vi <filename.extension> Es ist hierbei unerheblich, ob die benannte Datei existiert oder nicht. Gegebenenfalls wird sie von vi angelegt. Die benannte Datei sollte eine ASCII- oder Textdatei sein, da sonst Daten verloren gehen könnten! Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 16 CPMKostenplanung.ppt/HMW/25.05.2002 - 142 - DV in der Lager- und Transportwirtschaft 3 Einführung in UNIX/ LINUX 9 UNIX DV in der Produktion ... Der Text-Editor vi Man unterscheidet beim vi zwei Arbeitsmodi : den Textmodus den Befehlsmodus Nach dem Start des Editors befindet man sich automatisch im Befehlsmodus: beim Drücken der Esc-Taste ertönt ein Piepton. Empfehlung: Da der Editor nicht durch Drücken der Esc-Taste verlassen werden kann, empfiehlt es sich, diese Taste immer dann zu drücken bis der Piepton ertönt, wenn man sicher gehen will, im Befehlsmodus zu sein. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 17 CPMKostenplanung.ppt/HMW/25.05.2002 UNIX DV in der Produktion ... Der Text-Editor vi Der Textmodus Der Textmodus ermöglicht die Eingabe von Text, nicht aber Operationen wie Kopieren, Einfügen von Bufferinhalten, Löschen ganzer Textpassagen, Speichern oder Einlesen von Text. Möglichkeiten, um in den Textmodus zu gelangen: a startet Texteingabe nach der gegenwärtigen Cursorposition i startet Texteingabe vor der gegenwärtigen Cursorposition A startet Texteingabe am Ende der Zeile I startet Texteingabe vor dem 1. Zeichen der Zeile O startet Texteingabe oberhalb der gegenwärtigen Zeile o startet Texteingabe unterhalb der gegenwärtigen Zeile Der Textmodus wird durch einmaliges Drücken der Esc-Taste verlassen. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 18 CPMKostenplanung.ppt/HMW/25.05.2002 - 143 - DV in der Lager- und Transportwirtschaft 3 Einführung in UNIX/ LINUX 10 UNIX DV in der Produktion ... Der Text-Editor vi Der Befehlsmodus Im Befehlsmodus werden die meisten Editierfunktionen ausgeführt. Der Editor kann auch nur von hier verlassen werden! Der Befehlsmodus unterscheidet zwei Eingabeebenen – die direkte Eingabe löst die entsprechende Aktion sofort aus – die Befehlszeileneingabe. Um in die Befehlszeile zu gelangen wird zunächst ein ":" (Doppelpunkt) eingegeben. Es erscheint danach in der untersten Bildschirmzeile ein Doppelpunkt, hinter dem die Makrobefehle eingegeben werden können. Nach Betätigen der Enter-Taste wird der Befehl ausgeführt. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 19 CPMKostenplanung.ppt/HMW/25.05.2002 UNIX DV in der Produktion ... Der Text-Editor vi Der Befehlsmodus (Forts.) Start des Befehlsmodus – Automatisch beim Start des Editors – Ein Verlassen des Textmodus führt automatisch in den Befehlsmodus. Jedes weitere Drücken der Esc-Taste führt nur zur Erzeugung von Pieptönen. Verlassen: ZZ Verlassen mit Abspeichern :q! Verlassen ohne Abspeichern :w <filename.extension> Verlassen und Inhalt abspeichern unter neuem Namen (z.B. :w test.txt) :w! <filename.extension> Verlassen und Inhalt abspeichern unter angegebenem Namen, falls vorhanden überschreiben Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 20 CPMKostenplanung.ppt/HMW/25.05.2002 - 144 - DV in der Lager- und Transportwirtschaft 3 Einführung in UNIX/ LINUX 11 UNIX DV in der Produktion ... Der Text-Editor vi Der Befehlsmodus (Forts.) Bewegen: Ctrl B eine Seite zurück Ctrl F eine Seite vorwärts Ctrl U eine halbe Seite zurück Ctrl D eine halbe Seite vorwärts Springen: G springt in die letzte Zeile der Datei <zeilennummer>G springt in die angegebene Zeile $ springt zum Zeilenende ^ springt zum Zeilenanfang Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 21 CPMKostenplanung.ppt/HMW/25.05.2002 UNIX DV in der Produktion ... Der Text-Editor vi Der Befehlsmodus (Forts.) Objekt-Manipulationen: dd löscht gegenwärtige Zeile und schreibt sie in den Buffer <anzahl>dd löscht <anzahl> Zeilen und schreibt sie in den Buffer dw löscht nächstes Wort und schreibt es in den Buffer <anzahl>dw löscht <anzahl> Wörter und schreibt sie in den Buffer yy schreibt gegenwärtige Zeile in Buffer <anzahl>yy schreibt <anzahl> Zeilen in Buffer yw schreibt nächstes Wort in Buffer <anzahl>yw schreibt <anzahl> Wörter in Buffer p schreibt Bufferinhalt nach Cursor P schreibt Bufferinhalt vor Cursor Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 22 CPMKostenplanung.ppt/HMW/25.05.2002 - 145 - DV in der Lager- und Transportwirtschaft 3 Einführung in UNIX/ LINUX 12 UNIX DV in der Produktion ... Der Text-Editor vi Der Befehlsmodus (Forts.) Objekt-Manipulationen (Forts.): Del-Taste löscht nächstes Zeichen x löscht nächstes Zeichen <anzahl>x löscht <anzahl> Zeichen dG löscht bis zum Dateiende d1G löscht bis zum Dateianfang D schneidet Rest der Zeile ab J verbindet aktuelle Zeile mit nächster Zeile Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 23 CPMKostenplanung.ppt/HMW/25.05.2002 UNIX DV in der Produktion ... Der Text-Editor vi Der Befehlsmodus (Forts.) gezielte Manipulation: r ersetzt das Zeichen unter dem Cursor durch das nächste über die Tastatur eingegebene Zeichen cw ersetzt alle Zeichen bis zum nächsten "$" durch die Tastatureingabe bis ESC eingegeben wird Suchen: /<text> sucht <text> nach unten ?<text> sucht <text> nach oben n wiederholt letzten Suchbefehl N wiederholt letzten Suchbefehl aber in umgekehrter Richtung Wiederholung: . („Punkt“) wiederholt letzten Befehl Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 24 CPMKostenplanung.ppt/HMW/25.05.2002 - 146 - DV in der Lager- und Transportwirtschaft 3 Einführung in UNIX/ LINUX 13 UNIX DV in der Produktion ... Der Text-Editor vi Der Befehlsmodus (Forts.) Makrobefehle: – Syntax: :[adressliste] [befehl] [!] [parameter] – Adressliste: [.,$] von aktueller Zeile bis Dateiende [5,+6] von 5. Zeile an 6 Zeilen [5,-7] von 5. Zeile an 7 Zeilen zurück [-6,$] von 6 Zeilen zurück bis Dateiende Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 25 CPMKostenplanung.ppt/HMW/25.05.2002 UNIX DV in der Produktion ... Der Text-Editor vi Der Befehlsmodus (Forts.) Beispiele für Makrobefehle: 1,$s/Meier/Schulze/g ersetzt in gesamter Datei "Meier" durch "Schulze" ohne Bestätigung .,$s/Meier/Schulze/ ersetzt von aktueller Position bis zum Dateiende "Meier" durch "Schulze“mit Bestätigung r<datei> liest den Inhalt von <datei> nach dem Cursor ein .,+10w test.txt schreibt die nächsten 10 Zeilen in Datei "test.txt" 1,.w>> test.txt hängt alle Zeilen bis zur aktuellen Zeile an die Datei "test.txt" an -5,+6w! test.txt schreibt alle Zeilen von 5 Zeilen vorher bis 6 Zeilen nachher in "test.txt" Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 26 CPMKostenplanung.ppt/HMW/25.05.2002 - 147 - - 148 - DV in der Lager- und Transportwirtschaft 4 Optimierungsanwendungen mit GAMS 1 GAMS DV in der Produktion GAMS (General Algebraic Modeling System) Crash-Kurs Dortmund, Januar 1999 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund CPMKostenplanung.ppt/HMW/25.05.2002 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund 1 Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX: (0231)755-4902 GAMS DV in der Produktion Inhalt Seite Charakterisierung 3 Betriebssysteme 4 Installation unter DOS 5 Die Modell-Library 6 Ablauf einer GAMS-Sitzung 7 Beispiel: Das klassische Transportsystem 8 Struktur eines GAMS-Programmes 11 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 2 CPMKostenplanung.ppt/HMW/25.05.2002 - 149 - DV in der Lager- und Transportwirtschaft 4 Optimierungsanwendungen mit GAMS 2 GAMS DV in der Produktion Charakterisierung von GAMS GAMS (General Algebraic Modeling System) ist eine Programmiersprache zur Formulierung eines Problems innerhalb algebraischer Formeln mit integrierter Schnittstelle zur Lösung dieses Problems über einen Optimierungsalgorithmus. – Mathematische Modellierung realer (ökonomischer oder technischer) Probleme – Ermittlung einer optimalen Lösung innerhalb der definierten Restriktionen und Zielvorstellungen Die wichtigsten Modelltypen – LP Lineare Programmierung: keine nichtlinearen Terme und keine diskreten Variablen – NLP Nichtlineare Programmierung: differenzierbare Funktionen aber keine diskreten Variablen – MIP Mixed Integer Programming: lineare Terme und diskrete Variablen (ganzzahlig oder binär) – MCP Mixed Complementary Problems: lineare Terme und logische (Komplemetär-) Bedingungungen Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 3 CPMKostenplanung.ppt/HMW/25.05.2002 GAMS DV in der Produktion GAMS unter verschiedenen Betriebssystemen GAMS besitzt unterschiedliche Betriebssystem-Plattformen: Windows – Eine freie Studentenversion (eingeschränkte Modellgrösse) steht unter o:\seminare\winkels\dvlut\gams\win zum Herunterladen bereit. DOS – Eine freie Studentenversion (eingeschränkte Modellgrösse) steht unter o:\seminare\winkels\dvlut\gams\dos zum Herunterladen bereit. UNIX – – – – – – Telnet unter Exceed aufrufen Terminal auf Wyse 60 einstellen Rechnerverbindung: fb9aix02 (193.25.21.207) User: log01...log13 1. Password: gams Password ändern: logistik keine eingeschränkte Modellgrösse Standard Optimierer: OSL von IBM Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 4 CPMKostenplanung.ppt/HMW/25.05.2002 - 150 - DV in der Lager- und Transportwirtschaft 4 Optimierungsanwendungen mit GAMS 3 GAMS DV in der Produktion Installation der DOS-Version Disketten ins Zielverzeichnis kopieren Wechsel in MS-DOS >C: >md gams225 >cd gams225 >copy a:*.* oder welches Laufwerk Sie wünschen oder eine andere Bezeichnung oder entsprechend für jede Diskette! gamsinst ausführen! Testen: >gamslib trnsport >gams trnsport >print trnsport.lst Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 5 CPMKostenplanung.ppt/HMW/25.05.2002 GAMS DV in der Produktion Die Modell-Library GAMS besitzt eine Library von klassischen Programm-Beispielen gamslib index gamslib <name> gamslib <nr> erzeugt das Gesamtverzeichnis index.gms erzeugt die GAMS-Datei <name>.gms erzeugt die GAMS-Datei prob<nr>.gms Beispiel: $Title GAMS Model Library (INDEX,SEQ=0) $stitle Sorted by Name $ontext Two views of the 160 models in the GAMS Model Library. For more details, see 'GAMS: A User's Guide', Chapter 19 First, sorted by name: Name Seq Title -----------------------------------------------------------ABEL 64 Linear Quadratic Control Problem AGRESTE 88 Agricultural Farm Level Model of NE Brazil AIRCRAFT 8 Aircraft Allocation Under Uncertain Demand AJAX 60 Ajax Paper Company Production Schedule ALAN 124 A Quadratic Programming Model for Portfolio Analysis ALUM 31 World Aluminum Model AMPL 74 AMPL Sample Problem ANDEAN 44 Andean Fertilizer Model BATCHDES 119 Optimal Design for Chemical Batch Processing BID 19 Bid Evaluation BLEND 2 Blending Problem I Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 6 CPMKostenplanung.ppt/HMW/25.05.2002 - 151 - DV in der Lager- und Transportwirtschaft 4 Optimierungsanwendungen mit GAMS 4 GAMS DV in der Produktion Ablauf ein GAMS-Sitzung Schritt1: Editieren der Quell-Datei z.B. vi trnsport.gms Schritt 2: Aufrufen von GAMS z.B. gams trnsport Schritt 3: Listen des Ergebnisses z.B. Ausdrucken von trnsport.lst cat trnsport.lst | lp z.B. Ansehen von trnsport.lst vi trnsport.lst Schritt 4: Eventuelle Veränderung ----> Schritt1 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 7 CPMKostenplanung.ppt/HMW/25.05.2002 GAMS DV in der Produktion Beispiel: Das (klassische) Transportproblem Problembeschreibung: Ein bestimmtes Gut wird in m verschieden Fabriken hergestellt und soll auf n verschiedene Märkte transportiert werden. – Die Angebote der Fabriken ai sowie der Bedarf der Märkte bj ist bekannt. – Pro Einheit des Gutes sind die Transportkosten cij von jeder Fabrik zu jedem Markt gegeben. Wieviel Einheiten xij sollen von Fabrik i zum Markt j transportiert werden, sodass der gesamte Bedarf der Märkte gedeckt wird und die Transportkosten minimal sind? Angebot Bedarf b1 a1 b2 a2 b3 a2 b4 Fabriken Märkte Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 8 CPMKostenplanung.ppt/HMW/25.05.2002 - 152 - DV in der Lager- und Transportwirtschaft 4 Optimierungsanwendungen mit GAMS 5 GAMS DV in der Produktion ... Beispiel: Das (klassische) Transportproblem Mathematische Problembeschreibung Indices: i = Fabriken j = Märkte Gegebene Daten: ai = Angebot des Gutes durch Fabrik i bj = Nachfrage des Gutes durch Markt j cij = Transportkosten pro Einheit des Gutes von Fabrik i zum Markt j Entscheidungsvariable: xij = Menge des Gutes, die von Fabrik i zum Markt j transportiert werden soll where x 0, for all i, j Restriktionen: Beachte das Angebotslimit der Fabrik i: Erfülle die Nachfrage des Marktes j: x j i xij ai , ij b j, für alle i für alle j Zielfunktion: Minimiere c x i j ij ij Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 9 CPMKostenplanung.ppt/HMW/25.05.2002 GAMS DV in der Produktion ... Beispiel: Das (klassische) Transportproblem Konkrete Zahlenbeschreibung Transport-Entfernungen Angebote Märkte Fabriken New York Chicago Topeka Seattle San Diego 2.5 2.5 1.7 1.8 1.8 1.4 Nachfrage 325 300 275 350 600 Die Distanz ist in 1000 Meilen angegeben. Pro 1000 Meilen werden $90,00 als Transportkosten pro Einheit angenommen. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 10 CPMKostenplanung.ppt/HMW/25.05.2002 - 153 - DV in der Lager- und Transportwirtschaft 4 Optimierungsanwendungen mit GAMS 6 GAMS DV in der Produktion Struktur eines GAMS-Programms: Übersicht Inputs Output Sets Echo Print Deklaration Zuordnung der Elemente Reference Maps Equation Listings Data (Parameters, Tables, Scalar) Status Reports Results Deklaration Wertzuweisungen Variables Deklaration Typzuweisung Zuordnung von Bounds Anfangswerten (optional) Equations und/oder Deklaration Definition Model und Solve statements Display statement (optional) Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 11 CPMKostenplanung.ppt/HMW/25.05.2002 GAMS DV in der Produktion ... Struktur eines GAMS-Programms Allgemeine Konventionen: GAMS ist eine Sammlung von Statements. Eine Entität (Begriff, Menge, Skalar, Tabelle, Parameter, etc.) kann erst dann benutzt werden, wenn sie vorher definiert ist. Gross- und Kleinschreibung: – Keine Unterscheidung Formatierung: – ASCII-Text – frei formatierbar: Freie Zeilen und Blanks nach Belieben Kommentare: – Jede Zeile mit * in Spalte 1 ist eine Kommentarzeile – Es können aber auch Kommentare in Statements eingefügt werden, siehe dort! Jedes Statement sollte (vorsichtshalber) mit einem Semicolon beendet werden! Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 12 CPMKostenplanung.ppt/HMW/25.05.2002 - 154 - DV in der Lager- und Transportwirtschaft 4 Optimierungsanwendungen mit GAMS 7 GAMS DV in der Produktion ... Struktur eines GAMS-Programms: Sets Das Set-Statement (Mengendeklaration) Beispiel 1: SETS I J canning plants markets / SEATTLE, SAN-DIEGO / / NEW-YORK, CHICAGO, TOPEKA / ; I canning plants / SEATTLE, SAN-DIEGO /; J markets / NEW-YORK, CHICAGO, TOPEKA / ; Beispiel 2: SET SET Beispiel 3: Set t Set m time periods machines bedeutet: /1991*2000/ ; /mach1*mach24/ ; t = {1991,1992,1993, .....,2000} m = { mach1, mach2,......mach24}, Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 13 CPMKostenplanung.ppt/HMW/25.05.2002 GAMS DV in der Produktion ... Struktur eines GAMS-Programms: Sets Das Set-Statement (Mengendeklaration) (Forts.) Set oder Sets Kommentare nach der Mengendeklaration möglich. Das ALIAS-Statement: Alias (t,tp) ; Die Menge tp ist gleich der Menge t Notwendig und hilfreich bei der Angabe von Formeln, wenn die gleiche Indexmenge mehrfach genutzt wird. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 14 CPMKostenplanung.ppt/HMW/25.05.2002 - 155 - DV in der Lager- und Transportwirtschaft 4 Optimierungsanwendungen mit GAMS 8 GAMS DV in der Produktion ... Struktur eines GAMS-Programms: DATA Parameter-Statement (Daten-Format durch Listen): Beispiel 1: Parameters a(i) capacity of plant i in cases / Seattle 350 San-Diego 600 / b(j) demand at market j in cases / New-York 325 Chicago 300 Topeka 275 /; Beispiel2: Parameter a(i) capacity of plant i in cases / Seattle 350 San-Diego 600 / ; Parameter b(j) / New-York demand at market j in cases 325, Chicago 300, Topeka 275 / ; Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 15 CPMKostenplanung.ppt/HMW/25.05.2002 GAMS DV in der Produktion ... Struktur eines GAMS-Programms: DATA Parameter-Statement (Daten-Format durch Listen) (Forts.): Elementepaare (Index, Wert) müssen durch Kommata oder durch separate Zeilen getrennt sein. Der Index muss genauso geschrieben werden, wie in der Mengendeklaration. Es reicht, nur die Nicht-Null-Elemente zu deklarieren. Scalar-Statement: – Beispiel: Scalar f freight in dollars per case per thousand miles /90/ ; – Ein Skalar ist nicht unter einem Set-Statement deklariert und besitzt nur einen einzigen Wert. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 16 CPMKostenplanung.ppt/HMW/25.05.2002 - 156 - DV in der Lager- und Transportwirtschaft 4 Optimierungsanwendungen mit GAMS 9 GAMS DV in der Produktion ... Struktur eines GAMS-Programms: DATA Das Table-Format Beispiel: Table d(i,j) Seattle San-Diego distance in thousands of miles New-York Chicago Topeka 2.5 1.7 1.8 2.5 1.8 1.4 ; Ein Index entspricht den Zeilen, der andere den Spalten. Blanks werden als 0 interpretiert. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 17 CPMKostenplanung.ppt/HMW/25.05.2002 GAMS DV in der Produktion ... Struktur eines GAMS-Programms: DATA Das Assignment-Statement Wichtig! Beispiel 1: Parameter c(i,j) transport cost in 1000s of dollars per case ; c(i,j) = f*d(i,j)/1000 ; Beispiel 2: c('Seattle','New-York') = 0.40 ; Definierende Variablen müssen vorher definiert sein! Jede Zuordnung überschreibt vorangegangene Zuordnungen. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 18 CPMKostenplanung.ppt/HMW/25.05.2002 - 157 - DV in der Lager- und Transportwirtschaft 4 Optimierungsanwendungen mit GAMS 10 GAMS DV in der Produktion ... Struktur eines GAMS-Programms: Variablen Die Variablendeklaration Beispiel: Variables x(i,j) z shipment quantities in cases total transportation costs in 1000s of dollars ; Zulässige Varablentypen Variablen-Typ Zulässiger Bereich der Variablen - to + 0 to + - to 0 0 or 1 0,1,...., 100 Free Positive Negative Binary Integer Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 19 CPMKostenplanung.ppt/HMW/25.05.2002 GAMS DV in der Produktion ... Struktur eines GAMS-Programms: Variablen Die Bereichsdeklaration für Variable Beispiel: Positive variable x ; Beachte: Die Bereiche der Variablen werden bei der Bereichsdefinition nicht aufgeführt, aso NICHT etwa: positive variable x(i); Nicht deklarierte Variablen sind vom Typ „FREE“ Zu optimierende Variablen müssen vom Typ „FREE“ sein. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 20 CPMKostenplanung.ppt/HMW/25.05.2002 - 158 - DV in der Lager- und Transportwirtschaft 4 Optimierungsanwendungen mit GAMS 11 GAMS DV in der Produktion ... Struktur eines GAMS-Programms: Restriktionen Die Deklaration von Restriktionen („Gleichungen“) Beispiel Equations cost supply(i) demand(j) define objective function observe supply limit at plant i satisfy demand at market j ; Summationen SUM( Index der Summation , Summand ) Relationale Operatoren: =L= =G= =E= kleiner oder gleich grösser oder gleich gleich Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 21 CPMKostenplanung.ppt/HMW/25.05.2002 GAMS DV in der Produktion ... Struktur eines GAMS-Programms: Restriktionen Die Definition von Restriktionen („Gleichungen“) Aufbau: Der Name der definierten Restriktion/ Gleichung Der Wertebereich Einschränkungen des Wertebereiches (optional) Das Symbol '..' Ausdruck für die linke Formelseite Relationaler Operator: =l=, =e=, or =g= Ausdruck für die rechte Formelseite Beispiel cost.. supply(i).. demand(j).. z =e= sum((i,j), c(i,j)*x(i,j)) sum(j, x(i,j)) =l= a(i) ; sum(i, x(i,j)) =g= b(j) ; Beispiele für Formeln: SUM( J , X(I,J) ) entspricht: SUM( (I,J), X(I,J) ) entspricht: ; j xij. ij cij xij. Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 22 CPMKostenplanung.ppt/HMW/25.05.2002 - 159 - DV in der Lager- und Transportwirtschaft 4 Optimierungsanwendungen mit GAMS 12 GAMS DV in der Produktion ... Struktur eines GAMS-Programms: MODEL Das Model-Statement Befehl für den fortgeschrittenen User, während einer GAMS-Sitzung mehrere Modelle durchzurechnen bzw. zu optimieren. Beispiel 1 (Standard): model transport /all/ ; Beispiel 2: model transport / cost, supply, demand / ; Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 23 CPMKostenplanung.ppt/HMW/25.05.2002 GAMS DV in der Produktion ... Struktur eines GAMS-Programms: SOLVE Das SOLVE-Statement Aufbau: 1. Das keyword solve 2. Der Name des Models, das gelöst werden soll 3. Das keyword using 4. Eine verfügbare Optimierungs-Prozedur. Die vollständige Liste ist: lp nlp mip rmip minlp rminlp mcp cns für Linear Programming für Nonlinear Programming für Mixed Integer Programming für Relaxed Mixed Integer Programming für Mixed Integer Nonlinear Programming für Relaxed Mixed Integer Nonlinear Programming für Mixed Complementarity Problems für Constrained Nonlinear Systems 5. Das keyword minimizing oder maximizing 6. Der Name der zu optimierenden Variablen Beispiel: solve transport using lp minimizing z ; Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 24 CPMKostenplanung.ppt/HMW/25.05.2002 - 160 - DV in der Lager- und Transportwirtschaft 4 Optimierungsanwendungen mit GAMS 13 GAMS DV in der Produktion ... Struktur eines GAMS-Programms: Variablen-Datenbank Zu jeder Variablen werden folgende Werte intern von GAMS verwaltet: <Variablenbezeichner>.LO <Variablenbezeichner>.L <Variablenbezeichner>.UP <Variablenbezeichner>.M Lower Bound Level oder primaler Wert Upper Bound Marginalwert oder Dualer Wert (Schattenkosten) Die obigen Werte können vom User als Startwerte vorbelegt werden. Beispiel: x.up(i,j) = capacity(i,j) ; x.lo(i,j) = 10.0 ; x.up('seattle','new-york') = 1.2*capacity(seattle','new-york') ; Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 25 CPMKostenplanung.ppt/HMW/25.05.2002 GAMS DV in der Produktion ... Struktur eines GAMS-Programms: Display Jeder Parameter oder jede Variable kann im Lösungsdisplay gefordert werden: – – – – – Display <Parameterbezeichner>; Display <Variablenbezeichner>.LO; <Variablenbezeichner>.L; <Variablenbezeichner>.UP; <Variablenbezeichner>.M ; Beispiel 1: display x.l, x.m ; Beispiel 2: parameter pctx(i,j) perc of market j’s demand filled by plant i; pctx(i,j) = 100.0*x.l(i,j)/b(j) ; display pctx ; liefert: pctx seattle san-diego percent of market j’s demand filled by plant i new-york chicago topeka 15.385 100.000 84.615 100.000 Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 26 CPMKostenplanung.ppt/HMW/25.05.2002 - 161 - DV in der Lager- und Transportwirtschaft 4 Optimierungsanwendungen mit GAMS 14 GAMS DV in der Produktion ... Struktur eines GAMS-Programms: Output Standard Output Echo print Error Messages Reference Maps oder Echo print Reference Maps Equation Listings Model Statistics Status Reports Solutions Reports Dollar-Print-Control-Statements Beispiele $title a transportation model $offuppper – $TITLE druckt den nachstehenden Titel wird am Anfang jeder Seite aus. – $OFFUPPER sorgt für gemischte Gross- und Kleinschreibung Print-Options Beispiele Option LIMROW Option LIMCOL =r =c Prof. Dr. Heinz-Michael Winkels, FH-Dortmund 27 CPMKostenplanung.ppt/HMW/25.05.2002 - 162 -