I denne øvelse vil vi udvikle en relationel database model, der skaber en adressebog . Vi begynder med en flad - fil database ( dvs. en enkelt tabel med data) , og udvide det med data relationer på tværs af flere tabeller. Denne tutorial udforsker begrebet unik database taster, og hvordan du vælger dem. The Flat -File Address Book
Vi starter med en simpel adressebog i en flad tabel. Hvis du vil, kan du bygge dette i enhver regneark , et regneark bruger kolonner og rækker til at skabe en todimensional repræsentation af dine data , hvilket er definitionen på en flad fil
Across toppen, vi ' . ll skabe disse labels: Navn, adresse, by , stat, Zip , telefon og email. Dette skaber syv felter til vores optegnelser , som vi kan derefter indtaste de efterfølgende rækker i databasen.
Hvad sker dog, hvis en enkelt person har mere end én e-mail -adresse, eller hvis to mennesker har samme navn ? I en flad fil , kan dette let give problemer i datalagring eller anvendelse , for eksempel , hvis du skohorn to e-mail -adresser i en enkelt e-mail -adresse celle vil du ikke længere være i stand til programmatisk hente et enkelt e-mail -adresse for hver person. ( . Denne begrænsning på data entry - såkaldte " normalisering " - er afgørende for at opbygge gode databaser en database, hvor alle områder er et sammensurium af informationer hurtigt bliver ubrugelig )
Den nemmeste måde at ændre dette på er at holde den flade fil , men for at tilføje nye felter (dvs. Email2 , Email3 ) . Det er også dårligt database design, en rapport eller et script , der forsøger at hente en e-mail -adresse vil mislykkes, hvis e-mail er tomt , men Email2 eller Email3 er udfyldt, medmindre mere komplicerede programmer bruges
. simple relationelle databasemodel
stedet oprette en relation mellem to flade filer. I den første tabel , tilføje et felt mærket ID , og fyld den med sekventielle numre . Hvert nummer skal være entydigt i hver post . I en anden tabel , skal du oprette to felter : ID og e-mail . Tabellerne vil se sådan ud : Hej
Flat: ( navn: " John Smith " , e-mail: " [email protected] " )
Relationel : Tabel 1: (ID: " 31415 " , navn: " John Smith " ) Tabel 2: (ID: " 31415 " , e-mail: " [email protected] " )
ID-nummer er "nøglen felt" , der relaterer de to tabeller. Hvis du vil tilføje flere e-mail -adresser til denne post i tabel 1 , ville du tilføje flere poster til den anden tabel , hver med samme id som John Smith. De fleste database software vil håndtere disse relationer for dig. Indtastning flere e-mail -adresser til en form vil skabe id relationer bag kulisserne , forudsat at databasen modellen er indstillet korrekt.
Advanced relationelle Techniques
Sommetider kan du måske ønsker at bruge nøglefelter , der selv meningsfulde. Lad os sige, at du ønsker at oprette medarbejder bordet, men du har to mennesker, både ved navn John Smith i samme selskab. Du kan bruge entydige id'er til dette, men du kan også bruge andre former for unikke data . E-mail adresser hyppigt anvendes til dette formål , da de normalt er garanteret at være unik. Et medborgerhus , men hvor nogle mennesker kan dele en e-mailadresse , ville ikke være en god brug af denne teknik.