abonnement Unibet Coolblue
pi_10450521
Ok, je hebt een database maar wil redundantie voorkomen. Hoe kan je dat doen??? Je hebt deze tabel :


Computermerk - Netwerkkaart - Videokaart - IPnummer - Type Geheugen - Processor


Van alle dingen kan bijna redundantie ontstaan..... hoe kan je dat nou normaliseren??

Lambo of Rekt
pi_10450601
meerdere tabellen van maken volgens mij,

Ik heb dit ooit wel eens op school gehad, maar is helaas een beetje weggezakt.

zoals het potje thuis poept, poept het nergens
_-*-_-*_-*-_-*_-*-_-*_-*-_-*_-*-_-*_-*-_-*_-*-_-*
ACWW NWFC id: 2921-2609-9160 nick: tbone Town: Finetown
Fiets
pi_10450626
tja zal effe me database boek erbij pakken moment..
pi_10450643
Elk onderdeel (behalve pc in een apparte tabel) met daarin standaard dingen als leverancier, en misschien nog specefieke omschrijving
en dan de onderdelen middels een koppel tabel koppelen aan een pc...

edit::

je kan het zelf nog bonter maken trouwens en netter
Elk CI (configuratie item) gewoon in een tabel met standaard informatie, plus een refrentie naar een specefieke entry, namelijk die CI afhankelijk (bijvoorbeeld een netwerk kaart heeft een transmissie snelheid)

[Dit bericht is gewijzigd door markvleth op 15-05-2003 14:52]

pi_10450680
quote:
Op donderdag 15 mei 2003 14:43 schreef EggsTC het volgende:
Ok, je hebt een database maar wil redundantie voorkomen. Hoe kan je dat doen??? Je hebt deze tabel :


Computermerk - Netwerkkaart - Videokaart - IPnummer - Type Geheugen - Processor


Van alle dingen kan bijna redundantie ontstaan..... hoe kan je dat nou normaliseren??


lijkt me wel handig om eerst te weten wat precies de omstandigheden zijn bij deze database..
Zoek eerst maar uit wat de primary key is
pi_10450744
quote:
Op donderdag 15 mei 2003 14:46 schreef markvleth het volgende:
Elk onderdeel (behalve pc in een apparte tabel) met daarin standaard dingen als leverancier, en misschien nog specefieke omschrijving
en dan de onderdelen middels een koppel tabel koppelen aan een pc...
en welke normaalvorm heb je dan?

* ik vond normaliseren op school altijd best leuk

zoals het potje thuis poept, poept het nergens
_-*-_-*_-*-_-*_-*-_-*_-*-_-*_-*-_-*_-*-_-*_-*-_-*
ACWW NWFC id: 2921-2609-9160 nick: tbone Town: Finetown
Fiets
pi_10450760
is wel een flink werkje hoor. maar t komt er op neer dat je uit je elementaire gegevens de herhalende groepen moet uitzonderen en er aparte tabellen van moet maken. Maar weet wel dat normaliseren soms niet wenselijk is ivm performance.
pi_10450790
quote:
Op donderdag 15 mei 2003 14:50 schreef kareltje_de_grote het volgende:

[..]

en welke normaalvorm heb je dan?

* ik vond normaliseren op school altijd best leuk


brr.. normaliseren... me ergste nachtmerrie .. scheen t nog wel te snappen.. had er een flinke voldoende voor.
pi_10450832
Ligt er ook aan wat je van de zaken op wilt slaan. Bijvoorbeeld Netwerkkaart: wil je opslaan of die aanwezig is Ja / Nee, dan is dat een eigenschap van de klasse Computer ofzo, maar als je ook andere gegevens op wilt slaan over die netwerkkaart, type, aantal aansluitingen, weet ik wat nog meer, dan kun je er voor kiezen daar een aparte tabel van te maken en een foreign key op te nemen naar die netwerkkaart in de klasse Comp.

Volleges mij...

pi_10450834
quote:
Op donderdag 15 mei 2003 14:50 schreef kareltje_de_grote het volgende:

[..]

en welke normaalvorm heb je dan?

* ik vond normaliseren op school altijd best leuk


Dan ben je klaar
pi_10450848
maar ehm.. heb je geen database boek bij de hand ofzo
pi_10450885
quote:
Op donderdag 15 mei 2003 14:53 schreef markvleth het volgende:

[..]

Dan ben je klaar


de perfecte normaalvorm bestond nl niet volgens mijn docent.

zoals het potje thuis poept, poept het nergens
_-*-_-*_-*-_-*_-*-_-*_-*-_-*_-*-_-*_-*-_-*_-*-_-*
ACWW NWFC id: 2921-2609-9160 nick: tbone Town: Finetown
Fiets
pi_10450889
quote:
Op donderdag 15 mei 2003 14:46 schreef markvleth het volgende:
edit::

je kan het zelf nog bonter maken trouwens en netter
Elk CI (configuratie item) gewoon in een tabel met standaard informatie, plus een refrentie naar een specefieke entry, namelijk die CI afhankelijk (bijvoorbeeld een netwerk kaart heeft een transmissie snelheid)


configuratie item als in de ITIL methode
pi_10450898
quote:
Op donderdag 15 mei 2003 14:43 schreef EggsTC het volgende:
Ok, je hebt een database maar wil redundantie voorkomen. Hoe kan je dat doen??? Je hebt deze tabel :


Computermerk - Netwerkkaart - Videokaart - IPnummer - Type Geheugen - Processor


Van alle dingen kan bijna redundantie ontstaan..... hoe kan je dat nou normaliseren??


