Dies ist eine Bewertung der Beitrag von Anum Lodhi, die großes Interesse in der Software-Entwicklung hat
Genauso, wie Sie einen Plan benötigen, um ein Haus zu bauen, werden Sie eine Datenbank Blaupause benötigen, um eine Datenbank erfolgreich umzusetzen. Der Prozess des Aufbaus des letzteren wird als "Design Phase", die eine Reihe von schweren Schritten auf das Ende beinhaltet -Produkt, flexibel zu sein. In dieser Phase werden die Informationen tatsächlich (+ Aufbau), die in die Datenbank gehen wird, machte der Annahmen, die den Typ oder die Werte der Datenelemente und die Beziehung zwischen der Datenelemente in der Datenbank stehen. Alle professionellen Firmen verwenden diese Vorgehensweise, Gestaltung ihrer Datenbank und deren möglichst effiziente Weise.
Es umfasst vier Schritte:
1. Anforderungsanalyse
Die Datenbank Anforderungen bestimmt werden. Die genauen Anforderungen der Benutzer das System die relevanten Informationen captured.All Bezug auf das System gesammelt werden. Die sechs am häufigsten verwendeten Techniken sind:
- Die Probenahme von vorhandenen Unterlagen, Formulare, Datenbanken
- Forschung und Besichtigungen vor Ort
- Die Beobachtung der Arbeitsumgebung
- Fragebogen
- Prototypen-Bau ein kleines Modell der Anforderung des Benutzers an die Hand zu überprüfen, bevor
- Joint Requirements Planning (JRP) - Gruppentreffen werden durchgeführt, um die bestehenden Probleme zu analysieren
2. Entity-Relationship-Diagramm (ERD)
ERD ist ein hohes Maß Notation zum Ausdruck Datenbank-Designs. Es definiert grafisch die Struktur der Datenbank, in eine sehr einfache und verständliche Weise durch die Verwendung von Symbolen.
Die Informationen, die während der "Schritt Requirement Analysis" versammelten sich in ein ERD (Entity Relationship Diagram), dass die Daten umgewandelt wird in Entitäten und Beziehungen zwischen ihnen organisiert. Anstatt sich in einer langen Stück Stoff, haben wir eine bildliche Darstellung der dasselbe Stück von Informationen, die leichter zu lesen ist.
Ein Beispiel ER-Diagramm ist dies:

(Bild: Wikipedia)
Verschiedene Daten-Modellierung Sprachen können verwendet werden, um eine Notfalldiskette wie Fuß-Crow-Notation zu erstellen, Chen Notation, IDEFIX (Integration Definition Für Information Modeling), Shading-Notation, Bachman-Notation UML (Unified Modeling Language)-Standard usw. Wikipedia hat eine gute Seite über ER Diagramme hier
3. Relationales Modell
Es ist sehr einfach, das Szenario von einer Notfalldiskette zu verstehen, aber diese ist sehr schwach aus der Umsetzung Sicht. Konzepte der Unterklassen (IS-A-Strukturen) und Beziehungen, kann zum Beispiel nicht in der Datenbank direkt umgesetzt werden. An dieser Stelle relationale Modell ins Spiel kommt.
Ein relationales Modell beschäftigt einen einzigen Begriff von Tabellen (auch Relationen genannt). Das Unternehmen setzt und die Beziehungen, die im ERD abgebildet sind in Tabellen konvertiert ein relationales Modell.
Es gibt fünf Schritte für die Umsetzung:
- Schalten Sie jedes nicht schwach Unternehmen in der entsprechenden Tabelle mit dem gleichen Satz von Attributen
- Ersetzen Sie eine Beziehung, die durch eine Beziehung, deren Attribute die Schlüssel der Verbindung Entitätsmengen
- Einige Beziehungen können nicht gut, wenn kombiniert oder ausgeschlossen werden. Zum Beispiel die Unterstützung der Beziehungen (für schwache Entitätsmengen) brauchen nicht in der Relation umgewandelt gar nicht.
- Ersetzen Sie eine schwache Entität durch eine Relation, deren Attribute eigene Attribute (falls vorhanden) sowie die Attribute, die helfen, entlehnt ihren Primärschlüssel zu machen.
- Konvertieren Sie die Unterklasse Strukturen mit Hilfe der objektorientierten Ansatz, E / R-Stil Wandlungs-oder NULL-Werte.
Erklärung der Umwandlung ER-Diagramm zu Relationship-Modell verfügt über umfangreiche Konzepte, die nicht in diesem Beitrag abgedeckt werden. Es gibt viele gute Bücher und Online-Ressourcen zur Verfügung, die es leicht zu verstehen ist. Für einen Überblick halte das Beispiel, das ich von Wikipedia übernommen zu haben:
Eine idealisierte, sehr einfaches Beispiel für eine Beschreibung einiger relvars und ihre Attribute:
- Kunden (Kunden-ID, UST-ID, Name, Adresse, Ort, Bundesland, Postleitzahl, Telefon)
- Auftrag (Order No-, Kunden-ID, Rechnung Nein, Aufgegeben, Datum Promised, AGB, Status)
- Auftrag Line (Bestell-Nr, Auftrag Nr. Line, Product Code, Menge)
- Rechnung (Rechnung Nr.-, Kunden-ID, Bestell-Nr, Datum, Status)
- Invoice Line (Rechnung Nr., Invoice Line Nein, Product Code, Menge versandt)
- Product (Product Code, Produkt-Beschreibung)
In diesem Design haben wir sechs relvars: Kunde, Auftrag, Order Line, Rechnung, Rechnung und Product Line. Die fett, unterstrichen Attribute sind Kandidaten Tasten. Die nicht fett, unterstrichen Attribute werden Fremdschlüssel.
4. Normalisierung
Normalisierung ist ein Prozess zur Erhöhung der normalen Form Bewertung. Es verhindert vor allem die folgenden Abhängigkeiten, um Entlassungen und Daten Anomalien zu vermeiden:
- Teilweise Abhängigkeit: auf einem Teil des Primärschlüssels der Grundlage
- Transitive Abhängigkeit: basierend auf einem Attribut, das nicht Teil des Primärschlüssels
Die ersten drei Formen der Normalisierung sind:
- 1NF
- Niedrigster umsetzbar Normalform
- Primärschlüssel Einheitenintegrität Anforderungen sind erfüllt,
- Jede Zelle enthält einen einzelnen Wert
- Non-Primärschlüssel-Werte werden auf den Primärschlüssel abhängig
- 2NF
- Alle 1NF Bedingungen erfüllt sind
- Teilweise
Abhängigkeiten werden entfernt
- 3NF
- Alle 2NF Bedingungen erfüllt sind
- Transitive Abhängigkeiten entfernt
Höhere Formen bis zu 5NF und BCNF (Boyce-Codd-Normalform) gibt es auch.
Normalisierung kann auf zwei Arten angewendet werden:
- Normal Formen nach dem relationalen Modell angewendet wird erstellt
- Der dritte Schritt übersprungen und die Erstellung von Tabellen mit der Normalisierung unter Berücksichtigung direkt getan
daleeman Blog hat einen sehr guten Beitrag über Datenbank-Normalisierung. Lesen: praktische Anwendung von Datenbank-Normalisierung, die Ihnen helfen zu verstehen Datenbank-Normalisierung im Detail wird.

















