db ontwerp
Ik heb nu de volgende kolommen: boek_id, titel, prijs, beschrijving, isbn. In tabel boek.
Ik heb ook nog auteur, categorie.
Moet ik deze twee onderverdelen in andere tabellen?
Ik heb ook nog auteur, categorie.
Moet ik deze twee onderverdelen in andere tabellen?
Gesponsorde koppelingen:
Normaliseren
Pas dit principe toe en er volgt direct welke tabellen met welke kolommen je nodig hebt.
Pas dit principe toe en er volgt direct welke tabellen met welke kolommen je nodig hebt.
Ik zou zoiets opzetten:
tabel boeken:
-------------
id
titel
prijs
beschrijving
isbn
auteur_id (FK met auteurs.id)
categorie_id (FK met categories.id)
tabel auteurs:
----------------
id
naam
tabel categories:
-------------------
id
naam
tabel boeken:
-------------
id
titel
prijs
beschrijving
isbn
auteur_id (FK met auteurs.id)
categorie_id (FK met categories.id)
tabel auteurs:
----------------
id
naam
tabel categories:
-------------------
id
naam
@Blanche,
Tutorial heb ik al gevolgt (vandaag nog). Maar is nog allemaal nieuw voor me.
@GaMer13, aan zoiets dacht ik ook.
Maar ik heb niet zoveel categorieën , is het niet handig als ik tabel categorieën achterwege laat. Maar in php definieer wat de namen zijn voor elk categorie? Ik heb zo'n 40 categorieën.
Tutorial heb ik al gevolgt (vandaag nog). Maar is nog allemaal nieuw voor me.
@GaMer13, aan zoiets dacht ik ook.
Maar ik heb niet zoveel categorieën , is het niet handig als ik tabel categorieën achterwege laat. Maar in php definieer wat de namen zijn voor elk categorie? Ik heb zo'n 40 categorieën.
40 niet zoveel? Ik zou bij meer dan 5 (of iets dergelijks) altijd normaliseren.
Nee, dat is niet handig, omdat je dan zoiets kunt krijgen (versimpeld):
tabel boeken:
id | titel | categorie
1 | iets | categorie 1
2 | nog iets | categori 2
3 | nog iets anders | categorie1
4 | iets anders? | cateogrie 1
5 | iets anders | categorie 2
Oftewel, niet doen. Een cijfer is minder foutgevoelig dan zulke duplicaten. En zeg zelf, wat is minder groot, dat hier boven of:
id | titel | categorie
1 | iets | 1
2 | nog iets | 2
3 | nog iets anders | 1
4 | iets anders? | 1
5 | iets anders | 2
tabel boeken:
id | titel | categorie
1 | iets | categorie 1
2 | nog iets | categori 2
3 | nog iets anders | categorie1
4 | iets anders? | cateogrie 1
5 | iets anders | categorie 2
Oftewel, niet doen. Een cijfer is minder foutgevoelig dan zulke duplicaten. En zeg zelf, wat is minder groot, dat hier boven of:
id | titel | categorie
1 | iets | 1
2 | nog iets | 2
3 | nog iets anders | 1
4 | iets anders? | 1
5 | iets anders | 2
Quote:
Nee, dat is niet slim. Wat nu als je categorieën wilt toevoegen/verwijderen/aanpassen? Wil je dan altijd je PHP code induiken om daar aanpassingen in te maken?Maar in php definieer wat de namen zijn voor elk categorie? Ik heb zo'n 40 categorieën.
De opzet die Gamer geeft is een goede, daar zou je mee verder kunnen werken. De categorieën sla je dus gewoon in de database op. Wellicht dat je zelfs nog een koppeltabel wilt tussen de boeken en categorieën omdat boeken bijvoorbeeld tot meerdere categorieën zouden kunnen behoren:
boeken
--------
id
titel
prijs
etc...
categorieen
-------------
id
categorie
boeken_categorieen
------------------------
id_boek
id_categorie
@Blanche,
Elk boek behoort tot een categorie. Ok, ik ga dan met GaMer's opzet aan de slag. Bedankt.
Elk boek behoort tot een categorie. Ok, ik ga dan met GaMer's opzet aan de slag. Bedankt.
Een boek kan meerdere isbn nummers hebben ;-) dat geld ook voor de prijs
en met categorie bedoel je waarschijnlijk de NUR en of NUGI deze kunnen ook wel eens verschillen
bij uitgever a kan ie in NUR 331 zitten en bij uitgever b NUR 332 (willekeurig gekozen)
en met categorie bedoel je waarschijnlijk de NUR en of NUGI deze kunnen ook wel eens verschillen
bij uitgever a kan ie in NUR 331 zitten en bij uitgever b NUR 332 (willekeurig gekozen)



