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

Hvordan skal jeg designe mine MYSQL-tabeller?

Normalisering er din ven.

Du ønsker at flytte til et relationelt design med to borde.

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

Nu kan hvert projekt have et hvilket som helst antal sider.

Hvis klienten så kommer tilbage og siger "Hver side kan have 0-N billeder", vil du gerne have en tredje tabel, som indeholder en fremmednøgle page_id (ligesom sidetabellen har et project_id fremmednøgle)




  1. Opsummer data i en ny tabel

  2. SQL Server:XPATH-forespørgsel mislykkedes

  3. Heroku PostgreSQL GROUP_BY fejl i Rails app

  4. MySQL:IF / THEN sætninger i lagrede procedurer