Relationer m.m.

Tags:    php

Hej

Jeg er lidt meget ny hvad angår mysql / phpmyadmin så her kommer et af de første spørgsmål.

Er det muligt at lave relationer i mysql? det jeg har brug for, er en postnr. tabel som naturligvis ikke skal tastes hver gang! Jeg tror nok at jeg tænker i de forkerte baner lige nu, men lad mig høre om det kan lade sig gøre... hvis ikke hvordan det evt. kan !

Med venlig hilsen

Dennis Hansen
post@dennishansen.com[Redigeret d. 25/11-02 22:49:03 af Dennis Hansen]



6 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Sådan kan du også gøre, men hvorfor gøre det mere besværligt end højest nødvendigt, KISS (Keep-It-Simple-Stupid) er et fremragende princip.

1) Eftersom alle postnumre er forskellige pr. natur er et unikt id kaldet "id" unødvendigt, brug istedet postnumret som id og primær nøgle i tabellen.

Det ser da således ud,

postnumre
<pre>
postnr | by
2670 | Greve
</pre>

SQL: "CREATE TABLE postnumre ( postnr int(4) NOT NULL, by varchar(40), PRIMARY KEY (postnr) )"

kunder
<pre>
id | navn | postnr
1 | Mikkel Andersen | 2670
</pre>

SQL: "CREATE TABLE kunder ( id UNSIGNED INT NOT NULL AUTOINCREMENT, navn varchar(40), postnr int(4), PRIMARY KEY (id) )"

Så har du også strukturen :o)



Jeg kan ikke lige gennemskue hvorfor du vil bruge en relationsstruktur til en postnr-tabel, men det kan godt lade sig gøre.

Kan du ikke nøjedes med følgende struktur
<pre>
Rækker/Søjler: postnr | by
2670 Greve
...
</pre>
Så kan du hente byen ved følgende query "SELECT by FROM postnrtable WHERE postnr = $postnr
[Redigeret d. 26/11-02 00:04:11 af Erik K. Aarslew-Jensen]



For nu at fortsætte lidt:

postnumre
<pre>
id | postnr | by
1 | 2670 | Greve
</pre>

kunder
<pre>
id | navn | by
1 | Mikkel Andersen | 1
</pre>

Det relaterer til, at jeg bor i 2670 Greve (det gør jeg ikke IRL :))

/*
Mikl

ICQ: 159096501
MSN: mikl@mikl.dk
*/



Jeg bliver desværre nødt til at rette på dig :)

Da jeg kommer fra Jylland ved jeg, at små byer, ofte har samme postnummer som en større by i nærheden.

Sååå:

postnumre
<pre>
id | postnr | by
1 | 9320 | Hjallerup
2 | 9320 | Klokkerholm
</pre>

kunder
<pre>
id | navn | postnr
1 | Mikkel Andersen | 1
</pre>

Man kan begynde måske også lave en kollonne mere i postnumre, der hedder et eller andet, der indikerer, om det er byens, eller pga., at byen er lille, og man har et andet mm.


/*
Mikl

ICQ: 159096501
MSN: mikl@mikl.dk
*/



Jeg bliver desværre nødt til at rette på dig :)

Da jeg kommer fra Jylland ved jeg, at små byer, ofte har samme postnummer som en større by i nærheden.

Sååå:

postnumre
<pre>
id | postnr | by
1 | 9320 | Hjallerup
2 | 9320 | Klokkerholm
</pre>

kunder
<pre>
id | navn | postnr
1 | Mikkel Andersen | 1
</pre>

Man kan begynde måske også lave en kollonne mere i postnumre, der hedder et eller andet, der indikerer, om det er byens, eller pga., at byen er lille, og man har et andet mm.


/*
Mikl

ICQ: 159096501
MSN: mikl@mikl.dk
*/



Klokkerholm er kun et "stednavn", og har som sådan ikke et postnummer. Adressen kunne se sådan ud:
Jens Jensen
Hovedgaden 1, Klokkerholm
9320 Hjallerup

Med venlig hilsen
Lars Frederiksen



Min fejl....

Men det er blot et eksempel på, hvordan man kan relaterer til andre tabeller i én db...

/*
Mikl

ICQ: 159096501
MSN: mikl@mikl.dk
*/ nørde nørde nørde nørd! Du er en nørd!



t