Toon posts:

[SQL] Selectiequery

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,
Ik ben mijn mp3 collectie in een acces database aan't proppen.
Ik ben een beginner met acces.

Situatie:
- een hoop mp3's op cdr's, alles staat in de root, playlists voor de albums
-2 tabellen : albums en mp3
*albums: kolommen: artiest, titel, cd (op welke cdr het album staat)
*mp3: kolommen: artiest, titel, album, cd (" " " ")

Probleem:
-Als ik op een titel van een album klik (tabel albums) moeten de tracks van het album uit de tabel mp3 gevist worden (adh van kolom album in tabel mp3)


Daar slaag ik dus niet in en ik kan niet blijven proberen, da's frustrerend...

  • KompjoeFriek
  • Registratie: Maart 2001
  • Laatst online: 02-01 05:18

KompjoeFriek

Statsidioot

Er ontbreekt nog wat in je database structuur vind ik.
Je wilt een koppeling tussen Albums en Liedjes (mp3's)

Wat ik zou doen, is een tabel maken met Albums (die geef je een ID) en een tabel met liedjes (en die geef je ook een ID, en mogelijk ook de duur/lengte vn het liedje enz.)
Dan nog een extra tabel waarin de koppeling tussen de 2 tabellen zit :)
(waarin dus de id's van een liedje en een album in een record staat)

[edit]
zoiets:
Afbeeldingslocatie: http://kompjoefriek.homeip.net/images/tweakers/dbontwerp_album_mp3.png

wat NMe84 al zegt, eigenlijk best basic :)

[ Voor 16% gewijzigd door KompjoeFriek op 04-08-2004 18:35 ]

WhatPulse! - Rosetta@Home - Docking@Home


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

Lees wat door over joins en normaliseren. Dit is echt heel erg basic SQL kennis, is op honderden sites wat over te vinden.

'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.


  • flashin
  • Registratie: Augustus 2002
  • Laatst online: 17-12-2023
Of lees dit :)

P&W FAQ - SQL

  • BrZ
  • Registratie: Maart 2000
  • Laatst online: 12:06

BrZ

KompjoeFriek schreef op 04 augustus 2004 @ 18:24:
Er ontbreekt nog wat in je database structuur vind ik.
Je wilt een koppeling tussen Albums en Liedjes (mp3's)

Wat ik zou doen, is een tabel maken met Albums (die geef je een ID) en een tabel met liedjes (en die geef je ook een ID, en mogelijk ook de duur/lengte vn het liedje enz.)
Dan nog een extra tabel waarin de koppeling tussen de 2 tabellen zit :)
(waarin dus de id's van een liedje en een album in een record staat)

[edit]
zoiets:
[afbeelding]

wat NMe84 al zegt, eigenlijk best basic :)
Tenzij je ervan uitgaat dat een MP3 aan meerdere albums kan toebehoren, is dit niet echt een optimale DB-structuur ;)

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

BrZ schreef op 04 augustus 2004 @ 20:40:
Tenzij je ervan uitgaat dat een MP3 aan meerdere albums kan toebehoren, is dit niet echt een optimale DB-structuur ;)
Daar kun je wat mij betreft best van uitgaan... Een nummer op een "Best of..."-cd staat natuurlijk ook op andere albums... Altijd leuk om aan te geven. En dan is de bovengenoemde structuur het beste. Maar als TS dat zelf niet kon bedenken, dan kan hij dus beter eerst wat gaan studeren op de 2 onderwerpen die ik noemde, dat maakt het een stuk makkelijker. :P

'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.


  • BrZ
  • Registratie: Maart 2000
  • Laatst online: 12:06

BrZ

NMe84 schreef op 04 augustus 2004 @ 20:50:
[...]

Daar kun je wat mij betreft best van uitgaan... Een nummer op een "Best of..."-cd staat natuurlijk ook op andere albums... Altijd leuk om aan te geven. En dan is de bovengenoemde structuur het beste. Maar als TS dat zelf niet kon bedenken, dan kan hij dus beter eerst wat gaan studeren op de 2 onderwerpen die ik noemde, dat maakt het een stuk makkelijker. :P
Een nummer kan inderdaad vaker voorkomen, maar als je het over MP3'tjes hebt, heb je voor elk album een apart MP3'tje staan. Lijkt mij tenminste ;)

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

BrZ schreef op 04 augustus 2004 @ 20:51:
[...]


Een nummer kan inderdaad vaker voorkomen, maar als je het over MP3'tjes hebt, heb je voor elk album een apart MP3'tje staan. Lijkt mij tenminste ;)
Ah, en sinds wanneer is data dubbel opslaan (redundantie dus) een goed plan? :? En kom nou niet aan met het performanceverschil, want dat is minimaal. ;)

'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.


  • BrZ
  • Registratie: Maart 2000
  • Laatst online: 12:06

BrZ

NMe84 schreef op 04 augustus 2004 @ 20:54:
[...]

