Bonjour,
J'ai un gros doute sur la conception lors des "CREATE TABLE"
Exemple concret , on va considérer une table "clients" avec le PRIMARY KEY + UNIQUE KEY + key + index ou l'on stock des numéros de clients de manière unique :
cas 1 sans id :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 CREATE TABLE IF NOT EXISTS client ( num_client int(11) NOT NULL , type_client varchar(25) NOT NULL , fk_departement_client varchar(5) NOT NULL date_insertion datetime NOT NULL, PRIMARY KEY (num_client), UNIQUE KEY (num_client), key (num_client,departement_client), index (num_client,departement_client), CONSTRAINT departement_fk FOREIGN KEY (fk_departement_client) REFERENCES departement (departement_client) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin ;
cas 2 avec id :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CREATE TABLE IF NOT EXISTS client ( id_ligne int(11) auto_increment , num_client int(11) NOT NULL , type_client varchar(25) NOT NULL , fk_departement_client varchar(5) NOT NULL date_insertion datetime NOT NULL, PRIMARY KEY (id_ligne), UNIQUE KEY (num_client), key (num_client,departement_client), index (id_ligne,num_client,departement_client), CONSTRAINT departement_fk FOREIGN KEY (fk_departement_client) REFERENCES departement (departement_client) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin ;
Merci de m'aiguiller et de dire ce qui cloche avec " PRIMARY KEY + UNIQUE KEY + key + index "
Partager