Aangezien de meeste informatie die je kan invullen behoort tot een vrij kleine groep elementen (hoeveel computermerken zijn er, hoeveel videokaarten, ....) kan je die info bijvoorbeeld in een aparte tabel zetten. Tabel Computermerken bijvoorbeeld met velden MerkID (integer) en Merk (Varchar).
Zodoende hoef je in je hoofdtabel alleen maar een nummer te zetten. Zodoende sla je geen redundante informatie op.
Beter een baas onder je duim, dan tien bovenop
Trekt bij warm weer een poncho aan
pi_10450911
quote:
Op donderdag 15 mei 2003 14:54 schreef kareltje_de_grote het volgende:

[..]

de perfecte normaalvorm bestond nl niet volgens mijn docent.


dat klopt.. en soms moet je ook gewoon denormaliseren
pi_10450975
Maar als ik Videokaart in 1 tabel zet kan je in die tabel wel 15000 keer krijgen : GeForce 2 bla bla??
Dat is toch juist redundantie? Daarom vroeg ik het me af.
Lambo of Rekt
pi_10450998
quote:
Op donderdag 15 mei 2003 14:47 schreef NDAsilenced het volgende:

[..]

lijkt me wel handig om eerst te weten wat precies de omstandigheden zijn bij deze database..
Zoek eerst maar uit wat de primary key is


Primarykey moet ik nog toewijzen...
sterker nog : de database bestaat (nog) niet eens.
Lambo of Rekt
pi_10451034
Overigens moet het doel bij het ontwerpen van een DB nooit zijn om geen redundantie te hebben. Het doel moet zijn om een representatie te hebben van de werkelijkheid, en alle mogelijke (geldige) situaties te kunnen opvangen...
pi_10451096
quote:
Op donderdag 15 mei 2003 14:58 schreef markvleth het volgende:
Overigens moet het doel bij het ontwerpen van een DB nooit zijn om geen redundantie te hebben. Het doel moet zijn om een representatie te hebben van de werkelijkheid, en alle mogelijke (geldige) situaties te kunnen opvangen...
toch wel iig zo weinig mogelijk redundantie
pi_10451310
wat heeft een ip adres te maken met de configuratie van een compu ?
  donderdag 15 mei 2003 @ 15:09:31 #21
13973 ranja
image means nothing
pi_10451325
Tabel X:
Computermerk - Netwerkkaart - Videokaart - IPnummer - Type Geheugen - Processor

Niet genormaliseerd heb je bijvoorbeeld als vulling:

ABC - DEF - GHI - JKL - MNO - PQR
ABC - DEF - GHI - JKL - MNO - STU
ABC - DEF - GHI - JKL - VWX - PQR

Wel genormaliseerd maak je een extra tabel:

Tabel Processor:
Pr_id - Processor

Vulling:
Tabel Processor:
1 - PQR
2 - STU

Tabel X:

ABC - DEF - GHI - JKL - MNO - 1
ABC - DEF - GHI - JKL - MNO - 2
ABC - DEF - GHI - JKL - VWX - 1

En dit kun je dus voor elke kolom doen.

Wat je ook kunt doen, maar dat is een stap verder, is bepaalde combinaties maken... bv.

Tabel Processor_Geheugen:
ID - Type Geheugen - Processor
11 - MNO - PQR
12 - VWX - PQR
13 - MNO - STU

(Of :
11 - MNO - 1
12 - VWX - 1
13 - MNO - 2
plus tabel Processor zoals hierboven
etc
)

Tabel X:
ABC - DEF - GHI - JKL - 11
ABC - DEF - GHI - JKL - 13
ABC - DEF - GHI - JKL - 12

En dit kan ook in eindeloze variaties...

Overigens heeft dit niet zozeer met redundantie te maken, is puur normaliseren, en niet altijd nuttig (bv in het geval van platte data zoals je nu hebt, maar als dit een onderdeel van een voorraadsysteem is kan het wel handig zijn).

pi_10451343
quote:
Op donderdag 15 mei 2003 15:00 schreef domolanglekker het volgende:

[..]

toch wel iig zo weinig mogelijk redundantie


Dat spreekt voor zich natuurlijk, ook al ga je voor performance altijd zo min mogelijk redundantie
pi_10451350
quote:
Op donderdag 15 mei 2003 15:09 schreef dexter12win het volgende:
wat heeft een ip adres te maken met de configuratie van een compu ?
indd laat de topicstarter eerst maar eens een fantsoenlijke database analyse maken. en ga dan de boel meer eens lekker over hoop halen door te normaliseren.
zoals het potje thuis poept, poept het nergens
_-*-_-*_-*-_-*_-*-_-*_-*-_-*_-*-_-*_-*-_-*_-*-_-*
ACWW NWFC id: 2921-2609-9160 nick: tbone Town: Finetown
Fiets
  donderdag 15 mei 2003 @ 15:14:10 #24
40780 Darkysdust
step into the dark
pi_10451449
quote:
Op donderdag 15 mei 2003 14:57 schreef EggsTC het volgende:
Maar als ik Videokaart in 1 tabel zet kan je in die tabel wel 15000 keer krijgen : GeForce 2 bla bla??
Dat is toch juist redundantie? Daarom vroeg ik het me af.
Hoeft toch juist niet? Je zet 1 keer die Geforce2 in die tabel met een eigen id, en vervolgens koppel je die id in een andere tabel aan de computer.
Postatem obscuri lateris nescitis
pi_10451457
maar eh topicstarter is dit gewoon voor jezelf of moet je iets doen voor school wat je niet helemaal snapt
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')