Goedenamiddag,
Na het onclickprobleem van daarnet stoot ik weer tegen een ander probleem.
Ik heb dus een invulformulier gemaakt waar ik uit verschillende landen kan kiezen uit de verschillende werelddelen.
Dit doormiddel van een select box.
Nu de landen stellen in men mysql de tabellen voor van de databese en de werelddelen stellen de databases voor.
alles naar een database sturen lukt me wel maar als ik moet beginnen kiezen uit verschillende databases begint het wat moeilijker te worden.
Weet iemand raad.

Alvast bedankt
Ok ik zal het proberen ik laat wel iets weten als het lukt.
Goedendag,
Ik heb gisteren die tutorial doorgenomen en heb een aantal zaken opgezocht.
Nu ik heb geprobeert zo'n databasemodel te maken.
Hieronder het databasemodel.



Tabelnaam Werelddelen
Tabelveld Werelddeel
record Europa
record Azië
record Oceanië
record Afrika
record Noord-Amerika
record Latijns-Amerika

Tabelnaam Landen
Tabelveld Land
Record België
Record Nederland
Record ...

Tabelnaam Gegevens
Tabelveld ID
Tabelveld Naam
Tabelveld Stad
Tabelveld Straat
Tabelveld Nr
Tabelveld Postcode
Tabelveld Telefoonnummer
Tabelveld Gsm 1
Tabelveld Gsm 2
Tabelveld Faxnummer
Tabelveld Email
Tabelveld Website



Nu mijn vraag : Is dit een goed databasemodel of is dit totaal fout.
Het is meestal wel handig om je werelddelen en landen ook een id te geven. Dan kun je ze ook koppelen
Je krijgt dan meer dit:

Tabelnaam Werelddelen
Tabelveld id
Tabelveld Werelddeel
record 1,Europa
record 2,Azië
..

Tabelnaam Landen
Tabelveld id
Tabelveld land
Tabelveld werelddeel
record 1,België,1 //belgie ligt in europa dus werelddeel 1 (want europa heeft id 1)

Tabelnaam Gegevens
Tabelveld ID
Tabelveld Naam
Tabelveld Stad
Tabelveld Land //dit is het id van het land, dit had je er nog niet in staan maar is wel handig.
Tabelveld Straat
Tabelveld Nr
Tabelveld Postcode
Tabelveld Telefoonnummer
Tabelveld Gsm 1
Tabelveld Gsm 2
Tabelveld Faxnummer
Tabelveld Email
Tabelveld Website

Eventueel kun je steden (en straten) ook nog in losse tabellen zetten maar dan is het de vraag hoever je wilt gaan.
De landen zou ik ook hun iso-code meegeven, die wordt ook veel gebruikt. Bv. 'nl' voor Nederland en 'be' voor België.

Adressen kennen naast de straatnaam en het huisnummer ook nog een extensie, bv. Straatnaam 3 a. Daar heb je dus 3 velden voor nodig, jij hebt er slechts 2.

Afhankelijk van het land, is het ook gebruikelijk om de staat/provincie op te slaan. Dit ontbreekt in zijn geheel.

Wat ook nog ontbreekt, en niet onbelangrijk is, zijn de datatypes die je moet gaan gebruiken. Besteed hier de nodige aandacht aan, anders loopt de boel nog in het honderd. Dit geldt ook voor het instellen van de foreignkey's.

Ps. Een land kan in meerdere werelddelen liggen, je hebt dus een koppeltabel nodig tussen de tabel 'werelddelen' en 'landen'.

Pps. Weet je zeker dat je per persoon slechts 1 adres gaat opslaan? Ik beschik bv. al over 5 adressen...
Hey,
Allereerst srry dat ik dit toppic evn terug bovenhaal,
Maar ik zit nog met wat vragen in verband met men databasemodel.

Ik heb geprobeert het uit te werken op papier
en dit is het resultaat geworden :

Database Karting

Tabel Werelddelen
2 velden

Veld ID
Type : INT
Length : 11
Attributes : unsigned
Extra : auto_increment
Primary key

Veld Werelddeel
Type : varchar
Length : 150

Storage engine : InnoDB

Tabel Landen
3 velden

Veld ID
Type : INT
Length : 11
Attributes : unsigned
Extra : auto_increment
Primary key

Veld Werelddeel
Foreignkey

Veld Land
Type : varchar
Length : 150

Storage engine : InnoDB

Tabel Gegevens
14 velden

Veld ID
Type : INT
Length : 11
Attributes : unsigned
Extra : auto_increment
Primary key

Veld Land
Foreignkey

Veld Naam
Type : varchar
Length : 100

Veld ...

Storage engine : InnoDB

Nu de vragen :
1 : Is dit goed uit gewerkt.
2 : Als ik dit in mysql invoer via phpmyadmin hoed kan ik dan zo een foreignkey instellen. Die vind ik namelijk niet.

Dit zijn de twee belangrijkste vragen die ik heb op dit moment.

Alvast heel erg bedankt.
1) Wanneer jij alle data kunt opslaan en alle relaties worden correct vastgelegd, dan lijkt het datamodel wel goed te zijn. Dat kun je testen.
2) Leer SQL! PMA is slechts een tooltje en nog een vrij beroerde ook nog... FK's kun je instellen via
- selecteer tabel
- ga naar het tabblad 'structuur'
- klik op de link 'Relatie overzicht'

Maar schrijf in het vervolg je eigen SQL, daar leer je veel meer van en je kunt de boel veel beter onderhouden. Er zijn dan geen beperkingen meer die door de tool worden opgelegd.
Heel heel erg bedankt,
Ik ga zodadelijk eens kijken voor een boek over sql zodat ik me daar wat in kan verdiepen.

Reageren