Progettazione di tabelle in un database relazionale è di gran lunga l'aspetto più difficile , e più importante , di costruzione di un database . Tavoli mal progettato portano a non essere in grado di trovare i dati , dover inserire i dati duplicati , e data entry imbarazzante. Prendendo il tempo per garantire che le tabelle siano correttamente set-up e che i rapporti siano correttamente creati aiuta a garantire una buona progettazione del database . Progettare il Tables
Prima di iniziare a pensare a tabelle , è necessario determinare quali informazioni il database sta per memorizzare . Il modo più semplice per capirlo è la risposta di chi, cosa , dove, quando , e come. Ad esempio , quando si progetta un database che tiene traccia di studenti, quali classi che prendono, e che insegna le classi , la seguente potrebbe essere alcune delle risposte alle domande: Chi : studenti e docenti ; Cosa: classe , grado e numero di crediti ; dove : sedi di classe , l'indirizzo degli studenti e l'indirizzo di istruttore; Quando : data e ora di classe, come: Come è la classe consegnato
e ' importante prendersi il tempo e rispondere a queste domande nel modo più completo possibile. . Queste domande identificano i campi delle tabelle . Una volta che sai quello che tutti i campi sono , si è pronti per iniziare a sistemandoli nei tavoli . Per assicurarsi che il campo si riferisce direttamente al nome della tabella , il gruppo i campi dal tema comune e rompere i campi giù in pezzi più piccoli possibili . Per esempio, invece di un campo chiamato ' InstructorName , ' si dovrebbe usare ' IntructorFirstName ' e ' InstructorLastName . ' Alcuni campi potrebbero non chiaramente appartenere a qualsiasi tavolo . Ad esempio, il campo ' Grado ' riguarda lo studente , ma si riferisce anche alla classe . Quando si incontra un campo che appartiene a due tavoli diversi , significa che ha bisogno di essere in una tabella di join , un tavolo che unisce due tabelle in una relazione molti - a-molti . In questo modo, uno studente può ricevere diversi tipi per le diverse classi che vengono prese .
Progettare le relazioni
Una volta che avete i vostri tavoli progettati , il passo successivo è quello di capire fuori come si relazionano tra di loro . Ci sono tre tipi di relazioni : uno-a - uno , uno - a-molti e molti-a- molti. L'uno- a-uno non è utilizzato di frequente . Ciò significa che un record in una tabella si riferisce direttamente a un record nella seconda tabella . Questo rapporto è utilizzato nei database delle risorse umane , in cui una tabella contiene i dati non protetti , quali il nome e l'indirizzo , e la seconda tabella contiene i dati sicuri come stipendio .
Il secondo tipo di relazione, e la più comune , è l' uno-a -molti. Questo significa che un record in una tabella si riferisce direttamente a molti record dell'altra tabella . Per esempio, un insegnante può insegnare molte classi . Questo è significata dalla chiave primaria della tabella istruttore , ' InstructorID , ' relativa ad una chiave esterna nella tabella classi , ' ClassInstructor . '
Il terzo tipo di relazione è la relazione molti- a-molti . In questo rapporto , molti record in una tabella sono legati a molti record di un'altra tabella. Ad esempio , uno studente può prendere molte classi , e una classe può avere molti studenti . Per creare questa relazione , è necessaria una tabella di join . La tabella di join in realtà contiene le chiavi esterne . In questo rapporto , le chiavi esterne sarebbe ' StudentID ' e ' ClassID ' nella tabella di join. Con la creazione di questi rapporti , si consente i dati di fluire da un tavolo all'altro ed essere facilmente accessibili .