Database opbouwen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ferdi R

Ferdi R

25/03/2015 21:54:56
Quote Anchor link
Ik wil voor een aantal verzamelaars een database maken voor verschillende producten, maar ik zit te twijfelen hoe ik dit zou opbouwen omdat je juist met verschillende producten werkt.

Zal ik per product/categorie een nieuwe database aanmaken of alleen een nieuw tabel? een nieuw tabel aanmaken betekend dat ik veel tabellen krijg in de database.

Opbouw categorie->subcategorie->filter:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Games - Consoles     - Merk
                     - Model
  
      - Games        - Uitgever
                     - Ontwikkelaar
                     - Gerne
                     - Merk
                     - Model
  
      - Merchandise  - Beelden/Poppen/knuffels
                     - Overig
 
Muziek - Vinyl platen - Artiest
                      - Gerne
                      - Label
                      - Drager
       - CD's
       - Cassettes



Moet ik nu voor elke filter ook een databasetabel aanmaken? of weet iemand een andere oplossing.

Het probleem waar ik ook mee zit is dat een merk (bijvoorbeeld Nintendo) ook een uitgever kan zijn. Of het Merk Sony Playstation kan ook de label Sony zijn.
Gewijzigd op 25/03/2015 22:11:32 door Ferdi R
 
PHP hulp

PHP hulp

22/12/2024 18:05:01
 
Thomas van den Heuvel

Thomas van den Heuvel

26/03/2015 00:20:03
Quote Anchor link
En wat als je dadelijk subsubcategorieën hebt? Nu zit je vast aan twee nivea's (en mogelijk twee tabellen). Je zou ook kunnen overwegen een boomstructuur (in één tabel) te maken - dan kun je je (boom)structuur indelen als je wilt mits deze aan een boomstructuur blijft voldoen, anders moet je misschien aan een soort van veel-op-veel-relatie constructie gaan denken.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

26/03/2015 09:09:44
Quote Anchor link
Een goede boomstructuur in een database is wel een onderwerp apart
 
Ferdi R

Ferdi R

26/03/2015 13:16:43
Quote Anchor link
Ik denk dat ik maar voor elke categorie een nieuwe database maak want voor elke categorie zijn er teveel verschillende filters, dus ik moet elke categorie behandelen als een nieuwe (website) database.

Ik wil namelijk meer categorieën gebruiken zoals: Games, Muziek, Films, Modeltreinen, Postzegels ect...
 
Ivo P

Ivo P

26/03/2015 13:28:48
Quote Anchor link
losse tabellen zou nog wat voor te zeggen zijn, maar losse databases is overdreven en onwerkbaar.
 
Thomas van den Heuvel

Thomas van den Heuvel

26/03/2015 13:31:15
Quote Anchor link
Losse tabellen lijkt mij wel vervelend als je vervolgens resultaten uit verschillende categorieën wilt gaan combineren though.

Decisions decisions :).

EDIT: je zou in je database-ontwerp dus rekening moeten houden met wat je met je data doet (hoe je hiermee omgaat), dit houdt ook in: hoe kan ik de database handig opzetten zodat ik vervolgens ook op een handige manier de data er weer uit kan halen.
Gewijzigd op 26/03/2015 13:38:55 door Thomas van den Heuvel
 
Ferdi R

Ferdi R

26/03/2015 14:10:30
Quote Anchor link
Zou het normaal zijn dat je misschien wel 1000 tabellen in 1 database hebt?

Ik had dit in gedachten maar dan zit je al met de gernes die verschillen per product.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Categorie

ID - Titel        - Subtitel
01 - Games        - Videogames en spelcomputers
02 - Muziek       - Vinyl, CD's en cassettebandjes
03 - Modeltreinen - Modeltreinen en accessoires


Categorie_Sub

ID - Cat_id - Titel  
01 - 01     - Consoles
02 - 01     - Games
03 - 01     - Merchandise
04 - 02     - Vinylplaten
05 - 02     - CD's
06 - 02     - Cassettebandjes


Filters

ID - Titel        - Cat_id - Cat_sub_id
01 - Merk         - 01     - 01, 02
02 - Model        - 01     - 01, 02
03 - Uitgever     - 01     - 02
04 - Ontwikkelaar - 01     - 02
05 - Gerne        - 01     - 02          (Gernes voor games)
06 - Gerne        - 02     - 04, 05, 06  (Gernes voor muziek)


Filter_Merk

ID - Titel  
01 - Nintendo
02 - Playstation (Sony)
03 - Xbox (Microsoft)
04 - Sega
05 - Atari

Filter_Model

ID - Merk_id - Titel
01 - 01      - NES (Nintendo entertainment system)
02 - 01      - SNES (Super Nintendo entertainment system)
03 - 01      - N64 (Nintendo 64)
04 - 01      - NGC (Nintendo GameCube)
05 - 01      - WII (Nintendo WII)
06 - 02      - PS1 (Playstation 1)
07 - 02      - PS2 (Playstation 2)


Filter_Gernes_Games

ID - Titel
01 - Avontuur
02 - Shooter
03 - Racing
04 - Sport

Filter_Gernes_Muziek

ID - Titel
01 - POP
03 - Pock
03 - Country
04 - Nederlands




