Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

18.02.2000 - 

Euro noch ein Fremdwort

Beispieldatenbank Nordwind ist die Schwachstelle von Access

Seit der Access-Version 2.0 liefert Microsoft sein Produkt mit der Beispieldatenbank "Nordwind" aus. So sehr sich Access mittlerweile zu einem leistungsstarken Tool entwickelt hat, Nordwind bläst offenbar immer noch nahezu unverändert aus gleicher Richtung. Peter Föck* beschreibt, wo die von Anwendern gerne benutzte Vorlage Probleme mit ihrer veralteten Datenhaltung hat.

Zu den augenfälligsten Schwächen der Beispieldatenbank zählt, dass Nordwind zwar sehr viele Kunden in Europa hat, der Euro für die Firma allerdings noch kein Thema zu sein scheint: Alle Preise werden in der Beispieldatenbank direkt und ausschließlich in "DM" erfasst.

Weitere Probleme liegen im Detail. So verwendet Microsoft in einigen Tabellen einen Bindestrich (zum Beispiel "Bestell-Nr" in der Tabelle "Bestellungen"), was in SQL-Kommandos unter Umständen zur Verwirrung füht, da SQL dies als "Bestell minus Nummer" interpretieren kann. Eine Portierung der Datenbank ist damit nicht mehr ohne weitere Eingriffe möglich.

Zwischen Lieferant und Artikel besteht in Nordwind eine "Eins-zu-n-Beziehung", wobei "n" als unendlich dargestellt wird. In der Praxis bedeutet das, dass jeder Artikel nur von einem Lieferanten bezogen werden kann. Wahrscheinlich wollte man damit der drohenden "N-zu-m-Beziehung" aus dem Wege gehen (einer unendlichen Darstellung auf beiden Seiten). Auf die Idee einer Auflösung in zwei "Eins-zu-n-Beziehungen" über eine neue Tabelle sind die Nordwind-Macher bislang nicht gekommen.

Die Tabelle "Bestellungen" enthält zunächst über den Sekundärschlüssel Kundencode den Bezug zur Kundentabelle. In derselben Tabelle werden dann jedoch zusätzlich der Empfänger (normalerweise der Kunde selbst) und die Versandadresse gespeichert. Viel sinnvoller wäre es, im Datenbankmodell die Möglichkeit abweichender Lieferanschriften vorzusehen, da in der Folge nicht bei jeder erneuten Bestellung auch die Adresse komplett neu erfasst werden müsste.

Das Feld "Position" in der Tabelle Kunden enthält die Stellung des jeweiligen Mitarbeiters wie Vertriebsagent oder Buchhalter. Das Feld muss jeweils neu eingegeben werden und ist nicht in eine separate Tabelle ausgelagert worden. Abgesehen davon, dass dies nicht dem üblichen Vorgehen entspricht, wurde besonders hinsichtlich der gelungenen Nachschlagefunktion in Access 97 die Chance eines guten Beispiels vertan.

Das Feld "Kontaktperson" in der Tabelle Kunden beeinhaltet Vorname und Nachname der Person. Die Sortierung dieses Felds erfolgt anhand des Vornamens - soll jedoch über den Nachnamen sortiert werden, so muss das Feld zunächst aufwendig manipuliert werden.

Der Primärschlüssel (Feld Kundencode) in der Tabelle "Kunden" ist eine Abkürzung des Kundennamens. So steht beispielsweise der Kundencode "DRACD" für "Drachenblut Delikatessen". Wie so oft, sorgt auch hier der "sprechende" Primärschlüssel möglicherweise für Verwirrung. So kann ein neuer Kunde, beispielsweise die Firma "Dragons CDs" nicht den sich daraus ergebenden Kundencode erhalten, da dieser bereits verwendet wurde.

Der Primärschlüssel in der Tabelle "Bestelldetails" setzt sich aus der Bestellnummer und der Artikelnummer zusammen. Dies beinhaltet, dass in jeder Bestellung ein Artikel nur einmal bestellt werden kann. Probleme treten dann auf, wenn ein Kunde mehrere Bestellpositionen desselben Artikels etwa aufgrund unterschiedlicher Rabattierungen hat. Eine Rabattierung kann aber auch ohne diese Hürde schwierig werden, da das diesbezügliche Feld ("Rabatt" in Bestelldetails) keine Nachkommastellen vorsieht.

Fazit: Microsoft ist mit Access ein leistungsfähiges Datenbank-Tool gelungen, dessen Benutzeroberfläche und Funktionsreichtum seinesgleichen sucht. Der Hersteller selbst erhebt jedoch den Anspruch, mit Nordwind eine beispielhafte relationale Datenbank für Access zu liefern. Das Originalzitat aus den "Designtips" zu Nordwind lautet: "Anhand von Nordwind erlernen Sie, wie eine relationale Datenbank strukturiert ist und wie die Datenbankobjekte zusammenarbeiten." Für seine nächsten Access-Versionen sollte Microsoft Nordwind entweder zu einer sauberen Datenbankstruktur verhelfen oder die eigenen Ansprüche senken.

* Diplomvolkswirt Peter Föck lebt in Wedel bei Hamburg.