Forstå Relational Tables
MySQL er en relasjonsdatabase. Dette betyr at dataposter kan deles på tvers av flere bord på en logisk måte. Du vil lære å designe en relasjonsdatabase i Leksjon 16, "rel =" nofollow "class =" exlnk "target =" _ blank "Designing Database", så for nå, vil du vurdere et enkelt eksempel fra eksempel tabeller som du allerede har sett.
Det finnes et forhold mellom kunder og customer_contacts tabeller. Det kan være mer enn én kontaktperson for hver kunde, forutsatt at en kunde er et selskap og at du kan håndtere mennesker i ulike avdelinger.
Ved å dele denne informasjonen inn i to tabeller, unngår du å duplisere data som alltid er det samme for kontakter i samme selskap.
Ved ikke å duplisere kolonner, du ikke bare reduserer mengden av lagring som er nødvendig for databasen, men det kan også eliminere muligheten for data uoverensstemmelse som ellers ville eksistere. For eksempel når et selskaps detaljer er lagret på bare én post i kunder tabellen i stedet for i hver rad i customer_contacts tabellen, er det ingen fare for at kundedata vil være inkonsekvent fra en registrering til en annen.
For å holde eksemplene i denne boken enkel, eksempeltabellene inneholder en mye mindre mengde informasjon enn du ville finne i en real-world database. Likevel er konseptet det samme. Eksempeltabellen kunder inneholder et navn-feltet, som er navnet på kunden. I en live database, vil denne tabellen også inneholde en bedrifts adresse og annen informasjon som er det samme for en customerand er den samme for alle kontaktpersonene for denne kunden.
customer_contacts tabellen brukes til å lagre flere kontakter for en kunde.
Den customer_code feltet i denne tabellen fungerer som en link tilbake til kundedata. Verdien av contacts.customer_code tilsvarer customers.customer_code verdi og er nøkkelen feltet som brukes når han kom disse tabellene.
customer_code kolonne i kunder er en primærnøkkelfelt. Den inneholder en unik verdi som kan brukes til å identifisere nøyaktig en registrering fra bordet. Kolonnen med samme navn i customer_contacts er kjent som en fremmednøkkel. Du vil lære mer om nøklene i Leksjon 17, "rel =" nofollow "class =" exlnk "target =" _ blank "Taster og Indexes.
"
Kunde To Tables
For å bli med to tabeller , gi begge navnene deres i FROM-leddet i en SELECT-setning. Å indikere forholdet mellom de to tabell