Maar voor modeltreinen heb je natuurlijk weer andere merken en een uitgever van een game kan weer de merk zijn.
Gewijzigd op 26/03/2015 14:21:14 door Ferdi R
 
Thomas van den Heuvel

Thomas van den Heuvel

26/03/2015 14:26:48
Quote Anchor link
Hele andere denkrichting wellicht: wat je in feite wilt is het opslaan van kenmerken en deze kenmerken zijn van een type (en misschien zitten deze types in een soort van hierarchie)? De vraag is of je deze associaties keihard wilt vastleggen in je structuur. Je zou ook aan een soort van "losse associaties" kunnen denken. Ooit gedacht aan een soort van "tagging"?
 
Ferdi R

Ferdi R

26/03/2015 16:15:50
Quote Anchor link
Misschien is dit wel de makkelijkste manier.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
Categorie

ID - Titel        - Subtitel
01 - Games        - Videogames en spelcomputers
02 - Muziek       - Vinyl, CD's en cassettebandjes
03 - Modeltreinen - Modeltreinen en accessoires

Categorie_Sub

ID - Cat_id - Titel  
01 - 01     - Consoles
02 - 01     - Games
03 - 01     - Merchandise
04 - 02     - Vinylplaten
05 - 02     - CD's
06 - 02     - Cassettebandjes

Producten_Games

ID - Cat_id - Cat_sub_id - Titel   - Subtitel - Gerne_Filter - Merk_Filter - Model_filter - ect..
01 - 01     - 02         - Airwolf - Fly Away - Vliegen      - Nintendo    - NES          -


Producten_Muziek

ID - Cat_id - Cat_sub_id - Titel  - Subtitel         - Gerne_Filter - Uitgever_Filter - ect..
01 - 02     - 04         - Queen  - We will rock you - Rock         - EMI Records     -


En dat ik dat met SELECT DISTINCT de filters ophaal in elke Subcategorie.
 
Ivo P

Ivo P

26/03/2015 16:38:46
Quote Anchor link
ik denk dat het sneller is als je de filters vooraf definieert.

Nu test je mogelijk met 10 producten en 25 eigenschappen, maar als je straks toch 10.000 producten hebt met 35.000 eigenschappen, dan zou zo'n distinct query zo maar ineens best traag kunnen worden.
 
Ferdi R

Ferdi R

26/03/2015 18:04:09
Quote Anchor link
Dat is ook waar.

Dan zou ik alles meer en meer moeten koppelen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Categorie

ID - Titel        - Subtitel
01 - Games        - Videogames en spelcomputers
02 - Muziek       - Vinyl, CD's en cassettebandjes
03 - Modeltreinen - Modeltreinen en accessoires


Categorie_Sub

ID - Cat_id - Titel  
01 - 01     - Consoles
02 - 01     - Games
03 - 01     - Merchandise
04 - 02     - Vinylplaten
05 - 02     - CD's
06 - 02     - Cassettebandjes
07 - 03     - H0 (1:87)
08 - 03     - N (1:60)


Filters

ID - Titel        - Cat_id - Cat_sub_id
01 - Merk         - 01     - 01, 02      (Merk voor games)
02 - Model        - 01     - 01, 02
03 - Uitgever     - 01     - 02
04 - Ontwikkelaar - 01     - 02
05 - Gerne        - 01     - 02          (Gernes voor games)
06 - Gerne        - 02     - 04, 05, 06  (Gernes voor muziek)
07 - Merk         - 03     - 07, 08      (Merk voor modeltreinen)
08 - Stroom       - 03     - 07, 08      


Filter_Gegevens

ID - Filter_id - Titel  
01 - 01        - Nintendo
02 - 01        - Playstation (Sony)
03 - 01        - Xbox (Microsoft)
04 - 01        - Sega
05 - 01        - Atari
06 - 07        - Mrklin
07 - 07        - Fleischmann
08 - 02        - NES (Nintendo entertainment system)
09 - 02        - SNES (Super Nintendo entertainment system)
10 - 02        - N64 (Nintendo 64)
11 - 02        - NGC (Nintendo GameCube)
12 - 02        - WII (Nintendo WII)
13 - 02        - PS1 (Playstation 1)
14 - 02        - PS2 (Playstation 2)
15 - 06        - POP
16 - 06        - Rock
17 - 06        - Country
18 - 06        - Nederlands
19 - 05        - Avontuur
20 - 05        - Shooter
21 - 05        - Sport
22 - 05        - Racing
23 - 05        - Vliegen
24 - 03        - EMI Records

Producten_Games

ID - Cat_id - Cat_sub_id - Titel   - Subtitel - Gerne_Filter - Merk_Filter - Model_filter - ect..
01 - 01     - 02         - Airwolf - Fly Away - 23           - 01          - 08           -


Producten_Muziek

ID - Cat_id - Cat_sub_id - Titel  - Subtitel         - Gerne_Filter - Uitgever_Filter - ect..
01 - 02     - 04         - Queen  - We will rock you - 16           - 24              -



Zo kan ik filters toevoegen maar ook wijzigen.
Gewijzigd op 26/03/2015 19:40:03 door Ferdi R
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.