[datamodel] audio collectie
Ik ben net begonnen om een opzetje te maken voor mijn CD collectie (ja ik koop ze :) ), Hierbij heb ik het volgende opgezet:
FK's staan er niet in, maar die komen wel.
Ik zit een beetje te dubben met genre's hoe ik dit ga doen. Ik wil hetzelfde idee als last.fm gebruikt met tags. Dus een textvak waarbij tags met komma gescheiden worden en daarna als losse tag opgeslagen. Dat snap ik wle met een explode, maar nu wil ik dus als een genre nog niet bestaat dat deze aan de genre tabel wordt toegevoegd, maar ook dat dit genre meteen in de koppel tabel genres_records wordt opgeslagen (omdat in mijn geval een CD/DVD/LP etc meerdere genre's kan bevatten).
Hopelijk kunnen jullie mij hier mee verder helpen.
FK's staan er niet in, maar die komen wel.
Code (php)
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
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
records
---------------------------------
id PK serial
naam varchar(100)
band_id int(5)
label_id int (5)
info varchar
rating int(2)
type_id int(3)
cover varchar
labels
---------------------------------
id PK serial
naam varchar(100)
info varchar
genres
---------------------------------
id PK serial
naam varchar(50)
genres_records
---------------------------------
genre_id PK int
record_id PK int
types
---------------------------------
id PK serial
naam varchar(50)
bands
---------------------------------
id PK serial
band_naam varchar(50)
locatie varchar(50)
vlag varchar
foto varchar
---------------------------------
id PK serial
naam varchar(100)
band_id int(5)
label_id int (5)
info varchar
rating int(2)
type_id int(3)
cover varchar
labels
---------------------------------
id PK serial
naam varchar(100)
info varchar
genres
---------------------------------
id PK serial
naam varchar(50)
genres_records
---------------------------------
genre_id PK int
record_id PK int
types
---------------------------------
id PK serial
naam varchar(50)
bands
---------------------------------
id PK serial
band_naam varchar(50)
locatie varchar(50)
vlag varchar
foto varchar
Ik zit een beetje te dubben met genre's hoe ik dit ga doen. Ik wil hetzelfde idee als last.fm gebruikt met tags. Dus een textvak waarbij tags met komma gescheiden worden en daarna als losse tag opgeslagen. Dat snap ik wle met een explode, maar nu wil ik dus als een genre nog niet bestaat dat deze aan de genre tabel wordt toegevoegd, maar ook dat dit genre meteen in de koppel tabel genres_records wordt opgeslagen (omdat in mijn geval een CD/DVD/LP etc meerdere genre's kan bevatten).
Hopelijk kunnen jullie mij hier mee verder helpen.
Gesponsorde koppelingen:
Wat is nou precies je vraag?
De database structuur ziet er goed uit iig.
Als je een nieuw record wilt gaan toevoegen en ga je eerst controleren of de genre(s) al bestaan.
Zo niet dan voeg je deze toe aan de database en haal het genre_ID ervan op. Die je weer gebruikt om het record te koppellen aan het genre.
De database structuur ziet er goed uit iig.
Als je een nieuw record wilt gaan toevoegen en ga je eerst controleren of de genre(s) al bestaan.
Zo niet dan voeg je deze toe aan de database en haal het genre_ID ervan op. Die je weer gebruikt om het record te koppellen aan het genre.
Op deze manier kan je niet meerdere labels aan 1 liedje hangen, ik weet niet of dit de bedoeling is?
Verder vraag ik me af of een liedje meerdere genres zal hebben? Als je zeker weet dat elke liedje (geen of) een genre heeft dan mag die koppel tabel weg en moet je een extra kolom bij records toevoegen. Is dat niet zo dat is het zo goed.
Verder vraag ik me af of een liedje meerdere genres zal hebben? Als je zeker weet dat elke liedje (geen of) een genre heeft dan mag die koppel tabel weg en moet je een extra kolom bij records toevoegen. Is dat niet zo dat is het zo goed.
Het gaat niet om een liedje maar om een CD of DVD.
band A heeft als enige genre misschien pop, band B heeft misschien pop, rock en misschien wat blues. Op die manier wil ik het doen, eigenlijk hetzelfde idee als in mijn eerste post, een soort van tagging idee dus.
band A heeft als enige genre misschien pop, band B heeft misschien pop, rock en misschien wat blues. Op die manier wil ik het doen, eigenlijk hetzelfde idee als in mijn eerste post, een soort van tagging idee dus.
Dat kan toch zoals je het nu doet? Je kan aan de een een genre toevoegen, en aan de ander 20. Alleen even zorgen dat naam een unique contraint heeft in de tabel genres.
En één liedje kan wel degelijk meerdere genres hebben.
Robby williams heeft bijvoorbeeld een rap nummer, maar dat valt onder het genre rap en pop. RHCP valt ook onder zowel rap als rock.
Terwijl dit toch niet een echt genre is, het word wel vaak zo gezegd, maar het zijn nogsteeds 2 aparte genre's.
Robby williams heeft bijvoorbeeld een rap nummer, maar dat valt onder het genre rap en pop. RHCP valt ook onder zowel rap als rock.
Terwijl dit toch niet een echt genre is, het word wel vaak zo gezegd, maar het zijn nogsteeds 2 aparte genre's.
Ja, een liedje kan meerdere genres hebben, maar toch ook meerdere labels? Het mooist zou het nog zijn als je ook zelf labels kan maken waarop je kan soorteren.
Dan klopt er iets niet.
Dan klopt er iets niet.
Een liedje kan opzich meerdere labels hebben, maar dat is dan meestal weer in samenwerking met een sublabel of een "artist label" zoals die van timbaland enzo.
En de optie dat je zelf labels kan aanmaken snap ik niet,,
Als je wilt, kan je best je eigen label beginnen, kost alleen maar wat aan apperatuur, en nog wat geld erbij voor de KVK, maar dat hoeft toch niet met een database? :P
En de optie dat je zelf labels kan aanmaken snap ik niet,,
Als je wilt, kan je best je eigen label beginnen, kost alleen maar wat aan apperatuur, en nog wat geld erbij voor de KVK, maar dat hoeft toch niet met een database? :P
Ahah, hier ontstaat het mis verstand over label, jij dacht aan label van de platenmaatschappij. Terwijl ik dacht aan een soort 'tag' die je eraan hangt.
Bijvoorbeeld 'vrijdag avond muziek' of 'voor mijn moeder', enzovoort
Dat het zeg maar mogelijk is zelf wat 'tags' of 'labels' op te geven aan een nummer.
Bijvoorbeeld 'vrijdag avond muziek' of 'voor mijn moeder', enzovoort
Dat het zeg maar mogelijk is zelf wat 'tags' of 'labels' op te geven aan een nummer.
Ja even voor de duidelijkheid, het gaat hier over een platenlabel, niet over een tag :) Een CD heeft maar 1 label, uiteraard kunnen dat er ook meer worden maar nu doe ik er gewoon 1tje, dat staat bij mijn CD's meestal achterop.
Sorry, ik had je vraag niet goed gelezen zie ik nu. Ik zou je labels net als genres behandelen. Dus een many-to-many relatie. Dit hoeft er uit eindelijk niet zo uit te zien. Op deze manier is het terugvinden van bepaalde songs met bepaalde tags veel eenvoudiger.
tags_records
tag_id FK
record_id FK
tags
id PK
value Unique
tags_records
tag_id FK
record_id FK
tags
id PK
value Unique
Ik denk dat ik dit later nog er in ga bouwen dan, nu wil ik eerst eens kijken hoe ik het beste en met zo min mogelijk PHP code het genre idee ga aanpakken. Als dit eenmaal goed is en waterdicht dan pas ik dit toe op de labels denk ik.
@Jurgen, je kan toch een dropdown maken met allerlei genres, met een optie: "anders namelijk" waarna er een input veld komt waarin ze het andere genre in kunnen voeren?
Je kan er dan wel niet blind op vertrouwen dat het gezochte genre echt niet in de lijst staat (gewoon simpel controleren met een select query) maar het is wel makkelijk om na te gaan.
Arend heeft wel gelijk, 1 label heeft in principe meerdere cd's / artiesten onder contract staan, dus dan kan je de labels ook beter apart trekken.
Je kan er dan wel niet blind op vertrouwen dat het gezochte genre echt niet in de lijst staat (gewoon simpel controleren met een select query) maar het is wel makkelijk om na te gaan.
Arend heeft wel gelijk, 1 label heeft in principe meerdere cd's / artiesten onder contract staan, dus dan kan je de labels ook beter apart trekken.



