Einleitung zum Thema Datenbanken

Werbung
Skript für die Nutzung von relationalen Datenbanken
Erstellt und © Copyright by: Karl-Heinz Zeipelt
Einleitung zum Thema Datenbanken1 - am Beispiel von Microsoft Office Professionell
Sollen größere Datenbestände verwaltet werden, dann reichen die üblichen Programme wie Textverarbeitung oder Tabellenkalkulationen nicht mehr
aus, um effizient arbeiten zu können.
Mit Word kann man seinen Datenbestand, wie z. B. Adresslisten zwar auch sortieren, bearbeiten, ergänzen - allerdings ist dies nur für kleinere
Datenbestände sinnvoll. Ab ca. 250 Datensätzen wird das Arbeiten „unbequem“ (ineffizient); es gibt zwar eine Such- aber nicht eine „Filterfunktion“.
Außerdem kann immer nur ein Mitarbeiter die Datei im Original öffnen - das ist für Firmen, in denen Teams und Abteilungen auf dieselben Daten
zugreifen sollen, unbefriedigend.
Mit Excel können Daten bis ca. 2 000 Datensätzen recht problemlos verwaltet werden, was die Sortierung und das Filtern betrifft. Auch steht z. B. eine
Maske zur Verfügung, mit der Daten erfasst oder editiert werden, in der sogar Operatoren verwendet werden können wie z. B. „=“, >= etc. Dennoch
sind die Möglichkeiten sehr begrenzt. Theoretisch können zwar mehrere Personen auf dieselbe Datei zugreifen und sie auch gleichzeitig verändern
(falls die Datei für die Arbeit im Netz freigegeben wurde), doch können dabei zahlreiche Fehler auftreten, die relativ schlecht verhindert werden
können.
Deshalb werden in Firmen Datenbank-Programme eingesetzt, z. B. im Bereich der PC-Welt an den Arbeitsplatzrechnern mit Hilfe des Programms
„Access“. Damit können immerhin ca. 20 000 bis 50 000 Datensätze angemessen verwaltet werden. Für aufwändigere Datenbestände werden andere
Datenbankprogramme verwendet. Namen sind z. B. Informix (auf Unix-Rechnern) Oracle, Abetone, SAP - es sind jedoch mittlerweile durchgängig
ERP2-Systeme, in die die Datenbankprogramme integriert sind. Solche Systeme sind in der heutigen IT-Welt gar nicht mehr wegzudenken. In vielen
Firmen wird mit SAP gearbeitet.
Als Kunde kennen wir sicher alle die zahlreichen Bestell-Möglichkeiten im Internet. Wenn man dort auswählen kann, was und wie viel von einem
Produkt bestellt werden kann mit entsprechenden Zusatz-Infos wie Größe, Farbe, Lieferfrist etc., dann sind dort viele verschiedene Informationen
(Daten) abgelegt, die möglichst rasch abgerufen werden können. Ist genug von dem gewünschten Artikel auf Lager? Kann sofort komplett geliefert
werden? Entfällt eine eventuelle Versandkostenpauschale, weil ein bestimmter Bestellwert erreicht wurde? Ist der Kunde - was die Finanzen betrifft „vertrauenswürdig“?
Da geschehen im Hintergrund sehr viele Abfragen und es fließen sehr unterschiedliche Daten ein. Das kann nur von solch komplexen Systemen
bewerkstelligt werden.
Die grundsätzliche Systematik der Datenbankprogramme ist gleich, sodass vieles am Beispiel von Access nachvollzogen werden kann.
1
2
Erklärung einer Datenbank siehe das Skript zu Excel Datenbanken
Enterprise Resource Planning - gemeint damit sind komplexe Software-Systeme, die die sinnvolle, kostengünstige Nutzung der vorhandenen Firmenressourcen planen und
„abbilden“ hilft. Es geht um die kompletten Geschäftsprozesse, die mittels dieser Software-Systeme optimal umgesetzt werden.
Seite 1 von 9
Skript für die Nutzung von relationalen Datenbanken
Erstellt und © Copyright by: Karl-Heinz Zeipelt
Die unten stehende Excel-Tabelle soll verwendet werden, um die Vorgänge innerhalb einer Leihbücherei zu verwalten.
Dabei sind folgende Anmerkungen zu treffen:
-
Es liegen unterschiedliche Schreibweisen von Namen, Straßen, Telefonnummern vor - Fehler? Zahlendreher?
Es ist ein unübersichtlicher Datenbestand - vor allem, wenn davon auszugehen ist, dass pro Tag mindestens 50 Bücher entliehen werden.
Ein und derselbe Kunde (Entleiher) (ebenso Buch) wird bei jedem Buch mit seinen vollständigen Daten erfasst. Das ist viel zu umständlich.
In einer Zelle stehen manchmal mehrere Details, für die in derselben Zeile jedoch keine eindeutige Zuordnung vorgenommen wurde.
Die eindeutigen Rückgabedaten pro Buch fehlen, stattdessen steht ein Datum, obwohl drei Bücher entliehen wurden. Was ist, wenn der Kunde nur
zwei Bücher an dem Datum mitgebracht hat?
Damit die Verwaltung optimiert wird, sind folgende Anforderungen zu beachten:
-
Jeder Name, jedes Buch darf nur einmal erfasst werden  REDUNDANZ (unnötige Wiederholungen) vermeiden
Nicht eindeutiger Datenbestand (Autor fehlt, unterschiedliche Schreibweise? Fehler?) – Inkonsistenzen (fehlerhafte Wiederholungen) vermeiden
Seite 2 von 9
Skript für die Nutzung von relationalen Datenbanken
Erstellt und © Copyright by: Karl-Heinz Zeipelt
Damit diese Ziele (keine Redundanz, keine Inkonsistenzen) erreicht werden können, wird ein Prozess durchlaufen, der „Normalisierung“ heißt. Die
ersten drei Schritte der Normalisierung (in der IT-Praxis werden bis zu neun Schritte realisiert) sind die grundlegendsten und wichtigsten, sodass diese
nun betrachtet und umgesetzt werden sollen.
1. In einem Datenfeld darf nur EINE Angabe stehen! (z. B. ein Buch, das entliehen wird)
2. Aufteilen des Datenbestandes in mehrere Tabellen! Man unterscheidet: Stammdaten (Kunden, Bücher), die sich nur selten ändern, und
Vorgangsdaten (Ausleihe und Rückgabe), wo ständig Änderungen vorkommen.
3. Für die Stammdaten muss jeweils ein Schlüsselfeld angelegt werden (Kundennummer, Buchnummer)!
Bei den Vorgangsdaten kann es ebenfalls ein solches Schlüsselfeld geben (z. B. Rechnungsnummer).
Alle Felder müssen direkt vom Schlüsselfeld abhängen!
Die einzelnen Tabellen müssen in Beziehung gesetzt werden! Relationen
Die einzelnen Schritte und deren Ergebnisse:
Erreichen der 1. Normalform ist das Ziel.
Zunächst muss also in die Excel-Tabelle jeweils eine eindeutige Zuordnung erfolgen, d. h. es müssen leere Zeilen eingefügt werden, in die die
Detaildaten eingetragen werden, sodass folgendes Zwischenergebnis entsteht.
Nun hat jeder einzelne Vorgang eine eigene Zeile. Nun müssen die bestehenden Fehler (Inkonsistenzen) bereinigt werden und eine einheitliche
Schreibweise (gemäß DIN 5008) festgelegt und umgesetzt werden.
Seite 3 von 9
Skript für die Nutzung von relationalen Datenbanken
Erstellt und © Copyright by: Karl-Heinz Zeipelt
Erreichen der 2. Normalform ist das Ziel.
Der Datenbestand muss nun aufgeteilt werden auf zumindest drei Tabellen.
Es gibt zwei Stammdaten-Tabellen.
Kunden/Entleiher
Bücher
Eine Detail-Tabelle entsteht.
Ausleihvorgang
Nun muss in den Stammdaten-Tabellen jeweils ein Schlüsselfeld erzeugt werden, mit dem die Datensätze eindeutig verwaltet werden können:
(Es darf kein Punkt im Feldnamen (Spaltenüberschrift) existieren! - Sonderzeichen sind zu vermeiden!)
Die Kundentabelle erhält die Spalte „Kundennummer“.
Die Büchertabelle erhält die Spalte „Buchnummer“.
Die Detaildatentabelle erhält kein Schlüsselfeld. Allerdings müssen die beiden Spalten „Kundennummer“ und
„Buchnummer“ aus der Stammdaten-Tabelle eingefügt werden, damit anschließend eine Beziehung (Relation hergestellt
werden kann.
Seite 4 von 9
Skript für die Nutzung von relationalen Datenbanken
Erstellt und © Copyright by: Karl-Heinz Zeipelt
Die bestehenden Excel-Tabellen können nun in das Datenbank-Programm „Access“ importiert werden, um dann die entsprechenden Beziehungen
setzen zu können. Mit Excel können nur gedachte Relationen hergestellt werden, aber es entsteht keine relationale Datenbank. Deshalb wird das
Programm „Access“ bemüht.
Nach dem Aufruf des Programms wird ein recht leeres Programmfenster gestartet - s. u.
Durch den Klick auf das weiße Blatt kann eine
neue Datenbank-Datei erzeugt werden. Man
muss sich dann entscheiden, wie die neue Datei
angelegt werden soll, sprich welche Inhalte in
dieser Datenbank enthalten sein sollen.
Da sie keine Elemente enthalten soll - „Leere
Datenbank“
Das Erste, das man tun muss, ist die Datei zu
speichern! Erst danach lassen sich Inhalte in die
Datenbank aufnehmen.
Seite 5 von 9
Skript für die Nutzung von relationalen Datenbanken
Erstellt und © Copyright by: Karl-Heinz Zeipelt
Nun geht es darum, die leere Datenbank mit Tabellen zu füllen. Da in Excel bereits Tabellen
vorhanden sind, können diese mit Hilfe eines Assistenten importiert werden. Dieser Assistent wird
über DATEI - EXTERNE DATEN - IMPORTIEREN aktiviert.
Nun ist zu beachten, dass der Dateityp auf Excel
umgestellt wird!
Anschließend muss die gewünschte Datei
ausgewählt und „importiert“ werden.
Seite 6 von 9
Skript für die Nutzung von relationalen Datenbanken
Erstellt und © Copyright by: Karl-Heinz Zeipelt
Daraufhin wird der Import-Assistent gestartet.
Man kann nun die einzelnen Tabellenblätter auswählen, die Daten werden bereits unten angezeigt. Über die Schaltfläche „Weiter“ geht es zum
nächsten Schritt. Dort muss angegeben werden, ob die 1. Zeile die „Überschrift“ darstellt, d. h. ob dort die Feldnamen als Spaltenüberschriften stehen.
Beim dritten Fenster muss entschieden werden, ob die Daten in einer neuen Tabelle abgelegt werden sollen oder ob sie an eine bestehende Tabelle
angefügt werden sollen. In der Regel werden die Daten als neue Tabelle eingefügt.
1
2
3
Nun werden die einzelnen Felder abgefragt. Wichtig: Beim Schlüsselfeld - über das EINDEUTIG verwaltet werden soll, muss „Indiziert (Ohne
Duplikate) ausgewählt werden. Indiziert - heißt u. a.  schneller suchen. Ohne Duplikate  ein Wert darf in dieser Spalte nur EINMAL auftreten.
Dann wird ein Primärschlüsselfeld festgelegt, damit
später Relationen (Beziehungen) zwischen den
Tabellen hergestellt werden können. Es ist quasi
das „oberste“ Schlüsselfeld.
Seite 7 von 9
Skript für die Nutzung von relationalen Datenbanken
Erstellt und © Copyright by: Karl-Heinz Zeipelt
Danach ist der Import dieser Excel-Tabelle fast fertig - Namen vergeben - Fertigstellen - Erfolgsmeldung, dass der Import geklappt hat.
Nun muss für jede Excel-Tabelle, die importiert werden soll, der Assistent
aufgerufen werden. Bei den Stammdaten-Tabellen (Kunden und Bücher) muss
jeweils das Primärschlüsselfeld angegeben werden.
Bei der Tabelle für den Ausleihvorgang ist weder eine Indizierung noch ein
Primärschlüssel einzustellen.
Am Ende des Importierens finden sich alle ehemaligen Excel-Tabellen in Access
wieder.
Seite 8 von 9
Skript für die Nutzung von relationalen Datenbanken
Erstellt und © Copyright by: Karl-Heinz Zeipelt
Zum Schluss müssen die importierten Tabellen in Beziehung (Relation) gesetzt werden. Auch dazu gibt es einen Assistenten. Über das Menü Extras Beziehungen… wird die Dialogbox angezeigt, in der man die Tabellen nach Windows-Regeln markieren kann. Die markierten Tabellen werden
„hinzugefügt“ und die Dialogbox wird geschlossen.
Das unten abgebildete Fenster erscheint. Die Tabellen werden angezeigt. Die
Primärschlüsselfelder werden in fetter Schrift angezeigt. Die Tabellen
können beliebig angeordnet werden, in dem auf die Titelleiste der jeweiligen
Tabelle geklickt wird, die Maus festgehalten wird und dann kann das Objekt
(wie Grafiken) verlagert werden.
Um eine Beziehung herstellen zu können, muss man vom Primärschlüsselfeld aus die Maus bei gedrückter linker Maustaste hin zum Detailfeld ziehen.
Jeweils beim Loslassen der Maus wird die Frage gestellt, was man tun möchte.
Es ist jeweils darauf zu achten, dass „Referentielle Integrität“ eingestellt wird. Damit wird Access dazu
aufgefordert z. B. Löschvorgänge zu überwachen. Es dürfen keine „verwaisten“ Daten entstehen,
Fehler sollen also automatisch von Access verhindert werden. Die Häkchen bei „Aktualisierungs- und
Löschweitergabe werden meist nicht benötigt, da sie eine zusätzliche Fehlerquelle enthalten. Zum
Schluss wird dann dieses Ergebnis angezeigt im „Beziehungsfenster“:
Die Art der Beziehung ist eine
1:n oder 1 zu ∞ Beziehung,
d. h. EINEM Datensatz der
beliebig viele Datensätze der
Stammdatentabelle können
Detailtabelle zugeordnet sein.
Das Beziehungsfenster kann geschlossen werden, die festgelegte Beziehung
muss gespeichert werden und
nun kann die Eingabe von Daten erfolgen bzw. die eigentliche Arbeit hinsichtlich der Ausleihvorgänge vorgenommen werden.
Seite 9 von 9
Herunterladen