[Algemeen] Database normaliseren vraagje

Pagina: 1
Acties:

  • pjonk
  • Registratie: November 2000
  • Laatst online: 11-12 18:02
Stel ik heb een Producten tabel met de volgende velden:
- ProductID
- ProductNaam

Een andere tabel heet ProductCategorie waar alle product categorieeen zijn opgeslagen in de volgende velden:
- ProductCatID
- ProductCatNaam

Nu wil ik de relatie vastleggen tussen de producten en de product categorieeen.
Hierbij kan een product soms bij meerdere product categorieeen horen.
Daarom heb ik nog een tussen tabel ProductRelatie aangemaakt met de volgende velden:
- ProductCatID
- ProductID

Een zelfde ProductCatID kan meerdere keren voorkomen aangezien er meerdere producten bij een categorie kunnen horen.
Ook een zelfde ProductID kan meerdere keren voorkomen aangezien een product bij meerdere categorieeen kan horen.
Dus de combinatie van ProductCatID en ProductID is uniek.

Mijn vraag is nu:
Moet ik ook nog 1 unieke sleutel voor de ProductRelatie tabel toevoegen, bijvoorbeeld ProductRelatieID?

Sommige mensen zeggen dat een tabel altijd een unieke sleutel moet hebben.
Wat zijn de voordelen als een tabel met een extra unieke sleutel te benaderen is :?

It’s nice to be important but it’s more important to be nice


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op woensdag 06 maart 2002 21:48 schreef JonkieXL het volgende:
[knip]

Mijn vraag is nu:
Moet ik ook nog 1 unieke sleutel voor de ProductRelatie tabel toevoegen, bijvoorbeeld ProductRelatieID?

Sommige mensen zeggen dat een tabel altijd een unieke sleutel moet hebben.
Wat zijn de voordelen als een tabel met een extra unieke sleutel te benaderen is :?
Een unieke sleutel creëren als ID is mogelijk en heeft als voordeel dat de zoekmogelijkheden sneller zijn geloof ik.

Echter het nadeel is dat je de combinatie niet meer uniek hoeft te laten zijn. Als het ID verschilt dan zou 2x dezelfde combinatie voor kunnen komen.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 22-12 23:44

Janoz

Moderator Devschuur®

!litemod

Is niet nodig.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 18-11 16:53

D2k

DATE

Doet iets met Cloud (MS/IBM)


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 22-12 23:44

Janoz

Moderator Devschuur®

!litemod

Op woensdag 06 maart 2002 21:52 schreef Glimi het volgende:

[..]

Een unieke sleutel creëren als ID is mogelijk en heeft als voordeel dat de zoekmogelijkheden sneller zijn geloof ik.
Als je een index op beide velden hebt maakt het toevoegen van een extra ID veld niks uit mbt de snelheid.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

- ProductID
- ProductCat
- ProductNaam

- CatID
- CatNaam

Zoiets lijkt mij het simpelst

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op woensdag 06 maart 2002 21:54 schreef Mannekino het volgende:
- ProductID
- ProductCat
- ProductNaam

- CatID
- CatNaam

Zoiets lijkt mij het simpelst
Lijkt me niet als je producten hebt die in verschillende catogerieën zitten en catogerieën hebt met verschillende producten

Verwijderd

Op woensdag 06 maart 2002 21:59 schreef Glimi het volgende:

[..]

Lijkt me niet als je producten hebt die in verschillende catogerieën zitten en catogerieën hebt met verschillende producten
|:( sorry, ja een tussen station maken. Om de relaties te leggen.

  • pjonk
  • Registratie: November 2000
  • Laatst online: 11-12 18:02
Oke ben nu wel wat wijzer geworden :)
Niet noodzakelijk dus om een extra key toe te voegen.

Even nog iets anders:
Ik ben nu ook bezig een ERD te maken, maar in Word wil dat niet echt vlotten.
Weet iemand goeie Software om ERD's mee te maken?

It’s nice to be important but it’s more important to be nice


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 25-11 22:57

dusty

Celebrate Life!

Op woensdag 06 maart 2002 21:52 schreef Glimi het volgende:
[..]
Een unieke sleutel creëren als ID is mogelijk en heeft als voordeel dat de zoekmogelijkheden sneller zijn geloof ik.

Echter het nadeel is dat je de combinatie niet meer uniek hoeft te laten zijn. Als het ID verschilt dan zou 2x dezelfde combinatie voor kunnen komen.
Is zelfs trager, bovendien kan je naast een gecombineerde sleutel ook nog de twee kolommen apart laten indexeren.

Extra ID erbij levert zelfs alleen maar extra problemen op (in dit geval dan)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Op woensdag 06 maart 2002 22:28 schreef JonkieXL het volgende:

Even nog iets anders:
Ik ben nu ook bezig een ERD te maken, maar in Word wil dat niet echt vlotten.
Weet iemand goeie Software om ERD's mee te maken?
Met Microsoft Visio en Sybase Powerdesigner kun je ERD's maken. Sybase Powerdesigner vind ik nog steeds een prachtpakket :) Kan ook SQL scripts (voor de meest gangbare databases) uitpoepen :)

Verwijderd

Wat voor DB gebruik je? Als je SQL gebruikt dan gebruikt je gewoon de Query-Analyzer. Met MySQL en Postgres, ja... B-)

Verwijderd

Op woensdag 06 maart 2002 22:29 schreef dusty het volgende:

[..]

Is zelfs trager, bovendien kan je naast een gecombineerde sleutel ook nog de twee kolommen apart laten indexeren.

Extra ID erbij levert zelfs alleen maar extra problemen op (in dit geval dan)
Inderdaad, plus het feit dat zo'n niet betekenisvolle primary key (dat Id dus) automatisch een index genereerd (die je niet nodig hebt) wat weer voor overhead zorgt :(

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op woensdag 06 maart 2002 23:16 schreef voetenzalf het volgende:
Wat voor DB gebruik je? Als je SQL gebruikt dan gebruikt je gewoon de Query-Analyzer. Met MySQL en Postgres, ja... B-)
Normalisatie heeft niks met een MERK database te maken, maar met een denkwijze over database's

Makkelijker voorbeeld

OOP is geen Java, Java is wel een OOP programeertaal!
of
Een voertuig met 3 of 4 wielen is geen auto, een auto is een voertuig met 3 of 4 wielen.

Programmer - an organism that turns coffee into software.

Pagina: 1