Toon posts:

[PHP]

Pagina: 1
Acties:
  • 28 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik zit te worstelen met het volgende.

Ik haal data op van verschillende pagina's op het internet om met die data een collectie op te bouwen. Ik heb interfaces geschreven naar deze verschillende pagina's en dat werkt allemaal prima. Het probleem waar ik mee zit is het weergeven van deze data.

Elke source ( de internet pagina ) heeft verschillende fields die kunnen worden opgehaald. Denk bijvoorbeeld aan ISBN nummer en auteur bij boeken of artiest en tracklist bij cd's. Een item in een collectie kan van meerdere sources data bevatten. Dit kan ik gewoon definiëren in een database, tabel collectie met de collumns voor de data. Geen probleem dus..

Maar hoe ga ik dit oplossen als ik meerdere collecties wil gaan gebruiken, dus eentje voor boeken, eentje voor films, eentje voor muziek, etc. Deze hebben elk een verschillend aantal velden dat gevuld moet worden met verschillende waarden. Hoe krijg ik deze data netjes in een database voor de verschillende collecties?

Ik wil liever geen apart tabel aanmaken voor elke soort collectie. Of zou het hier toch op neerkomen?

[ Voor 1% gewijzigd door Verwijderd op 12-09-2005 11:43 . Reden: Sorry, vergeten de titel goed in te vullen. Kan veranderd worden naar 'Design database vraag' ofzoiets ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 23:02

Creepy

Tactical Espionage Splatterer

Klinkt als: normaliseren ;)

Waarschijnlijk is het makkelijker om voor de data die voor alle collecties hetzelfde te zijn 1 tabel te maken. Per record neem je dan iets van een type veld op. Vervolgens afhankelijk van de wijzigingen zul je moeten beslissen of je de extra specifieke velden in dezelfde tabel of in een andere tabel wilt stoppen.

Overigens: lees *** Over topictitels in P&W - lezen voor topic openen!!! *** eens goed door en geef via TR even een fatsoenlijke topic titel aan. Alleen PHP zegt zo weinig ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • lammert
  • Registratie: Maart 2004
  • Laatst online: 30-04 22:54
je zegt het zelf al... hiervoor zou ik echt een aparte tabel maken, anders wordt het echt een zooitje. Bovendien... zoveel moeite is het toch niet om voor je boeken naar de tabel "boeken" te verwijzen en voor films naar de tabel "films"? :?

Verwijderd

Topicstarter
@creepy: Dat gaat denk ik niet echt werken, sommige collecties zijn te verschillend.

@Lammert: Dat is idd waar, maar ik dacht misschien zijn er mensen met andere oplossingen. Een frisse kijk op de zaak zogezegd :)

  • sariel
  • Registratie: Mei 2004
  • Laatst online: 24-03 12:54
Hrm......klinkt niet al te lastig....Je hoeft in principe niet 1 tabel per type te maken.
Mogelijke oplossing:
- Maak een tabel aan waarin de cd's, boeken, etc komen
- Maak een tabel aan waarin de waardes van de cd's, boeken, etc komen
- Maak een tabel aan waarin de namen van de waardes van de cd's, boeken, etc komen

Voorbeeld:
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
tabel collectie
(id,naampje)

1, Lord of the Rings
2, Fearless - Kane

tabel collectiewaarden
(id,collectieid,veldnaamid,waarde)

1,1,1, Lord of the Rings
2,1,2, J.R.R. Tolkien
3,1,3, Verhaal over een paar guppen die een tochtje maken
4,2,1, Fearless
5,2,2, Kane
6,2,5, Go
7,2,5, Something to say
8,2,5, Don't let it pass by you

tabel veldnamen
(id,veldnaam)

1,Titel
2,Auteur
3,Omschrijving
4,Hoofdstuk
5,Track


Op deze manier kan je dynamisch onderdelen toevoegen in je databaseje, zonder dat je zit te klooien met een tabel voor ieder type datarecord wat je wil opslaan. Als je wil, zou je zelfs je lego-collectie hier in op kunnen slaan.

Eventueel kan je hier ook nog een extra tabelletje maken waarin staat wat voor type een collectieitem is. zou een extra tabelletje zijn.


Sar

[ Voor 8% gewijzigd door sariel op 12-09-2005 11:57 ]

Copy.com


Verwijderd

Topicstarter
@Sar: Bedankt! Dit is precies wat ik bedoelde. Ik zag het even niet meer ;) Ik heb inderdaad een extra tabel met de collectie type erin. En mijn tabel met veldnamen verwijst door naar het tabel met de specifieke source waar het veld van wordt opgehaald.

Bedankt voor de response mensen, en sorry van de topic titel :) Iets te enthousiast met submitten heh.

  • whoami
  • Registratie: December 2000
  • Laatst online: 30-04 15:31
Mja, als jij geen goeie topic-titel wilt verzinnen, dan doe ik het topic maar dicht.
(Nee, database-design vraag is geen goeie titel, zoals ik al in m'n PM zei)
:)

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.