Versuch es!
Datenbanken und Web-Apps können große geschäftliche Vorteile bringen. Das Datenbankdesign ist entscheidend für das Erreichen Ihrer Ziele, egal ob Sie Mitarbeiterinformationen verwalten, wöchentliche Berichte mit Daten erstellen oder Kundenbestellungen verfolgen möchten. Wenn Sie Zeit investieren, um das Datenbankdesign zu verstehen, können Sie Datenbanken erstellen, die auf Anhieb richtig funktionieren und sich ändernden Anforderungen gerecht werden.
Wichtig: Access-Web-Apps unterscheiden sich von Desktop-Datenbanken. In diesem Artikel wird das Design von Web-Apps nicht behandelt.
Konzepte und Begriffe
Beginnen wir damit, einige grundlegende Begriffe und Konzepte zu lernen. Um eine nützliche Datenbank zu entwerfen, erstellen Sie Tabellen, die sich auf ein Thema konzentrieren. In Ihren Tabellen erfassen Sie alle für dieses Thema erforderlichen Daten in Feldern, die die kleinstmögliche Dateneinheit enthalten.
Relationale Datenbanken | Eine Datenbank, in der Daten in Tabellen unterteilt sind, die Tabellenkalkulationen ähneln. Jede Tabelle hat nur ein Thema, z. B. Kunden (eine Tabelle) oder Produkte (eine andere Tabelle). |
Aufzeichnungen und Felder | Speicherung der diskreten Daten in einer Tabelle. Zeilen ( oder Datensätze ) speichern jeden eindeutigen Datenpunkt, wie z. B. den Namen eines Kunden. Spalten ( oder Felder ) isolieren die Informationen, die zu jedem Datenpunkt erfasst werden, in die kleinstmögliche Einheit – der Vorname könnte eine Spalte sein und der Nachname eine andere. |
Primärschlüssel | Ein Wert, der sicherstellt, dass jeder Datensatz eindeutig ist. Beispielsweise könnte es zwei Kunden mit demselben Namen geben, Elizabeth Andersen. Aber einer der Datensätze von Elizabeth Andersen hat die Zahl 12 als Primärschlüssel und der andere hat einen Primärschlüssel von 58. |
Eltern-Kind-Beziehungen | Gemeinsame Beziehungen zwischen Tabellen. Beispielsweise kann ein einzelner Kunde mehrere Bestellungen haben. Übergeordnete Tabellen haben Primärschlüssel. Untergeordnete Tabellen haben Fremdschlüssel , bei denen es sich um Werte aus dem Primärschlüssel handelt, die zeigen, wie die Datensätze der untergeordneten Tabelle mit der übergeordneten Tabelle verknüpft sind. Diese Schlüssel sind durch eine Beziehung verknüpft. |
Was ist gutes Datenbankdesign?
Zwei Prinzipien sind grundlegend für ein gutes Datenbankdesign:
Vermeiden Sie doppelte Informationen (auch redundante Daten genannt). Es verschwendet Platz und erhöht die Wahrscheinlichkeit von Fehlern.
Stellen Sie sicher, dass die Daten korrekt und vollständig sind. Unvollständige oder fehlerhafte Informationen fließen in Anfragen und Berichte ein und können letztendlich zu falsch informierten Entscheidungen führen.
Um bei diesen Problemen zu helfen:
Unterteilen Sie Datenbankinformationen in themenbasierte Tabellen mit einem engen Fokus. Vermeiden Sie das Duplizieren von Informationen in mehreren Tabellen. (Beispielsweise sollten Kundennamen nur in eine Tabelle aufgenommen werden.)
Verbinden Sie die Tabellen mithilfe von Schlüsseln, anstatt Daten zu duplizieren.
Schließen Sie Prozesse ein, die die Genauigkeit und Integrität von Datenbankinformationen unterstützen und sicherstellen.
Entwerfen Sie Ihre Datenbank unter Berücksichtigung Ihrer Datenverarbeitungs- und Berichterstellungsanforderungen.
Um den langfristigen Nutzen Ihrer Datenbanken zu verbessern, befolgen Sie diese fünf Designschritte:
Schritt 1: Bestimmen Sie den Zweck Ihrer Datenbank
Bevor Sie beginnen, setzen Sie sich ein Ziel für Ihre Datenbank.
Um Ihr Design fokussiert zu halten, fassen Sie den Zweck der Datenbank zusammen und beziehen Sie sich häufig auf die Zusammenfassung. Wenn Sie z. B. eine kleine Datenbank für ein Geschäft von zu Hause aus wünschen, könnten Sie etwas Einfaches schreiben wie: „Die Kundendatenbank enthält eine Liste mit Kundeninformationen zum Zweck der Erstellung von Mailings und Berichten." Für eine Unternehmensdatenbank benötigen Sie möglicherweise mehrere Absätze, um zu beschreiben, wann und wie Personen in verschiedenen Rollen die Datenbank und ihre Daten verwenden werden. Erstellen Sie ein spezifisches und detailliertes Leitbild, auf das Sie sich während des gesamten Designprozesses beziehen können.
Schritt 2: Erforderliche Informationen finden und organisieren
Sammeln Sie alle Arten von Informationen, die Sie aufzeichnen möchten, z. B. Ihre Produktnamen und Bestellnummern.
Beginnen Sie mit Ihren vorhandenen Informationen und Tracking-Methoden. Vielleicht erfassen Sie derzeit beispielsweise Bestellungen in einem Hauptbuch oder bewahren Kundeninformationen auf Papierformularen auf. Verwenden Sie diese Quellen, um die Informationen aufzulisten, die Sie derzeit erfassen (z. B. alle Felder in Ihren Formularen). Wenn Sie derzeit keine wichtigen Informationen erfassen, überlegen Sie, welche diskreten Informationen Sie benötigen. Jeder einzelne Datentyp wird zu einem Feld in Ihrer Datenbank.
Machen Sie sich keine Gedanken darüber, Ihre erste Liste perfekt zu machen – Sie können sie im Laufe der Zeit verfeinern. Aber denken Sie an alle Menschen, die diese Informationen verwenden, und fragen Sie nach ihren Ideen.
Überlegen Sie als Nächstes, was Sie von der Datenbank erwarten und welche Arten von Berichten oder Mailings Sie erstellen möchten. Stellen Sie dann sicher, dass Sie die Informationen erfassen, die zum Erreichen dieser Ziele erforderlich sind. Wenn Sie beispielsweise einen Bericht wünschen, der die Verkäufe nach Region anzeigt, müssen Sie die Verkaufsdaten auf regionaler Ebene erfassen. Versuchen Sie, den Bericht mit den tatsächlichen Informationen so zu skizzieren, wie Sie ihn sehen möchten. Listen Sie dann die Daten auf, die Sie zum Erstellen des Berichts benötigen. Machen Sie dasselbe für Mailings oder andere gewünschte Ausgaben aus der Datenbank.
Beispiel
Angenommen, Sie geben Kunden die Möglichkeit, sich für (oder gegen) regelmäßige E-Mail-Updates anzumelden, und Sie möchten eine Liste derjenigen drucken, die sich angemeldet haben. Sie benötigen eine Spalte „E-Mail senden" in der Kundentabelle mit den zulässigen Werten Ja und NEIN.
Für diejenigen, die E-Mails erhalten möchten, benötigen Sie eine E-Mail-Adresse, die ebenfalls ein Feld erfordert. Wenn Sie eine korrekte Anrede (z. B. Herr, Frau oder Frau) einfügen möchten, fügen Sie ein Feld Anrede ein. Wenn Sie Kunden in E-Mails mit ihrem Vornamen ansprechen möchten, fügen Sie ein Feld „Vorname" hinzu.
Tipp: Denken Sie daran, jede Information in ihren kleinsten nützlichen Teil zu unterteilen, z. B. Vorname und Nachname für eine Kundentabelle. Wenn Sie auf der Grundlage eines Informationselements (z. B. des Nachnamens des Kunden) sortieren, suchen, berechnen oder einen Bericht erstellen möchten, sollten Sie dieses Element im Allgemeinen in ein eigenes Feld einfügen.
Schritt 3: Teilen Sie die Informationen in Tabellen auf
Unterteilen Sie Ihre Informationselemente in Haupteinheiten oder Themen wie Produkte, Kunden und Bestellungen. Jedes Thema wird zu einer Tabelle.
Nachdem Sie Ihre Liste der erforderlichen Informationen erstellt haben, bestimmen Sie die wichtigsten Einheiten (oder Subjekte), die Sie zum Organisieren Ihrer Daten benötigen. Vermeiden Sie das Duplizieren von Daten über Entitäten hinweg. Die vorläufige Liste für eine Produktverkaufsdatenbank könnte beispielsweise so aussehen:
Die wichtigsten Einheiten sind: Kunden, Lieferanten, Produkte und Bestellungen. Beginnen Sie also mit diesen vier Tabellen: eine für Fakten über Kunden, eine für Fakten über Lieferanten und so weiter. Dies ist vielleicht nicht Ihr endgültiges Design, aber es ist ein guter Ausgangspunkt.
Hinweis: Die besten Datenbanken enthalten mehrere Tabellen. Vermeiden Sie die Versuchung, alle Ihre Informationen in einer einzigen Tabelle zu platzieren. Dies führt zu doppelten Informationen, größerer Datenbankgröße und vermehrten Fehlern. Entwerfen Sie, um jeden Fakt nur einmal aufzuzeichnen. Wenn Sie feststellen, dass Sie Informationen wiederholen, z. B. eine Lieferantenadresse, strukturieren Sie Ihre Datenbank neu, um diese Informationen in einer separaten Tabelle zu platzieren.
Um zu verstehen, warum mehr Tabellen besser sind als weniger, betrachten Sie die hier gezeigte Tabelle:
Jede Zeile enthält Informationen über das Produkt und seinen Lieferanten. Da Sie möglicherweise viele Produkte von demselben Lieferanten haben, müssen der Name und die Adressinformationen des Lieferanten viele Male wiederholt werden. Dadurch wird Speicherplatz verschwendet. Erfassen Sie die Lieferanteninformationen stattdessen nur einmal in einer separaten Tabelle „Lieferanten" und verknüpfen Sie diese Tabelle dann mit der Tabelle „Produkte".
Ein zweites Problem bei diesem Design wird offensichtlich, wenn Sie Informationen über den Lieferanten ändern müssen. Angenommen, Sie müssen die Adresse eines Lieferanten ändern. Da es an vielen Stellen erscheint, könnten Sie versehentlich die Adresse an einer Stelle ändern, aber vergessen, sie an den anderen zu ändern. Das Erfassen der Adresse des Lieferanten an nur einer Stelle löst dieses Problem.
Angenommen, es gibt nur ein Produkt, das von Coho Winery geliefert wird, und Sie möchten das Produkt löschen, aber den Lieferantennamen und die Adressinformationen beibehalten. Wie würden Sie bei diesem Design den Produktdatensatz löschen, ohne auch die Lieferanteninformationen zu verlieren? Du kannst nicht. Da jeder Datensatz neben Fakten zu einem Lieferanten auch Fakten zu einem Produkt enthält, ist es unmöglich, einen zu löschen, ohne den anderen zu löschen. Um diese Fakten getrennt zu halten, teilen Sie diese Tabelle in zwei Teile auf: die erste für Produktinformationen und die zweite für Lieferanteninformationen. Wenn Sie dann einen Produktdatensatz löschen, löschen Sie nur die Fakten zum Produkt – nicht die Fakten zum Lieferanten.
Schritt 4: Informationselemente in Spalten umwandeln
Entscheiden Sie, welche Informationen Sie in jeder Tabelle speichern müssen. Diese einzelnen Datenelemente werden zu Feldern in der Tabelle. Beispielsweise kann eine Tabelle „Mitarbeiter" Felder wie „Nachname", „Vorname" und „Einstellungsdatum" enthalten.
Nachdem Sie das Thema für eine Datenbanktabelle ausgewählt haben, sollten die Spalten in dieser Tabelle nur Fakten zu diesem einzelnen Thema speichern. Beispielsweise sollte eine Produkttabelle nur Fakten über Produkte speichern – nicht über deren Lieferanten.
Um zu entscheiden, welche Informationen in der Tabelle nachverfolgt werden sollen, verwenden Sie die zuvor erstellte Liste. Die Kundentabelle könnte beispielsweise Folgendes enthalten: Vorname, Nachname, Adresse, E-Mail senden, Anrede und E-Mail-Adresse. Jeder Datensatz (Kunde) in der Tabelle enthält denselben Spaltensatz, sodass Sie genau dieselben Informationen für jeden Kunden speichern.
Erstellen Sie Ihre erste Liste und überprüfen und verfeinern Sie sie dann. Denken Sie daran, Informationen in die kleinstmöglichen Felder zu unterteilen. Wenn Ihre anfängliche Liste beispielsweise Adresse als Feld enthält, unterteilen Sie diese in Straße, Stadt, Bundesland und Postleitzahl – oder, wenn Ihre Kunden global sind, in noch mehr Felder. Auf diese Weise können Sie beispielsweise Mailings im richtigen Format versenden oder über Bestellungen nach Bundesland berichten.
Nachdem Sie die Datenspalten in jeder Tabelle verfeinert haben, können Sie den Primärschlüssel jeder Tabelle auswählen.
Schritt 5: Geben Sie Primärschlüssel an
Wählen Sie den Primärschlüssel jeder Tabelle aus. Der Primärschlüssel, wie z. B. Produkt-ID oder Bestell-ID, identifiziert jeden Datensatz eindeutig. Wenn Sie keinen offensichtlichen, eindeutigen Bezeichner haben, verwenden Sie Access, um einen für Sie zu erstellen.
Sie brauchen eine Möglichkeit, jede Zeile in jeder Tabelle eindeutig zu identifizieren. Erinnern Sie sich an das frühere Beispiel, wo zwei Kunden den gleichen Namen haben? Da sie einen gemeinsamen Namen haben, benötigen Sie eine Möglichkeit, sie einzeln zu identifizieren.
Daher sollte jede Tabelle eine Spalte (oder eine Reihe von Spalten) enthalten, die jede Zeile eindeutig identifiziert. Dies wird als Primärschlüssel bezeichnet und ist häufig eine eindeutige Nummer, z. B. eine Mitarbeiter-ID-Nummer oder eine Seriennummer. Access verwendet Primärschlüssel, um Daten aus mehreren Tabellen schnell zuzuordnen und die Daten für Sie zusammenzuführen.
Manchmal besteht der Primärschlüssel aus zwei oder mehr Feldern. Beispielsweise könnte eine Tabelle mit Bestelldetails, die Einzelposten für Bestellungen speichert, zwei Spalten in ihrem Primärschlüssel verwenden: Bestell-ID und Produkt-ID. Wenn ein Primärschlüssel mehr als eine Spalte verwendet, wird er auch als zusammengesetzter Schlüssel bezeichnet.
Wenn Sie bereits eine eindeutige Kennung für die Informationen in einer Tabelle haben, z. B. Produktnummern, die jedes Produkt in Ihrem Katalog eindeutig identifizieren, verwenden Sie diese, aber nur, wenn die Werte diese Regeln für Primärschlüssel erfüllen:
Die Kennung ist für jeden Datensatz immer unterschiedlich. Doppelte Werte sind in einem Primärschlüssel nicht zulässig.
Es gibt immer einen Wert für das Element. Jeder Datensatz in Ihrer Tabelle muss einen Primärschlüssel haben. Wenn Sie mehrere Spalten zum Erstellen des Schlüssels verwenden (z. B. Teilefamilie und Teilenummer), müssen immer beide Werte vorhanden sein.
Der Primärschlüssel ist ein Wert, der sich nicht ändert. Da die Schlüssel von anderen Tabellen referenziert werden, bedeutet jede Änderung an einem Primärschlüssel in einer Tabelle eine Änderung an allen Stellen, an denen auf ihn verwiesen wird. Häufige Änderungen erhöhen das Fehlerrisiko.
Wenn Sie keine offensichtliche Kennung haben, verwenden Sie eine beliebige, eindeutige Zahl als Primärschlüssel. Beispielsweise können Sie jeder Bestellung eine eindeutige Bestellnummer zuweisen, die ausschließlich dazu dient, die Bestellung zu identifizieren.
Tipp: Um eine eindeutige Zahl als Primärschlüssel zu erstellen, fügen Sie eine Spalte mit dem Datentyp „AutoWert" hinzu. Der Datentyp AutoWert weist jedem Datensatz automatisch einen eindeutigen numerischen Wert zu. Dieser Bezeichnertyp enthält keine Sachinformationen, die die Zeile beschreiben, die er darstellt. Er eignet sich ideal als Primärschlüssel, da sich die Zahlen nicht ändern – im Gegensatz zu einem Primärschlüssel, der Fakten zu einer Zeile enthält, z. B. eine Telefonnummer oder einen Kundennamen.
Mehr wollen?
Richtlinien für die Benennung von Feldern, Steuerelementen und Objekten
No comments:
Post a Comment