[normaliseren] Forum gegevens

Pagina: 1
Acties:

  • Trubo
  • Registratie: April 2005
  • Laatst online: 19-02 11:40
Goede dag mede tweakers,

Voor een project van school moet ik een normalisatie maken. De normalisatie moet tot en met de 3e normaalvorm en van volgens het volgende voorbeeld.
Helaas kom ik niet echt ver. Ik struikel als ik de repeterende groepen eruit moet halen, aangezien dit er meerdere zijn.

Overzicht forum
Afbeeldingslocatie: http://forum.dbeijnvoort.nl/forum.jpg


Post 1
Afbeeldingslocatie: http://forum.dbeijnvoort.nl/posts.jpg

Nou heb ik de volgende gegevens verzamelt:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
forum_id
forum_naam
topic_id
topic_naam
bericht
starter
start_datum
laatste_post
sticky
lock
verborgen
reply_id
post_datum
bericht
gebruiker_id
gebruiker_naam
gebruiker_wachtwoord
gebruiker_rank


Stap 2 - repeterende groep eruit halen

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Tabel: forum
forum_id
forum_naam

Tabel: topic
forum_id
topic_id
topic_naam
bericht
starter
start_datum
laatste_post
sticky
lock
verborgen

Tabel: reply
forum_id
topic_id
reply_id
post_datum
bericht
gebruiker_id

Tabel: gebruiker
gebruiker_id
gebruiker_naam
gebruiker_wachtwoord
gebruiker_rank


Ik denk dat het niet in orde is, maar zie niet de fout(en). Een van jullie misschien?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Kun je jouw gedachtengang achter je eigen normalisatie ook even vermelden? Daar hebben we wat meer aan. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Nick The Heazk
  • Registratie: Maart 2004
  • Laatst online: 07-09-2024

Nick The Heazk

Zie jij er wat in?

Niet dat ik ooit databases heb moeten normaliseren, maar kun je sticky, lock en verborgen niet beter in een nieuwe tabel zetten, je kunt dan vanuit topic dat ID gebruiken.

Performance is a residue of good design.


  • Trubo
  • Registratie: April 2005
  • Laatst online: 19-02 11:40
-NMe- schreef op vrijdag 16 juni 2006 @ 13:19:
Kun je jouw gedachtengang achter je eigen normalisatie ook even vermelden? Daar hebben we wat meer aan. ;)
Die mis ik nou juist. Ik snap dat ik alle repeterende "groepen" eruit moet halen maar loop vast.
Stap 2 - repeterende groep eruit halen

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Tabel: forum ( Dit is het hoofdtabel )
forum_id
forum_naam

Tabel: topic ( Dit is het tabel voor de topics, deze komen meerder keren voor op één enkerl forum vandaar dat ik de atributen mee heb genomen die onder topic_id horen. )
forum_id
topic_id
topic_naam
bericht
starter
start_datum
laatste_post
sticky
lock
verborgen

Tabel: reply ( Dit tabel bevat de reply's die onder één topic hoort. p.s. de drie bovenste velden zijn sleutelvelden.)
forum_id
topic_id
reply_id
post_datum
bericht
gebruiker_id

Tabel: gebruiker ( in dit tabel bevinden zich de gebruikersgevevens van de posters.)
gebruiker_id
gebruiker_naam
gebruiker_wachtwoord
gebruiker_rank
Nick The Heazk schreef op vrijdag 16 juni 2006 @ 13:23:
Niet dat ik ooit databases heb moeten normaliseren, maar kun je sticky, lock en verborgen niet beter in een nieuwe tabel zetten, je kunt dan vanuit topic dat ID gebruiken.
Volgens mij niet omdat deze een attribut zijn van topic_id. Het topic is sticky of het topic is gelockt.

[ Voor 17% gewijzigd door Trubo op 16-06-2006 13:35 ]


  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 30-01 15:48

Not Pingu

Dumbass ex machina

Wat bedoel je met repeterende groepen? Alle posts in een topic ofzo? Er lijkt me niets mis met je tabelstructuur (mits je goed met keys en relaties werkt).

Certified smart block developer op de agile darkchain stack. PM voor info.


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

De volgende velden zijn overbodig in je topic-tabel:
bericht
starter
start_datum
laatste_post
Deze zijn immers door een join met de messages-tabel (niet reply-tabel; de eerste post is geen reply maar hoort wel in dezelfde tabel als alle andere messages ;)).

Misschien heb je wat aan een van mijn eerste topics hier:
[rml][ ALG] Database structuur forum[/rml]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1