Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie soll ich meine MYSQL-Tabelle/n gestalten?

Normalisierung ist dein Freund.

Sie möchten zu einem relationalen Zwei-Tabellen-Design wechseln.

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), 
   -- ...
);

Jetzt kann jedes Projekt beliebig viele Seiten haben.

Wenn der Client dann zurückkommt und sagt "Jede Seite kann 0-N Bilder haben", möchten Sie eine dritte Tabelle, die einen Fremdschlüssel page_id enthält (so wie die Seitentabelle eine project_id hat Fremdschlüssel)