I disse øvelser , vil vi undersøge brugen af serienummeret nøglefelter at relatere tabeller af data og oprettelse af sekundære relationer mellem tabeller for at forbedre vores evne til at lagre og behandle flere og udvidede dataposter . Serial Number nøglefelter
Den enkleste måde at oprette en database forhold er at bruge serienummer nøglefelter , hvor et unikt nummer tildelt hver post i en given tabel . For eksempel vil vi skabe en adressebog med flere relationer, der giver mulighed for flere poster i hver enkelt persons rekord
Tabel 1 , People : . Post 1 : ( Bruger-ID: 1 navn: " Jane Doe " ) Record 2 : ( Bruger-ID: 2 navn: " Joseph Brown " )
Tabel 2 , E-mail : Optag 1: ( Bruger-ID: 1 , E-mail : " [email protected] " ) Record 2: ( Bruger-ID: 2 , E-mail: " [email protected] " ) Record 3: ( Bruger-ID: 2 , E-mail : " [email protected] " )
Tabel 3 , Tlf : Optag 1: ( Bruger-ID: 2 Telefon: " 202-555-8213 " )
forhold er oprettet ved hjælp af UserID nøglefeltet , som relaterer UserID i tabel 1 med UserID i tabel 2 og tabel 3 . E-mail og telefon borde dog ikke har nogen sammenhæng mellem hinanden, at ikke forbindelse tilbage til UserID , så vi ikke behøver at tildele dem unikke ID- numre. For at hente fuldstændige oplysninger, ville din rapport eller database script ( også kaldet en "metode" ) krydse disse relationer : startende med People Navn record, ville det først hente alle de telefonnumre med samme bruger-ID , vil alle e-mail adresser med det UserID og formatere det til visning eller udskrivning
det er vigtigt at bemærke, at bruger-id'er i den primære tabel skal være unikt , . det er acceptabelt at springe numre (normalt , vil dette ske, når poster slettes ), men det samme nummer kan aldrig bruges to gange. I de sekundære tabeller , dog kan du bruge det primære ID så mange gange som du har brug for at oprette flere optegnelser Joseph Brown har to email adresser , så han har to indgange i e-mail bordet med sin UserID
.
Sekundær Key Field Relationships
Ofte , vil du ønsker at oprette et andet sæt af relationer i tillæg til den første. Hvis du ønsker at gemme, med hver e-mail adresse, en række instruktioner om, hvordan denne e-mail -adresse skal anvendes : dvs , HTML versus almindelig tekst e-mails, og et arbejde eller hjemme etiket. Du kan gøre dette med en flad fil database ved at tilføje flere felter til hver post , men som kan forårsage ineffektiv database design , når tabellen bliver store. Brug en sekundær nøgle forhold
stedet
Tabel 2 , E-mail : . Post 1 : ( Emailid : 1, Bruger-ID: 1 , E-mail : " [email protected] " ) Record 2: ( Emailid : 2, Bruger-ID: 2 , E-mail : " [email protected] " ) Record 3: ( Emailid : 3, Bruger-ID: 2 , E-mail : " [email protected] " )
tabel 4, EmailInstructions : Optag 1: ( Emailid : 1, type : " HTML" , Kind : "arbejde" ) Record 2: ( Emailid : 2, Type: " almindelig" , Kind : "arbejde" ) Record 3: ( Emailid : 3, Type: " almindelig" , Kind : . "hjem" )
Med en sekundær tabel, kan du gemme vilkårlige data for hver post , og samtidig bevare maksimal effektivitet for søgningerne i den indledende tabel, som ikke har brug for de sekundære data
< br >