Understanding relationstabeller
MySQL är en relationsdatabas. Detta innebär att dataposter kan delas över flera tabeller på ett logiskt sätt. Du får lära dig att designa en relationsdatabas i Lektion 16, "rel =" nofollow "class =" exlnk "target =" _ blank "Designa din databas", så för nu, kommer du överväga ett enkelt exempel från prov tabeller som du redan har sett. Omdömen
Det finns en relation mellan kunderna och customer_contacts tabeller.
Det kan finnas mer än en kontaktperson för varje kund, förutsatt att en kund är ett företag och att du kan ta itu med människor i olika avdelningar. Genom att dela denna information i två tabeller, undvika du duplicera data som alltid är densamma för kontakter inom samma företag. Omdömen
Omdömen
Genom att inte duplicera kolumner du inte bara minska mängden lagringsutrymme som krävs för databasen, men också eliminera möjligheten av data inkonsekvens som annars kan finnas.
Till exempel när ett företags uppgifter lagras på bara en post i tabellen kunder i stället för i varje rad i tabellen customer_contacts, finns det ingen risk för att de kunddata kommer att vara inkonsekvent från en post till en annan. Omdömen
För att hålla exemplen i denna bok enkla, prov tabeller innehåller en mycket mindre mängd information än du skulle hitta i en verklighetstrogen databas. Ändå är konceptet detsamma. Exempeltabellen kunder innehåller ett namnfält, vilket är namnet på kunden.
I en levande databas, skulle denna tabell också innehålla ett företags adress och all annan information som är densamma för en customerand är densamma för alla kontaktpersoner för denna kund. Omdömen
Tabellen customer_contacts används för att lagra flera kontakter för en kund. Den customer_code fältet i denna tabell fungerar som en länk tillbaka till kunddata. Värdet av contacts.customer_code motsvarar customers.customer_code värdet och är nyckelfältet som används vid sammanfogning dessa tabeller.
Omdömen
Omdömen
customer_code kolumnen i kunder är en primärnyckelfält. Den innehåller ett unikt värde som kan användas för att identifiera exakt en post från tabellen. Kolumnen med samma namn i customer_contacts är känd som en främmande nyckel. Du kommer att lära dig mer om nycklar i Lektion 17, "rel =" nofollow "class =" exlnk "target =" _ blank "Nycklar och index.
" Omdömen
kopplar två tabeller Omdömen
För att förena två tabeller Ge båda sina namn i FROM klausulen