Gå til innhold

Linked tables i mySQL. Åssen og hvorfor.


Anbefalte innlegg

Jeg klarer ikke å linke tables'ene mine på phpMYadmin. Noen som vet hvordan. Jeg har ikke noe (vet hvertfall ikke om noe sted) jeg kan programmere det inn i... har funnet noe men da må jeg liksom bruke commandpromt eller noe...

 

OG vil det hjelpe meg veldig? Lages det automatisk nye ting i den ene hvis en annen blir oppdatert med ny info? Jeg har bare en stakkars liten hjemmeside så det er da ikke sikkert jeg trenger det? eller?

Lenke til kommentar
Videoannonse
Annonse

Dette er ikke noe som går automatisk.

Grunnen til "joined" tables er for å spare plass i databasen, har ikke noe med størrelsen å gjøre. et godt eksempel er en vennedatabase med postnummer

 

vennetabell

------------------

id | navn | postnummer_id

1 | Nic0 | 1

2 | aeinstein | 2

3 | skybert | 1

 

bosteds tabell

------------------

id | sted | postnummer

1 | Skedsmokorset | 2020

2 | strømmen | 2010

 

når vi deler opp denne infoen i to tabeller sparer vi oss for dobbeltlagring av stedsnavn/postnummer og får derfor en mindre database.

Det du kan legge i i databasen er en foreign_key. Du kan da linke sammen postnummer_id i venne databasen med id i postnummer databasen. Da vil det genereres en feilmelding om du prøver å legge til en venn med et ikke eksisterende bosteds id. Men input skjer ikke automatisk. du definerer dette i spørringen din.

 

For å hente ut postnummer og poststed istedenfor idn i vennedatabasen kan du bruke en "left join"

 

SELECT venn.navn, bosted.sted, bosted.postnummer
FROM venner
left join bosted on (venn.id = bosted.id)
ORDER by venn.navn

 

Du vil da få ut et slikt resultat:

 

nic0 | skedsmokorset | 2020

aeinstein | strømmen | 2010

skybert | skedsmokorset | 2020

 

og du har allerede nå spart deg for omtrent 1kb. du kan jo selv tenke deg dette i større omfang..

Men foreign_key er ikke nødvendig. det hele kommer ann på hvordan du henter UT data....

Endret av NH
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...