Smidigt sätt att lägga upp en databas?

Databaser & SQL

2 svar · 217 visningar · startad av Rocket

Medlem sedan feb. 2000372 inlägg
Trådstart#1

Jag håller på att göra en databas över alla skivor och låtar som ett band har släppt. Jag har lite problem med att skapa en vättig koppling mellan tabellen med låt namn och tabellen med skivor. Saken är den att en låt kan finnas med på många skivor så att bara skriva in ett record_id för varje låt fungerar inte. Någon som kan komma på något smidigt sätt att ha flera record_id för vissa av låtarna?

Medlem sedan juni 20008 205 inlägg
#2

Ah, många-till-många-relationer! :)
Du får ha en tredje tabell "mellan" dem, en s.k. kopplingstabell. Exempel:

Skiva - tabell över skivor
ArtistID
Skivnamn
SkivID (primärnyckel - egentligen skulle det kunna vara ArtistID kombinerat med Skivnamn, men vafan... )

Låt - tabell över låtar
LåtID (primärnyckel)
ArtistID
Låtlängd

Spår - tabell över förekomster av låtar på skivor
LåtID
SkivID
LåtID och SkivID utgör primärnyckel tillsammans (en låt förekommer bara en gång / skiva, får man hoppas ;) )

Medlem sedan feb. 2000372 inlägg
#3

Det låter mycket bra. Jag ska testa och se hur det blir.

247 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)