Bonjour,
J'ai un petit souci de conception et un avis à vous demander.
J'ai une table T1 qui contient divers champs dont l'un est "sens_id" et qui contient l'id d'une autre table T2 (clé étrangère)
Cette table T2 contient un champ "sens" qui peut prendre les valeurs droite, gauche, haut, bas et rien (pas de sens) !
C'est ce "rien" qui me pose problème car le sens_id de T1 DOIT contenir une valeur et je ne veux pas mettre de NULL pour modéliser le RIEN car je devrais mettre le champ sens à NULL.
Et cela permettrait la possibilité d'insérer plusieurs NULL dans la table T2 ce que je ne veux pas !
Est-ce que je dois à la place de NULL insérer une chaine vide comme valeur pour "rien" de la table T2 et la traiter ensuite côté script ?
Ou bien une valeur texte "NULL" et la traiter côté script également ?
Merci de vos avis.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 CREATE TABLE `T1` ( `id` int(11) NOT NULL AUTO_INCREMENT, ... ... ... `sens_id` int(11) NOT NULL, PRIMARY KEY (`id`), CONSTRAINT FOREIGN KEY (sens_id) REFERENCES T2(id) ) ENGINE=InnoDB DEFAULT CHARSET=UTF8 ; CREATE TABLE `T2` ( `id` int(11) NOT NULL AUTO_INCREMENT, `SENS` varchar(10) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=UTF8 ;
Partager