Share via


Entwickeln eines Datenbankplanes

Der erste Schritt beim Erstellen einer Datenbank ist das Erstellen eines Planes, der sowohl als Richtlinie für die Implementierung als auch als Spezifikation der Funktionen der Datenbank nach der Implementierung dient. Wie komplex und detailliert ein Datenbankentwurf ist, wird von der Komplexität und Größe der Datenbankanwendung sowie von der Zusammensetzung der Benutzer bestimmt.

Die Eigenschaften und die Komplexität einer Datenbankanwendung sowie der Planungsprozess können sich von Fall zu Fall erheblich unterscheiden. Eine Datenbank kann sehr einfach und nur für die Verwendung durch eine Person konzipiert sein; sie kann jedoch auch groß und komplex sein und z. B. der Abwicklung von Banktransaktionen für Tausende von Kunden dienen. Im ersten Fall wären für den Datenbankentwurf kaum mehr als ein paar Notizen auf einem Blatt Papier erforderlich. Im zweiten Fall kann der Entwurf aus einem offiziellen Dokument mit Hunderten von Seiten bestehen, auf denen jedes denkbare Detail der Datenbank erfasst ist.

Bei der Planung der Datenbank sollten Sie ungeachtet ihrer Größe und Komplexität die im Folgenden beschriebenen grundlegenden Schritte einhalten:

  • Sammeln von Informationen.
  • Identifizieren der Objekte.
  • Modellieren der Objekte.
  • Identifizieren der Informationstypen für jedes Objekt.
  • Identifizieren der Beziehungen zwischen Objekten.

Sammeln von Informationen

Bevor Sie eine Datenbank erstellen, müssen Sie genau wissen, welche Aufgaben die Datenbank ausführen soll. Wenn die Datenbank ein auf Akten oder anderen Papierunterlagen basierendes oder anderweitig manuell geführtes Informationssystem ersetzen soll, werden Sie die meisten benötigten Informationen aus dem vorhandenen System ableiten können. Es wird empfohlen, alle Personen zu befragen, die mit dem System zu tun haben, um herauszufinden, welche Aufgaben die einzelnen Personen haben und welchen Anforderungen die Datenbank demzufolge entsprechen muss. Es ist auch wichtig, von diesen Personen zu erfahren, welche Funktionen ihrer Meinung nach von der Datenbank übernommen werden sollen, und zu ermitteln, wo in dem vorhandenen System Probleme, Einschränkungen und Engpässe aufgetreten sind. Tragen Sie Kopien von Kundenäußerungen, Inventurlisten, Berichte der Geschäftsleitung und andere Dokumente zusammen, die Teil des vorhandenen Systems darstellen. Diese Informationen werden beim Entwurf der Datenbank und der Schnittstellen sehr hilfreich sein.

Identifizieren der Objekte

Während Sie die benötigten Informationen zusammentragen, müssen Sie die Schlüsselobjekte oder -entitäten identifizieren, die in der Datenbank verwaltet werden sollen. Bei einem Objekt kann es sich um einen realen Gegenstand, z. B. ein Produkt, oder sogar um eine Person handeln, oder auch um etwas weniger Gegenständliches, z. B. eine Geschäftstransaktion, eine Abteilung in einem Unternehmen oder einen Abrechnungszeitraum. Es gibt in der Regel einige wenige Primärobjekte. Sobald diese identifiziert sind, ergeben sich die damit verbundenen Elemente nahezu von selbst. Jedes separate Element in der Datenbank sollte über eine entsprechende Tabelle verfügen.

Das primäre Objekt in der AdventureWorks-Beispieldatenbank, die zum Lieferumfang von SQL Server 2005 gehört, ist ein Fahrrad. Die Objekte, die im Rahmen der Geschäftsabläufe dieses Unternehmens mit dem Fahrrad verbunden sind, sind die Mitarbeiter, die Fahrräder herstellen, die Zulieferer, die die Einzelteile herstellen, aus denen Fahrräder gefertigt werden, die Kunden, die Fahrräder kaufen, und die Verkaufstransaktionen, die mit diesen Kunden abgewickelt werden. Jedem dieser Objekte entspricht eine Tabelle in der Datenbank.

Modellieren der Objekte

Wenn Sie die Objekte im System identifiziert haben, müssen Sie sie so aufzeichnen, dass das System visuell dargestellt wird. Sie können dieses Datenbankmodell während der Implementierung der Datenbank als Referenz verwenden.

