Mysql
 sql >> Database >  >> RDS >> Mysql

Come devo progettare le mie tabelle MySQL?

La normalizzazione è tua amica.

Ti consigliamo di passare a un design relazionale a due tavoli.

CREATE TABLE projects (
   project_id int not null primary key auto_increment,
   project_name varchar(128),
   -- ...
);

CREATE TABLE pages (
   page_id int not null primary key auto_increment,
   project_id int not null, 
   pagetext text,
   image varchar(128), 
   -- ...
);

Ora ogni progetto può avere un numero qualsiasi di pagine.

Se il client torna e dice "Ogni pagina può avere 0-N immagini", vorresti una terza tabella, che contiene una chiave esterna page_id (proprio come la tabella delle pagine ha un project_id chiave esterna)