Ah, en sinds wanneer is data dubbel opslaan (redundantie dus) een goed plan? :? En kom nou niet aan met het performanceverschil, want dat is minimaal. ;)
Het is ook geen goed plan, maar het werkt wel makkelijker ;)
(Ik ga er vanuit dat je ook nog gewoon door de mp3'tjes heen willen kunnen browsen, dan is het niet echt praktisch als niet alle nummers van een album in 1 directory staan :))

offtopic:
Dit gaat niet echt meer over het oorspronkelijk onderwerp? :X :P

[ Voor 11% gewijzigd door BrZ op 04-08-2004 20:59 ]


Verwijderd

BrZ schreef op 04 augustus 2004 @ 20:57:
Het is ook geen goed plan, maar het werkt wel makkelijker ;)
(Ik ga er vanuit dat je ook nog gewoon door de mp3'tjes heen willen kunnen browsen, dan is het niet echt praktisch als niet alle nummers van een album in 1 directory staan :))
Natuurlijk, het is gewoon een one to many relatie. Even een id_album veld in de tracks tabel zetten dus... (dat redundantie verhaal moet je maar tegen de platenmij vertellen ;-)

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 04 augustus 2004 @ 21:00:
Natuurlijk, het is gewoon een one to many relatie. Even een id_album veld in de tracks tabel zetten dus... (dat redundantie verhaal moet je maar tegen de platenmij vertellen ;-)
Nope, het is in de kern gewoon een veel op veel relatie, die je om moet zetten naar 2 1 op veel relaties. Als je doet wat jij wil sla je veel te veel rotzooi dubbel op, wat normaal alleen wenselijk is bij resource vretende systemen.

'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.


Verwijderd

NMe84 schreef op 04 augustus 2004 @ 21:15:
Nope, het is in de kern gewoon een veel op veel relatie, die je om moet zetten naar 2 1 op veel relaties. Als je doet wat jij wil sla je veel te veel rotzooi dubbel op, wat normaal alleen wenselijk is bij resource vretende systemen.
We hebben het hier over een database van mp3tjes, 10.000 tracks en 1000 albums of zoiets? Ik ga er even vanuit dat de TS iets beters dan een Commodore 64 heeft staan. Ga jij die max honderd dubbele nummers compenseren door een extra tussentabel aan te maken? Resources en performance zijn hier praktisch irrelevant.

Daarbij komt: het is geen virtuele data. De records verwijzen naar echte mp3-files die op cd's staan. Het is dus best mogelijk dat de dubbele nummers op verschillende CD's staan. Dus moet je wel verschillende records aanmaken.

Ik zou meer inzitten over het dubbel opnemen van de artiestnaam. Eigenlijk zou je denken dat het album al van een artiest is en dus het artiestveld in de mp3 tabel redundant is, maar dat gaat niet altijd op want op sommige albums staan nummers van verschillende artiesten.

Ik zou denk ik *wel* een aparte artiestentabel aanmaken...

PS: TS, je maakt toch wel even een Perl scriptje om alle ID3 tags in te lezen en automatisch in je database te zetten hoop ik? Of ga je het echt allemaal zelf intikken? ;-)

[ Voor 9% gewijzigd door Verwijderd op 04-08-2004 21:32 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 04 augustus 2004 @ 21:25:
We hebben het hier over een database van mp3tjes, 10.000 tracks en 1000 albums of zoiets? Ik ga er even vanuit dat de TS iets beters dan een Commodore 64 heeft staan. Ga jij die max honderd dubbele nummers compenseren door een extra tussentabel aan te maken? Resources en performance zijn hier praktisch irrelevant.
Je maaksels niet optimaliseren met als reden dat je pc het "toch wel aan kan"... Dat is dus echt zo'n non-argument he? Tuurlijk kan je pc het wel aan, maar straks maak je eens wat anders, wat veel meer data moet opslaan, en dan ga je het misschien ook wel weer op de foute manier doen omdat je het gewend bent....of omdat je denkt dat het niet uitmaakt... Ik normaliseer elke database die ik maak, tenzij performance echt in het geding komt...

'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.


Verwijderd

NMe84 schreef op 04 augustus 2004 @ 21:45:
Je maaksels niet optimaliseren met als reden dat je pc het "toch wel aan kan"... Dat is dus echt zo'n non-argument he? Tuurlijk kan je pc het wel aan, maar straks maak je eens wat anders, wat veel meer data moet opslaan, en dan ga je het misschien ook wel weer op de foute manier doen omdat je het gewend bent....of omdat je denkt dat het niet uitmaakt... Ik normaliseer elke database die ik maak, tenzij performance echt in het geding komt...
Ja, ja, principes zijn heel mooi...

Blijft het niet onbelangrijke punt dat de logica op grond waarvan jij hier een many to many relatie ziet niet klopt. Ik normaliseer 'normaal gesproken' ook iedere db, maar dan bij voorkeur wel op basis van deugdelijke logica. Nogmaals, we hebben het hier over fysiek andere MP3 files met verschillende fysieke locaties!

Normaliseren vraagt hier bovendien om een aparte artiestentabel en misschien ook nog wel een tabel met cd-volumes...

Dus:

- Albums (1 op n met CD-Volumes - tenzij TS de albums ook over meerdere CD's verspreidt)
- Artiesten (1 op n met Albums en 1 op n met Tracks)
- CD-Volumes (1 op n met Albums)
- Tracks (1 op n met Albums)

Dan begint het er een beetje op te lijken.

Morgen ontwerpen we gewoon een nieuw soort wiel ;-)
Pagina: 1