Relationale Datenbank-Design
Einführung
Relationale Datenbank wurde von Edgar Codd (von IBM Research) vorgeschlagen um 1969. Es seit dem dominierende Datenbankmodell für kommerzielle Anwendungen worden ist (im Vergleich zu anderen Datenbankmodellen wie hierarchische, Netzwerk- und Objektmodelle). Heute gibt es viele kommerzielle Relational Database Management System (RDBMS) wie Oracle, IBM DB2 und Microsoft SQL Server. Darüber hinaus gibt es viele freie und Open-Source-RDBMS, wie MySQL, mSQL (Mini-SQL) und dem eingebetteten JavaDB (Apache Derby).
Eine relationale Datenbank organisiert Daten in Tabellen (oder Beziehungen). Eine Tabelle besteht aus Zeilen und Spalten gebildet. Eine Zeile wird auch eine Aufzeichnung (oder Tupel) genannt. Eine Spalte ist auch ein Feld (oder Attribute) genannt. Eine Datenbanktabelle ist ähnlich einer Tabelle. die Beziehungen jedoch, dass zwischen den Tabellen ermöglichen eine relationale Datenbank effizient große Datenmengen zu speichern, erstellt werden kann und effektiv ausgewählte Daten abzurufen.
Eine Sprache SQL (Structured Query Language) genannt wurde mit relationalen Datenbanken zu arbeiten, entwickelt.
Datenbank-Design-Ziel
Eine gut konzipierte Datenbank hat folgende Aufgaben:
- Beseitigen Sie Datenredundanz: das gleiche Stück Daten werden nicht in mehr als einem Ort gelagert werden. Dies liegt daran, doppelte Daten nicht nur Lagerräume Abfall, sondern auch leicht zu Inkonsistenzen führen.
- Stellen Sie sicher, Datenintegrität und Genauigkeit:
- [TODO] mehr
Relationale Datenbank-Design-Prozess
Schritt 1: Definieren Sie den Zweck der Datenbank (Anforderungsanalyse)
Sammeln Sie die Anforderungen und definieren das Ziel Ihrer Datenbank, zum Beispiel
die Probeneingabe Formulare, Abfragen und Berichte Erstellung aus, hilft oft.
Schritt 3: Erstellen von Beziehungen zwischen Tabellen
One-to-Many

Beachten Sie, dass für jeden Wert in der übergeordneten Tabelle gibt Null sein könnte, ein oder mehr Zeilen in der untergeordneten Tabelle. Für jeden Wert in der untergeordneten Tabelle, gibt es eine und nur eine Zeile in der übergeordneten Tabelle.
Viel zu viel

Die many-to-many-Beziehung ist in der Tat umgesetzt als zwei Eins-zu-viele-Beziehungen, mit der Einführung der Verknüpfungstabelle.
Eins zu eins
Einige Datenbanken begrenzen die Anzahl der Spalten, die in einer Tabelle erstellt werden kann. Sie könnten eine Eins-zu-Eins-Beziehung verwenden, um die Daten in zwei Tabellen aufgeteilt. Eins-zu-Eins-Beziehung ist auch für die in einer sicheren Tabelle bestimmte sensible Daten zu speichern, während die nicht empfindlich diejenigen in der Haupttabelle.

Spalte Datentypen
Sie benötigen einen entsprechenden Datentyp für jede Spalte zu wählen. Gemeinhin Datentypen umfassen: ganze Zahlen, Gleitkommazahlen, string (oder Text), Datum / Zeit, binär, Sammlung (wie Enumeration und gesetzt).
Schritt 4: verfeinern - Normalisieren des Entwurfs
- mehr Spalten hinzufügen,
- eine neue Tabelle für optionale Daten erstellen eine Eins-zu-Eins-Beziehung mit,
- Split einen großen Tisch in zwei kleinere Tische,
- Andere.
Normalisierung
Übernehmen Sie die sogenannten Normalisierungsregeln zu überprüfen, ob Ihre Datenbank strukturell korrekt und optimal ist.
Erste Normalform (1NF). Eine Tabelle ist 1NF, wenn jede Zelle einen einzelnen Wert enthält, nicht eine Liste von Werten. Diese Eigenschaften als Atom bekannt. 1NF verbietet auch Gruppe von Spalten wie item1 wiederholen. item2. itemN. Stattdessen sollten Sie eine andere Tabelle mit einer Eins-zu-viele-Beziehung erstellen.
Höhere Normalform. 3NF hat seine Unzulänglichkeiten, die zu höherer Normalform führt, wie Boyce / Codd Normalform, Fourth Normalform (4NF) und fünfte Normalform (5NF), die über den Rahmen dieser Übung ist.
Integritätsregeln
Sie sollten auch die Integritätsregeln anwenden, die Integrität Ihres Designs zu überprüfen:
Die meisten RDBMS können so eingerichtet werden, um die Prüfung auszuführen und die referentielle Integrität, in der angegebenen Weise zu gewährleisten.
Business-Logik Integrität. Neben den beiden oben genannten allgemeinen Integritätsregeln, könnte es sein, Integrität (Validierung) im Zusammenhang mit der Geschäftslogik, z.B. Postleitzahl ist 5-stellige innerhalb bestimmter Bereiche sein, Lieferdatum und -zeit werden in den Geschäftszeiten fallen; bestellen Menge wird auf Lager als Menge gleich oder weniger, usw. Diese in Gültigkeitsregel durchgeführt (für die bestimmte Spalte) oder Programmierlogik werden könnten.