[HULP] Is dit goed qua opzet voor database
Ik wil mijn eigen bedrijfje online beginnen, en zou ook graag database normalisatie willen beginnen. Hieronder mijn opzetje en daarbij de vraag aan jullie voor op- en aanmerkingen.
Tabel: Klanten
klant_id
klant_bedrijf
klant_naam
klant_adres
klant_postcode
klant_plaats
klant_land
klant_telefoon
klant_email
------------------------
Tabel: Factuur
klant_id
factuur_id
factuur_totaalprijs
factuur_datum
factuur_referentie
factuur_betaald
factuur_betaaldatum
------------------------
Tabel: Betalingen
factuur_id
betaling_bedrag
betaling_datum
------------------------
Het gaat hierbij dus om het feit dat je als klant een factuur hebt open staan en die kan dus betaald worden in 1 of meerdere keren.
wat is je primaire key in de tabel factuur ?
maby 'mis' ik nog het kvk/btw nummer van het bedrijf (eventueel voor controlle)
en een status van een bedrijf
note bij een bedrijf
Gewijzigd op 07/07/2011 23:45:43 door Marco PHPJunky
mijn primaire key in factuur zal denk ik klant_id zijn. maar weet niet of dat wel de beste keus is.
Toevoeging op 07/07/2011 23:50:15:
als je kijkt naar bedrijf, denk ik dat ik dan nog een tabel open:
Tabel: bedrijf
klant_bedrijf
bedrijf_id
bedrijf_adres
bedrijf_postcode
bedrijf_plaats
bedrijf_land
bedrijf_kvk
bedrijf_rekeningnummer
-----------------------------
Dan kan ik de tabel klanten ook aanpassen:
Tabel: klanten
klant_id
klant_bedrijf
klant_naam
klant_functie
klant_telefoon
klant_email
---------------------------
Terugkomend op je vraag: hoe ik invoer of er in 1 of meerdere keren betaald word.
dat gebeurt dus in de tabel factuur. als e van het zelfde factuur id betalingen zijn ingevoerd dan betekend het dus dat er in meerdere keren geld overgemaakt is.
Gewijzigd op 07/07/2011 23:53:11 door christiaan de kleine
ook mis ik nog het id bij betalingen.
misschien is het makkelijk voor je om je er eerst nog wat meer over te lezen voordat je gelijk aan een factuur systeem begint waarin veel fout kan gaan
ik zal iig betaling_id erbij zetten nog
of in sql ?
en klopt het dat ik foreign keys in pma kan aaleggen, dus geen enkele relatie tussen tabellen
Verder ziet het ontwerp er wat betreft normalisatie er goed uit!
Kan ik in phpmyadmin ook relaties leggen tussen tabellen of niet? zo ja, hoe...
Niet via de interface. Je kan natuurlijk wel SQL intypen. Je kan daarmee bijvoorbeeld een foreign key aanmaken.
Toevoeging op 08/07/2011 15:24:11:
heb nu deze gebruikt:
ALTER TABLE bedrijf
ADD FOREIGN KEY (bedrijf_id) REFERENCES klanten(klanten_id);
maar waar kan ik controleren of deze nu idd gekoppeld is???
Je kan natuurlijk ook een insert doen met een verkeerde waarde en dan kijken of de foreign key dan gaat klagen.
Indexen:
Actie Sleutelnaam Type Unieke waarde Gecomprimeerd Veld Kardinaliteit Collatie Null Opmerking
klant_id BTREE Nee Nee klant_id 0 A
oftelwel sleutelnaam = klant_id
Type = BTREE
Unieke waarde = Nee
Gecomprimeerd = Nee
Veld = klant_id
Kardinaliteit = 0
Collatie = A
en bij bedrijf staat het zelfde en daar is dan sleutelnaam en veld = bedrijf_id
wat doe ik fout?
kan iemand mij hiermee helpen of niet?