I denna övning kommer vi att utveckla en relationsdatabas modell som skapar en adressbok . Vi börjar med en platt - fil databas ( som är , en enda tabell med data ) , och utvidga det med data relationer i flera tabeller . Denna handledning utforskar begreppet unika databas nycklar , och hur man väljer dem . Den Flat - File Adressbok
Vi börjar med en enkel adressbok , i ett plant bord . Om du vill , kan du bygga upp detta på något kalkylprogram , ett kalkylblad använder kolumner och rader för att skapa en tvådimensionell representation av data , vilket är definitionen av en platt fil
Över toppen , vi ' . ll skapa dessa etiketter : Namn , adress, ort , delstat, Zip , telefon och e-post . Detta skapar sju fält för våra register , som vi sedan kan komma in på följande rader i databasen .
Vad händer , men om en enda person har mer än en e-postadress , eller om två personer har samma namn ? I en platt fil , kan detta orsaka lätt problem i datalagring eller utnyttjande , till exempel , om du skohorn två e-postadresser till ett enda e -postadress cell , kommer du inte längre kunna programmässigt hämta en e-postadress för varje person . ( . Denna begränsning datainmatning - kallad " normalisering " - är avgörande för att bygga goda databaser , en databas där varje fält är ett sammelsurium av information snabbt blir oanvändbara ) katalog
Det enklaste sättet att ändra detta är att hålla den flata filen , men att lägga till nya fält ( dvs. post2 , post3 ) . Detta är också dålig databasdesign , en rapport eller skript som försöker hämta en e-postadress kommer att misslyckas om E är tomt , men post2 eller post3 fylls i , såvida alltmer komplicerade program används
. Enkel Relational Database Model
stället skapa en relation mellan två flata filer . I den första tabellen , lägg ett fält märkt ID , och fylla den med löpnummer . Varje nummer måste vara unikt i varje post . I ett andra bord , skapa två fält: ID och e-post . Tabellerna kommer se ut så här :
Flat : ( Namn : " John Smith " , Email : " jsmith@nosuchaddress.com " ) katalog
Relational : Tabell 1 : ( ID : " 31415 " , Namn : " John Smith " ) Tabell 2 : ( ID : " 31415 " , Email : " jsmith@nosuchaddress.com " ) katalog
ID-numret är "nyckeln fältet " som relaterar de två tabellerna . För att lägga till fler e-postadresser till denna post i tabell 1 , skulle du lägga till fler poster i den andra tabellen , var och en med samma ID som John Smith . De flesta databasprogram kommer att hantera dessa relationer för dig . Mata in flera e-postadresser till ett formulär skapar ID relationer bakom kulisserna , förutsatt att databasen modellen är korrekt .
Avancerad Relational Tekniker
Ibland kanske vill använda nyckelområden som själva meningsfulla . Låt oss säga att du vill skapa en anställd tabell , men du har två personer både vid namn John Smith på samma företag . Du kan använda unika ID: n för detta , men du kan också använda andra former av unika data . E-postadresserna används ofta för detta ändamål , eftersom de vanligtvis är garanterade att vara unik . Ett allaktivitetshus , men där vissa människor kan dela en e-postadress , skulle inte vara en bra användning av denna teknik .