Håller på att skapa en databas över musik för en lokal förening.
Är lite osäker på hur strukturen för databasen ska vara.
Eftersom allt ska "länka" till allt. (svårt att förklara.) :r
# Samma "sångare" kan medverka på flera olika album/singlar.
# Kategorier (pop, rock m.fl.), artist, album/singel ska vara nästlade a.k.a vara länkade till varandra.
Vill givetvis att allt ska flyta på så bra som möjligt, både när det gäller att lägga till och ändra i databasen, men också så optimalt som möjligt.
Är det 1000 "JOINS" som gäller, eller är det ok att "fuska" med mix-/länk tabeller?
Tacksam för alla tips.
(Gärna också ett exempel på databas struktur.)
Inte för att jag vet vilka fält du vill ha med, men det kan du ju fylla på själv.
Jag skulle nog gjort något sånt här:
#
# Struktur för tabell 'artists'
#
mysql_query("CREATE TABLE artists (
artId int(11) UNSIGNED NOT NULL auto_increment,
artname varchar(200) NOT NULL default '',
PRIMARY KEY (artId)
) TYPE=INNODB;") or die (mysql_error());
#
# Struktur för tabell 'categories'
#
mysql_query("CREATE TABLE categories (
catId int(11) UNSIGNED NOT NULL auto_increment,
catName varchar(200) NOT NULL default '',
PRIMARY KEY (catId)
) TYPE=INNODB;") or die (mysql_error());
#
# Struktur för tabell 'albums'
#
mysql_query("CREATE TABLE albums (
albId int(11) UNSIGNED NOT NULL auto_increment,
ref_artId int(11) UNSIGNED NOT NULL,
ref_catId int(11) UNSIGNED NOT NULL,
albName varchar(200) NOT NULL default '',
PRIMARY KEY (albId),
INDEX albumIndex (ref_artId),
FOREIGN KEY (ref_artId)
REFERENCES artists(artId)
ON DELETE CASCADE,
INDEX categoriesIndex (ref_catId),
FOREIGN KEY (ref_catId)
REFERENCES categories(catId)
ON DELETE CASCADE
) TYPE=INNODB;") or die (mysql_error());
248 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e