Ondanks dat het goed uitgelegd staat in de tutorial sectie lukt het mij nog steeds niet om mijn databases goed te normaliseren. Ik ben momenteel bezig om een online bibliotheek te bouwen, waarbij ik de e-books op sla in de MySQL database. Nu is de informatie van een boek betrekkelijk weinig, dus zou het normaliseren al helemaal eenvouding moeten gaan, voor mij blijft het echter abacadabra. Zo redeneer ik momenteel en zodoende is dit mijn uitkomst, hopelijk kan iemand mij uitleggen wat nu werkelijk de bedoeling was.

0NV:

boeknummer (id)
bladzijden
titel
hoofdstukken
categorie(ën)
samenvatting
de PDF zelf
auteur(s)

Nu neem ik boeknummer als sleutel en hoofdstukken, auteurs en categorieën repeterende groepen (RG). Nu raak ik eigenlijk al vast met het opstellen van de 1NV. Krijg ik dan dit?

BOEK:
boeknummer (key)
bladzijden,
titel
samenvatting
PDF

BOEK_INFO:
boeknummer (key),
categorie(ën),
hoofdstukken,
auteur(s)


En hoe nu verder te gaan? Een boek heeft natuurlijk meerdere hoofdstukken en kan ingedeeld worden in meerdere categorieën (actie + avontuur + thriller) en kan meerdere auteurs hebben die herhaald terugkomen?

Hopelijk lukt het ooit!
Categorieën
- id
- categorie
- omschrijving

Boeken
- id
- cat_id
- schrijver_id
- uitgever_id
- titel
- samenvatting

Schrijvers
- id
- naam
- biografie
etc. etc.

Uitgeves
- id
- bedrijf
- geschiedenis
etc. etc.

Hoe ver wil je gaan? Voor zover ik zo kan zien zou ik niet weten waarom je ook nog BOEK_INFO nodig hebt... Dit kan allemaal in 1 tabel?
Ok bedankt, tot zover snap ik het. Maar hoe zou je nu een boek 2 of meer auteurs mee kunnen geven?
Dat zou je kunnen doen dmv een koppel tabel.

Maak en tabel schrijver_boeken
- Schrijver_id
- Boek_id

En veranderin boeken schrijver_id voor SB_id
Dit kun je hetzelfde doen voor uitgevers.

[size=xsmall]Toevoeging op 06/06/2012 07:38:08:[/size]

Dat zou je kunnen doen dmv een koppel tabel.

Maak en tabel schrijver_boeken
- Schrijver_id
- Boek_id

En veranderin boeken schrijver_id voor SB_id
Dit kun je hetzelfde doen voor uitgevers.

Reageren