Non proprio ma già è un inizio.
Guarda come l'ho organizzato io. Ovviamente non è il migliore dei modi! Sicuramente ci saranno modi migliori ma nel frattempo ci arrangiamo e cerchiamo di migliorare pian piano.
Tabella 1:
codice:
CREATE TABLE canzoni
(
id int (10) NOT NULL auto_increment,
titolo varchar (255),
testo text,
genere int (10),
cd int (10),
autore int (10),
PRIMARY KEY (id)
);
tabella 2:
codice:
CREATE TABLE autori
(
id int (10) NOT NULL auto_increment,
nome varchar (60),
cognome varchar (60),
website varchar (255),
PRIMARY KEY (id)
);
Tabella 3:
codice:
CREATE TABLE cd
(
id int (10) NOT NULL auto_increment,
nome varchar (255),
anno int (4),
n_tracks int (2),
PRIMARY KEY (id)
);
Tabella 4:
codice:
CREATE TABLE generi
(
id int (10) NOT NULL auto_increment,
nome varchar (255),
PRIMARY KEY (id)
);
Come vedi tutte le informazioni legata alle canzoni sono state slegate dalla canzone stessa. In questo modo sarà molto più semplice fare le dovute ricerche.
Se per esempio voglio trovare tutti gli album pubblicati in un detrminato anno faccio una ricerca nella tabella cd basandomi sul campo anno.
Se volgio trovare tutte le canzoni di un cd faccio una ricerca sulla tabella canzoni WHERE cd = 'id_cd'
Vedete? Tutto è molto più semplice ed abbiamo evitato anche le ridondanze raggiungendo il nostro obiettivo!