Relational Database Design-Techniken Relationale Datenbank-Design basiert auf drei wesentlichen Techniken. Um relationale Datenbank -Design zu verstehen , ist es wichtig , diese Techniken , sowie spezifische Konzepte zur Schlüsselfeld kennen. Die One-to -Many Relationship
Die häufigste relationalen Datenbank -Technik ist die Eins-zu- viele-Beziehung . Dieser verbindet einen einzelnen Datensatz in der primären Tabelle ( das heißt, ein Flat-File- Datenbank mit Datensätzen und Feldern ) , mit einer beliebigen Anzahl von Datensätzen in einer sekundären Tabelle . One -to-many Beziehungen werden durch einzigartige Verbindungen in der sekundären Tabelle gekennzeichnet ; jede dieser Aufzeichnungen können nicht mehr als einen zugehörigen Datensatz in der primären Tabelle haben
Diese Verbindungen werden mittels " Schlüsselfelder " gemacht , . was sind eindeutige Einträge in der Primär-Tabelle , in der Regel werden diese Felder erstellt und durch die automatische Zuordnung einer sequentiellen Seriennummer jedem neuen Datensatz durchgesetzt . Jeder Datensatz in der zweiten Tabelle, die dieses einzigartige Daten teilt einem primären Datensatz bezogen werden.
Nun erkunden dies mit einem Beispiel Adressbuch -Datenbank. Angenommen, Sie möchten ein Design, das jeder in der Datenbank, um mehrere Telefonnummern haben können. Dies ist der häufigste Weg, um dies zu erreichen :
Tabelle Personen : Satz 1: ( PersonID : 1, Name: " Franklin Roosevelt " ) Satz 2: ( PersonID : 2, Name: " Lyndon Johnson" )
Phones Tabelle : Satz 1: ( PersonID : 1, Telefon: " 202-555-1932 " ) Satz 2: ( PersonID : 1, Telefon: " 202-555-1936 " ) Satz 3: ( PersonID : 2 , Tel. : " 202-555-1964 " )
Wenn diese beiden Tabellen durch die PersonID Schlüsselfeld verwandt sind, wird Franklin haben zwei Telefonnummern , aber Lyndon wird nur eine. Ebenso ist jede Telefonnummer eindeutig mit einer einzigen Person in der Tabelle Personen verbunden.
Registriert Tabellen
Eine zweite Technik ist ein " Join-Tabelle " , die aufgerufen wird verwendet für Datensätze , die aus zwei anderen Tabellen gezogen werden . Dies wird häufig verwendet, wenn die Daten aus festen Tabellen ausgewählt werden müssen; Join-Tabellen kann nur relationale Daten eingegeben , so dass alle Daten in ihnen müssen aus vorhandenen Tabellen gezogen werden
Zum Beispiel davon ausgehen, dass Sie hinzufügen möchten . ein "Werk " oder "home "-Label auf jeder der Telefonnummern im Beispiel -Datenbank. Tun Sie dies durch Umschreiben der Beziehung als eine Join-Tabelle :
Tabelle Personen : Satz 1: ( PersonID : 1, Name: " Franklin Roosevelt " ) Satz 2: ( PersonID : 2, Name: " Lyndon Johnson" )
Phones Tabelle : Satz 1: ( PhoneID : 1, Telefon: " 202-555-1932 " ) Satz 2: ( PhoneID : 2, Telefon: " 202-555-1936 " ) Satz 3: ( PhoneID : 3, Telefon: " 202-555-1964 " )
PhoneType Tabelle : Satz 1: ( PhoneTypeID : 1, Typ: "Arbeit") Satz 2: ( PhoneTypeID : 2, Typ: " home")
Registriert Tabelle : Satz 1: ( PersonID : 1, PhoneID : 1, PhoneTypeID : 1) Satz 2: ( PersonID : 2, PhoneID : 2, PhoneTypeID : 2) Satz 3: ( PersonID : 3, PhoneID : 3, PhoneTypeID : 1) german
In dieser Datenbank , alle Beziehungen zu der Join-Tabelle , die alle von der Arbeit über einen Namen zu einer Telefonnummer tut verbinden und beides zu einer Telefonnummer Typ . Eine effizientere Version verwenden könnte zwei Join-Tabellen , da muss den Namen der Person nicht direkt auf die Art der Telefon bezogen werden: PersonID und PhoneID in Join-Tabelle 1 , und PhoneID PhoneTypeID in Join-Tabelle 2
.
Verwenden Verknüpfen von Tabellen zu Many- to-Many Beziehungen erstellen
Join-Tabellen ist die eins-zu- viele-Beziehung nicht mehr vollstreckt . Wenn wir möchten, können wir die gleiche Telefonnummer zu viele Menschen , oder die "Heimat" oder "Arbeit" Etikett , so viele Handys wie wir es gerne zuordnen. Dies ermöglicht es uns einzurichten Viele-zu- viele Beziehungen , wo jeder Datensatz in einer Tabelle zu mehreren Datensätzen in anderen Tabellen herstellen kann. Dies ist eine leistungsfähige Datenbank -Technik , aber da es komplizierte Beziehungen zwischen Daten erstellen können, es sollte nur dort eingesetzt, wo eine Eins-zu -viele-Beziehung nicht ausreichen wird.