112 Einführung Datenbanksystem 6 Informationswirtschaft mit Hilfe eines Datenbanksystems 6.1 Informationen konventionell verwalten und auswerten Einführungsfall Peter arbeitet in der Einkaufsabteilung der Firma Baum + Partner. B+P ist ein Holzgroßhandel, der mit Paneelen und Täfelbretter einschließlich Zubehör handelt. Peter wird vom Abteilungsleiter in die Arbeiten der Einkaufsabteilung eingeführt: „Der Beschaffungsmarkt ist recht unübersichtlich. Eine Vielzahl kleinerer und mittlerer Furnier- und Holzwerke bieten diese Artikel an. Die Nachfrage nach Paneelen und Profilbrettern ist stark modischen Schwankungen unterworfen. Deshalb steht die Firma Baum und Partner in einem ständigen Dilemma. Auf der einen Seite muss sie stets lieferfähig sein. Das setzt entsprechend hohe Lagerbestände voraus. Auf der anderen Seite verlieren die Artikel aufgrund von modischen Verschiebungen an Marktwert und sind kaum noch absetzbar. Wir führen Paneele in unterschiedlichsten Ausführungen. Sie unterscheiden sich hinsichtlich Profil, Länge, Breite und Dekor. Die Längen und Breiten werden bei uns übrigens in Millimeter angegeben.“ Ausschnitt aus der Artikelliste Artikelnummer Artikelbe-zeichnung Dekornummer Dekor Profilnummer Profil Länge Breite 2511 2616 2716 2819 2521 2529 3220 3312 3415 3541 Echtholz-Paneele Echtholz-Paneele Echtholz-Paneele Echtholz-Paneele Echtholz-Paneele Echtholz-Paneele Deko-Paneele Deko-Paneele Deko-Paneele Deko-Paneele 1 1 2 3 1 3 1 2 4 3 Eiche Eiche Esche Birke Eiche Birke Eiche Esche Fichte Birke 2 2 3 1 1 2 2 3 3 1 Rund Rund Stab Glatt Glatt Rund Rund Stab Rund Glatt 2600 2600 2600 2600 2200 2200 3000 3000 3500 4100 200 250 250 200 200 200 200 200 200 220 Listenverkaufspreis pro m2 58,00 61,00 58,50 56,50 48,00 47,00 35,00 37,00 36,50 38,50 Der Abteilungsleiter erklärt weiter, dass man bislang noch keine systematische Lagerverwaltung eingerichtet habe. Das solle jetzt anders werden. Auf den Artikelkarten sollten Spalten eingerichtet sein für Anfangsbestand, Zugang, Abgang und Istbestand. Ferner sollte der Meldebestand eingetragen werden können. Peter fragt: „Meldebestand, was ist das“? Der Abteilungsleiter erläutert:“Erreicht oder unterschreitet der Istbestand den Meldebestand, dann muss möglicherweise die Nachbestellung eingeleitet werden“. Um Bestellungen vornehmen zu können, muss zum einen bekannt sein, welche Artikel nachzubestellen sind. Zum anderen muss man wissen, wer die Ware zu welchem Preis liefert. Vereinfachend wird angenommen, dass alle Lieferanten 2 % Skonto gewähren. Sie räumen jedoch unterschiedlich hohe Rabattsätze ein. Die Lieferzeiten seien bei allen Lieferanten gleich. Die Lieferanten von B+P sind Liefnr 122 133 144 155 166 177 Lieferant Holzwerk Wilanowski Funierwerk Steinkaup KG Ritter Import GmbH Holz Wella KG Kerner Funier Keller Funier KG Straße Weserstr. 12 - 14 Industriestr. 12 Zitterweg 23 - 25 Bayernstr. 12 Schwabenstr. 12 Friesenring 12 PLZ 32221 22222 48686 98888 77777 23232 Ort Kassel Dresden Ahaus Hof Stuttgart Emden Rabatt-% 23 25 20 17 18 24 © Gregor Kuhlmann; Heinz-G. Borkens Einführung Datenbank 113 Die nachstehende Aufstellung zeigt ausschnittsweise, zu welchen Preisen die verschiedenen Lieferanten liefern. Sie wird hier Artikel-Lieferer-Liste genannt. 5. 6. 7. 8. Übungen 1. Aus welchen Gründen sind die Artikel mit einer Artikelnummer versehen worden? 2. Entwickeln Sie eine Artikelkarte! 3. Entwerfen Sie eine Liefererkarte! 4. In der Einkaufsabteilung diskutiert man darüber, ob die Artikel-LiefererListe beibehalten werden soll oder ob sie durch Karteikarten zu ersetzen ist. a) Entwerfen Sie eine entsprechende Karteikarte. b) Die Daten in der Artikel-LiefererListe werden dazu benötigt, rasch den günstigsten Lieferer für einen bestimmten Artikel herauszufinden. Entsprechend müssen Änderungen in den Angebotspreisen rasch eingetragen werden können. Prüfen Sie, ob für diese Tätigkeiten Karteikarten oder Listen besser sind. Welche Bedeutung hat die Bestellnummer für B+P und für den Lieferanten? Warum führt B+P eigene Artikelnummern und übernimmt nicht die Bestellnummern als Artikelnummern? Bei Daten unterscheidet man Ordnungsdaten und Rechendaten. Welche der obigen Daten sind Ordnungsdaten? Peter soll all die Artikel heraussuchen, bei denen der Istbestand geringer ist als das 1,5fache des Meldebestandes. Ferner soll er ermitteln, bei welchen Lieferanten am günstigsten eingekauft werden kann. Führen Sie den Arbeitsauftrag durch! Beschreiben Sie Ihre Vorgehensweise! Angaben zu den Ist- und Meldebeständen: Artikelnummer 2511 2616 2716 2819 2521 2529 3220 3312 3415 3541 Istbestand 1200 1500 1000 1800 800 1900 2300 2000 1500 2400 © Gregor Kuhlmann; Heinz-G. Borkens Meldebestand 1400 1100 1100 1700 500 1500 2500 1700 1000 2000 114 6.2 Einführung Datenbanksystem Struktur einer Datenbank 6.2.1 Begriffliche Einordnung Datenbank Ein Datenbankprogramm wird zur Verwaltung und Auswertung von Daten in einer Datenbank verwendet. Eine Datenbank ist eine Sammlung von Daten, die logisch zusammengehören. Die Daten sind in Sätzen zusammengefasst. Die Sätze ergeben eine Tabelle. Die Tabellen stellen in ihrer Gesamtheit die Datenbank dar. Beispiel: Die im ersten Kapitel aufgeführte Artikelliste lässt sich als Tabelle einer Datenbank darstellen. Tabelle Artikel Artikelbezeichnung EchtholzPaneele EchtholzPaneele Dekornummer 1 Dekor Profilnummer Profil Länge Breite Eiche 2 Rund 2600 200 Listenverkaufspreis pro m2 58,00 1 Eiche 2 Rund 2600 250 61,00 Entität In einer Tabelle wird eine Entität abgebildet. Unter Entität versteht man etwas, was in der Wirklichkeit oder in der Welt der Vorstellung existiert. Die Gesamtheit der Artikel der Firma B+P stellt somit eine Entität dar. Aber auch die Gesamtheit der Grundstücksverträge kann als Entität betrachtet werden. Attribut Eine Entität wird durch ihre Eigenschaften, Attribute, beschrieben. Bei der Entität Artikel sind es die Attribute Artikelbezeichnung, Dekor, Profil, usw. Welche Attribute eine Entität kennzeichnen, hängt vom Verarbeitungszweck ab. Über eine junge Person beispielsweise werden in der Datenbank einer Schule andere Daten erfasst als in der eines Krankenhauses. Die Attribute werden in den Spalten der Tabelle dargestellt. In jeder Spalte gibt es zu einer Eigenschaft stets nur eine Angabe. Auch enthält eine Tabelle nie mehrere Spalten mit denselben Attributen. Tupel Die Gegenstände bzw. Objekte, die aufgrund ihrer Eigenschaften zu einer Entität gehören, werden Tupel genannt. Ein Artikel ist somit im Sinne der Fachsprache ein Tupel. Tupel werden in den Zeilen der Tabelle dargestellt. Die Angaben zu einem Tupel stellen einen Datensatz dar, der spaltengerecht in einer Tabellenzeile eingetragen wird. Entität Artikel © Gregor Kuhlmann; Heinz-G. Borkens Einführung Datenbank 115 Schlüsselattribute In einer Tabelle dürfen nicht mehrere identische Zeilen (Tupel) enthalten sein. Treten zwei oder mehrere gleichlautende Zeilen auf, kann man nicht mehr von einem Tabelleneintrag eindeutig auf ein bestimmtes Objekt schließen. Folgendes Beispiel mag das verdeutlichen. Beispiel: In der Schülertabelle einer Schuldatenbank werden Name, Vorname, Geburtsdatum und die Noten gespeichert. Nun kann es vorkommen, dass zwei Schüler einer Schule denselben Namen und dasselbe Geburtsdatum haben. Bei der Zeugnisschreibung tritt nun das Problem auf, wie die Noten den namensgleichen Personen zuzuordnen sind. Um identische Zeilen zu vermeiden, wird die Tabelle um ein Attribut erweitert, das für eindeutige Unterscheidbarkeit sorgt. Im Fall der Artikeltabelle ist es das Attribut Artikelnummer. Jeder Artikel hat eine andere Artikelnummer. Dadurch wird eine eindeutige Unterscheidbarkeit erzielt, auch wenn die übrigen Attribute gleichlautend sind. Das zeigt die nachstehende verkürzte Artikeltabelle. Artikelnummer 2511 2616 Artikelbezeichnung Echtholz-Paneele Echtholz-Paneele Dekornummer 1 1 Dekor Eiche Eiche Profilnummer 2 2 Profil Rund Rund Das Attribut, das die eindeutige Unterscheidbarkeit garantiert, bezeichnet man als Schlüsselattribut. Im Falle der Artikeltabelle ist die Artikelnummer das Schlüsselattribut. Der Schlüssel ermöglicht den korrekten Zugriff auf einen bestimmten Datensatz. 6.2.2 Schlüsselarten In einer Datenbank werden mehrere Arten von Schlüsseln unterschieden. Den Schlüssel, der ein Tupel eindeutig kennzeichnet, bezeichnet man als Primärschlüssel. Beispiel: Die Artikelnummer in der Tabelle Artikel ist ein Primärschlüssel. Er ist genau einem Artikel zugeordnet. Entsprechend stellt auch die Lieferantennummer einen Primärschlüssel dar. In der oben angeführten Artikel-Lieferer-Liste, die im Grunde eine Datenbank-Tabelle darstellt, werden zwei Schlüssel benötigt, um zu verdeutlichen, welcher Lieferer welchen Artikel zu einem bestimmten Preis anbietet. Es sind dies die Lieferantennummer und Artikelnummer. Die Kombination aus zwei Schlüsseln stellt die Unterscheidbarkeit der Tupel sicher. Einen solchen Schlüssel bezeichnet man als Kombinationsschlüssel. Tabelle Artikel-Lieferer Liefnr 122 122 122 122 Artnr 2511 2616 2716 2819 Bestell-Nr 52411 52413 52547 52647 AngDatum 16.02.95 14.02.95 13.02.95 14.01.95 AngPreis 43,50 49,00 48,50 47,50 Die Lieferantennummer und Artikelnummer kennzeichnen aber auch eine Beziehung. Über die Artikelnummer wird die Beziehung zur Artikeltabelle, über die Lieferantennummer die zur Lieferantentabelle hergestellt. Die Schlüssel, die die Beziehungen zwischen den Tabellen herstellen, nennt man auch Beziehungs- oder Referenzschlüssel. Auch ist der Begriff Sekundärschlüssel gebräuchlich. © Gregor Kuhlmann; Heinz-G. Borkens 116 Einführung Datenbanksystem Um Schlüsselattribute im Schriftbild kenntlich zu machen, werden Primärschlüssel unterstrichen, Referenzschlüssel unterstrichelt. Aus drucktechnischen Gründen wird in diesem Buch der Referenzschlüssel kursiv geschrieben. Wie die nachstehende Abbildung verdeutlicht, werden die Beziehungen zwischen den verschiedenen Tabellen durch Schlüssel hergestellt. Daher bezeichnet man diesen Datenbanktyp relationale Datenbank. Der Begriff relational kommt vom Substantiv Relation, das die gleiche Bedeutung hat wie das Wort Beziehung. Tabelle Artikel Artikel- Artikelbe- Dekornummer nummer zeichnung 2511 Echtholz- 1 Paneele 2616 Echtholz- 1 Paneele Dekor Profilnummer Eiche 2 Profil Länge Breite Listenverkaufspreis Rund 2600 200 58,00 Eiche 2 Rund 2600 250 61,00 Tabelle Artikel-Lieferer Liefnr 122 122 Artnr 2511 2616 Bestell-Nr 52411 52413 AngDatum 16.02.95 14.02.95 AngPreis 43,50 49,00 Liefnr 122 133 Lieferant Holzwerk Wilanowski Funierwerk Steinkaup KG 6.2.3 Sichten eines Datenbankprogramms Tabelle Lieferant Straße Weserstr. 12 - 14 Industriestr. 12 PLZ 32221 22222 Ort Kassel Dresden Rabatt-% 23 25 Ein Datenbankprogramm ist ein sehr komplexes Programmpaket. Wie es intern die Daten speichert und die Zugriffe regelt, ist für den Benutzer und Entwickler eines Datenbanksystems nicht wichtig. Das ist Aufgabe der Programmierer, deren Ziel es ist, ein möglichst schnelles und fehlerfrei arbeitendes Datenbankprogramm zu programmieren. Für den Entwickler einer Datenbankanwendung ist es bedeutsam, welcher Typ von Datenbankprogramm eingesetzt werden soll. Neben dem relationalen System gibt es noch weitere, die aber im kaufmännisch-verwaltenden Bereich keine große Bedeutung haben. Soll die Datenbankanwendung auf einem relationalen System verwirklicht werden, so muss der Entwickler bei seiner konzeptionellen Arbeit die oben dargelegten Grundsätze berücksichtigen. Er muss den Tabellenaufbau festlegen und die Beziehungen zwischen den Tabellen definieren. Der Benutzer formuliert seine Informationswünsche in einem Datenbankabfragebefehl. Wie seine Anweisung in maschineninterne Befehle umgesetzt und die Suchvorgänge gesteuert werden, braucht er nicht zu wissen. Für Umsetzung und Ausführung ist das Programmsystem zuständig. Der Nutzer muss aber wohl den Tabellenaufbau und die Tabellenverknüpfung kennen, um die Abfragen sachgerecht gestalten zu können. Entsprechend der unterschiedlichen Sicht, die Datenbankprogrammierer, Entwickler von Datenbankanwendungen und Datenbanknutzer gegenüber einem Datenbankprogramm einnehmen, unterteilt man ein Datenbankprogramm in drei Ebenen: interne Sicht, konzeptionelle Sicht und externe Sicht. © Gregor Kuhlmann; Heinz-G. Borkens Einführung Datenbank 117 Den Benutzer interessiert vor allem die externe Sicht. Von diesem Programmteil erwartet er, das es ihm auf einfache Weise Zugriff auf die in der Datenbank gespeicherten Daten ermöglicht. 6.2.4 Aufgaben 1. 2. 3. 4. 5. 6. 7. 8. Was versteht man unter einer Entität Was ist ein Tupel, was ein Attribut? Warum werden Datensätze um einen Schlüssel erweitert? Nennen Sie die Elemente einer Datenbank. Welche Attribute kennzeichnen gemäß der obigen Lieferantenliste einen Lieferanten? Durch welche Attribute wird die Entität Schüler in einer Schuldatenbank gekennzeichnet? Welche Attribute beschreiben ein Fachbuch? Auf welche Weise werden in einer relationalen Datenbank die Beziehungen zwischen den Tabellen hergestellt? © Gregor Kuhlmann; Heinz-G. Borkens