I dessa övningar , ska vi undersöka användningen av seriella fälten antal viktiga att relatera tabeller med data , och skapandet av sekundära relationer mellan tabeller för att förbättra vår förmåga att lagra och bearbeta flera och förlängda datainmatningar . Serienummer viktiga områden
Det enklaste sättet att skapa en databas relation är att använda seriella fält Antal nyckel där ett unikt nummer tilldelas varje post i en viss tabell . Till exempel kommer vi att skapa en adressbok med flera relationer , vilket möjliggör flera poster i varje persons rekord
Tabell 1 , People : . Rekord 1 : ( UserID : 1 Namn : " Jane Doe " ) Record 2 : ( UserID : 2 , Namn : " Joseph Brown " ) katalog
Tabell 2 , E-post : post 1 : ( UserID : 1 , E : " [email protected] " ) Record 2 : ( UserID : 2 , E-post : " [email protected] " ) Record 3 : ( UserID : 2 , E : " [email protected] " ) katalog
Tabell 3 , Tel : post 1 : ( UserID : 2 , Tel : " 202-555-8213 " ) katalog
förhållandet skapas med hjälp av fältet UserID nyckeln, som hänför sig UserID i tabell 1 med användar-ID i tabell 2 och tabell 3 . E-post och tabeller telefon, dock inte har någon relation mellan varandra som inte ansluter till UserID , så vi behöver inte tilldela dem unika ID-nummer . För att hämta fullständig information , skulle din rapport eller databas skript ( även kallad en " metod " ) korsa dessa relationer : börja med People Namn rekord , skulle det först hämta alla telefonnummer med samma användar-ID , så alla e-postadresser med att UserID , och formatera den för visning eller utskrift
p Det är viktigt att notera att UserIDs i den primära tabellen måste vara unikt , . det är acceptabelt att hoppa över nummer ( oftast sker detta när poster tas bort ) , men samma nummer kan inte användas två gånger . I de sekundära tabellerna , men du kan använda den primära ID så många gånger du behöver för att skapa flera poster , Joseph Brown har två e-postadresser , så han har två poster i e bordet med hans användarnamn
.
Sekundär Key Field relationer
Ofta kommer du vill skapa en andra uppsättning relationer utöver den första . Om du vill lagra , med varje e-postadress , en serie instruktioner om hur den e -postadress ska användas : ie , HTML kontra vanlig e-post text , och ett arbete eller hem etikett . Du kan göra detta med en platt fil databas genom att lägga till fler fält i varje post , men det kan orsaka ineffektiv databasdesign när tabellen växer sig stor . Använd en sekundär nyckel relation istället
Tabell 2 , e-post : . Rekord 1 : ( EMAILID : 1 , UserID : 1 , E : " [email protected] " ) Record 2 : ( EMAILID : 2 , UserID : 2 , E : " [email protected] " ) Record 3 : ( EMAILID : 3 , UserID : 2 , E : " [email protected] " ) katalog
Tabell 4 , EmailInstructions : post 1 : ( EMAILID : 1 , typ : " HTML " , Kind : " arbete " ) Record 2 : ( EMAILID : 2 , typ : " plain " , Kind : " arbete " ) Record 3 : ( EMAILID : 3 , typ : " plain " , Kind : . " hem " ) katalog
med en sekundär tabell , kan du lagra godtyckliga data för varje post , samtidigt som maximal effektivitet för uttag från den ursprungliga tabellen som inte behöver de sekundära uppgifter
Addera