Datenbankentwickler verwenden zu diesem Zweck Tools auf unterschiedlichstem technischen Niveau, angefangen bei Stift und Notizpapier, über Textverarbeitungs- oder Tabellenkalkulationsprogramme bis hin zu Softwareprogrammen, die speziell für die Datenmodellierung im Rahmen des Datenbankentwurfs entwickelt wurden. Unabhängig davon, welches Tool Sie im Einzelfall verwenden – wichtig ist, dass es immer auf dem aktuellen Stand ist.

Identifizieren der Informationsarten für jedes Objekt

Nachdem die Primärobjekte, die die verschiedenen Tabellen kennzeichnen, in der Datenbank identifiziert wurden, müssen Sie im nächsten Schritt ermitteln, welche Informationstypen für die einzelnen Objekte gespeichert werden müssen. Hieraus ergeben sich die Spalten in der Tabelle des Objekts. Die Spalten in einer Datenbanktabelle enthalten einige allgemeine Informationstypen:

  • Rohdatenspalten
    Diese Spalten speichern reale Informationen, z. B. Namen, die durch eine datenbankexterne Quelle bestimmt werden.
  • Kategoriespalten
    Diese Spalten klassifizieren oder gruppieren die Daten und speichern eine begrenzte Auswahl an Daten, z. B. wahr/falsch, verheiratet/ledig, Vorstandsvorsitzender/Bereichsleiter/Abteilungsleiter.
  • Bezeichnerspalten
    Die Spalten stellen einen Mechanismus bereit, um jedes in der Tabelle gespeicherte Element zu identifizieren. In den Namen dieser Spalten wird häufig eine ID oder eine Nummer verwendet, z. B. employee_id, invoice_number oder publisher_id. Die Bezeichnerspalte stellt die primäre Komponente dar, durch die Benutzer und interne Datenbankverarbeitungsprozesse Zugriff auf eine Datenzeile in der Tabelle erhalten. Manchmal verfügt das Objekt über eine reale ID, die in der Tabelle verwendet wird, z. B. eine Sozialversicherungsnummer; in den meisten Fällen müssen Sie die Tabelle jedoch so definieren, dass eine zuverlässige, künstliche ID für die Zeile erstellt werden kann.
  • Relationale oder referenzielle Spalten
    Diese Spalten stellen eine Verknüpfung zwischen Informationen in einer Tabelle und verwandten Informationen in einer anderen Tabelle her. Eine Tabelle, die z. B. Verkaufstransaktionen nachverfolgt, wird in der Regel über eine Verknüpfung zur customers-Tabelle verfügen, damit der Verkaufstransaktion die vollständigen Kundeninformationen zugeordnet werden können.

Identifizieren der Beziehung zwischen Objekten

Eine der Stärken einer relationalen Datenbank besteht darin, dass Informationen zu unterschiedlichen Elementen in der Datenbank miteinander verbunden oder einander zugeordnet werden können. Isolierte Typen von Informationen können separat gespeichert, aber bei Bedarf vom Datenbankmodul kombiniert werden. Um die Beziehung zwischen Objekten während des Datenbankentwurfs zu identifizieren, müssen Sie die Tabellen untersuchen, anschließend ermitteln, wie diese logisch miteinander verbunden sind, und dann relationale Spalten hinzufügen, die eine Verknüpfung von einer Tabelle zu einer anderen herstellen.

Der Entwickler der AdventureWorks-Datenbank hat in der Datenbank z. B. Tabellen für die Produkte und die Produktmodelle erstellt. Die Production.Product-Tabelle enthält Informationen zu jedem Produkt und verfügt über eine ID-Spalte namens ProductID, Datenspalten für den Produktnamen, den Preis, die Farbe, die Größe und das Gewicht des Produkts. Die Tabelle enthält Kategoriespalten wie Class oder Style, in denen die Produkte nach diesen Typen gruppiert werden können. Jedes Produkt verfügt auch über ein Produktmodell; diese Information ist jedoch in einer anderen Tabelle gespeichert. Daher verfügt die Production.Product-Tabelle lediglich über eine ProductModelID-Spalte, in der nur die ID des Produktmodells gespeichert wird. Damit für ein Produkt eine Zeile mit Daten hinzugefügt werden kann, muss der Wert für ProductModelID in der Production.ProductModel-Tabelle vorhanden sein.

Siehe auch

Andere Ressourcen

AdventureWorks (Datenwörterbuch)

Hilfe und Informationen

Informationsquellen für SQL Server 2005