I disse øvelsene , vil vi undersøke bruk av serienummer viktige felt å forholde tabeller av data , og etablering av sekundære relasjoner mellom tabeller for å forbedre vår evne til å lagre og behandle flere og utvidede data oppføringer . Serienummer Viktige Fields
Den enkleste måten å opprette en database forhold er å bruke serienummer viktige felt der et unikt nummer er tildelt hver post i en gitt tabell . For eksempel , vil vi lage en adressebok med flere forhold, noe som åpner for flere oppføringer i hver persons rekord
Tabell 1 , People : . Record 1 : ( Bruker-ID: 1 , Navn: " Jane Doe ") Record 2 : ( Bruker-ID: 2 , Name: " Joseph Brown" )
Tabell 2 , E-post: 1 Record : ( Bruker-ID: 1 , E-post: " jdoe@ourcompany.com ") Record 2 : ( Bruker-ID: 2 , e-post : " brown@anothercompany.com ") Record 3 : ( Bruker-ID: 2 , e-post: " joe@joeshobbysite.org ")
Tabell 3 , Tlf: 1 Record : ( Bruker-ID: 2 , Tlf: " 202-555-8213 ")
forholdet er opprettet ved hjelp av bruker-ID -feltet , som er relatert BrukerID i tabell 1 ved BI i tabell 2 og tabell 3 . Den e-post og telefon tabeller , men ikke har noe forhold mellom hverandre som ikke kan kobles tilbake til ID, så vi trenger ikke å tildele dem unike ID-numre . Å hente fullstendig informasjon , ville rapporten eller database script ( også kalt en "metode" ) traversere disse relasjonene : starter med People Navn posten , ville det først hente alle telefonnumrene med samme ID, vil alle e-postadressene med at ID, og formatere den for visning eller utskrift
p Det er viktig å merke seg at userids i den primære tabellen må være unikt ; . det er akseptabelt å hoppe tall ( som regel vil dette skje når postene er slettet) , men det samme nummeret kan aldri brukes to ganger. I de sekundære tabeller , men du kan bruke den primære ID så mange ganger som du trenger for å lage flere poster , Joseph Brown har to e-postadresser, så han har to oppføringer i e tabellen med BrukerID hans
.
Sekundær Key Felt relasjoner
Ofte vil du ønsker å lage et ekstra sett av relasjoner i tillegg til den første . Hvis du ønsker å lagre, med hver e-postadresse , en serie med instruksjoner om hvordan den e-postadressen bør brukes : dvs. , HTML versus ren tekst e-post, og en jobb eller hjemme etiketten. Du kan gjøre dette med en flat fil database ved å legge til flere felt i hver post , men det kan føre til ineffektiv database design når bordet blir stor . Bruk en sekundær nøkkel relasjon i stedet
Tabell 2 , E-post: . Post 1 : ( EMAILID : 1 , Bruker-ID: 1 , E-post: " jdoe@ourcompany.com ") Record 2 : ( EMAILID : 2 , Bruker-ID: 2 , E-post: " brown@anothercompany.com ") Record 3 : ( EMAILID : 3 , Bruker-ID: 2 , E-post: " joe@joeshobbysite.org ")
Tabell 4 , EmailInstructions : Record 1 : ( EMAILID : 1 , Type : " HTML" , Kind : " arbeid") Record 2 : ( EMAILID : 2 , Type : " plain" , Kind : " arbeid") Record 3 : ( EMAILID : 3 , Type : " plain" , Kind : . "hjem" )
p Med en sekundær tabell, kan du lagre vilkårlige data for hver post , og samtidig opprettholde maksimal effektivitet for uttak fra den første tabellen som ikke trenger de sekundære data