Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como devo projetar minha(s) tabela(s) MYSQL?


A normalização é sua amiga.

Você desejará mudar para um design relacional de duas tabelas.
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), 
   -- ...
);

Agora, cada projeto pode ter qualquer número de páginas.

Se o cliente voltar e disser "Cada página pode ter 0-N imagens", você desejará uma terceira tabela, que contenha uma chave estrangeira page_id (assim como a tabela de páginas tem um project_id chave estrangeira)