Bonsoir,
je suis en train de découvrir ce qu'est un MCD. Comme outil, j'ai à ma disposition MySQL Workbench. J'ai donc commencé à lire l'article de fmsrel : Modéliser les données avec MySQL Workbench. Je me jette à l'eau. Pour commencer simple, j'ai 2 tables (country et user). J'avais fait une conception tabulaire avant d'attaquer le MCD) :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 CREATE TABLE `country` ( `country_key` smallint NOT NULL AUTO_INCREMENT, `country` varchar(30) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', `region` varchar(30) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT '', PRIMARY KEY (`country_key`), UNIQUE KEY `uk_country` (`country`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 CREATE TABLE `user` ( `user_key` smallint NOT NULL AUTO_INCREMENT, `sesa` int DEFAULT NULL, `lastname` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `firstname` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `email` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `company` varchar(50) COLLATE utf8_bin DEFAULT NULL, `buunitname` varchar(50) COLLATE utf8_bin DEFAULT NULL, `location` varchar(50) COLLATE utf8_bin DEFAULT NULL, `manager_key` smallint DEFAULT NULL, PRIMARY KEY (`user_key`), UNIQUE KEY `email_UNIQUE` (`email`), UNIQUE KEY `sesa_UNIQUE` (`sesa`), KEY `FK_USER` (`manager_key`), CONSTRAINT `FK_USER` FOREIGN KEY (`manager_key`) REFERENCES `user` (`user_key`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
Une des colonnes de la table user est location. Cette location (le site du user) se trouve dans un pays (et un seul). Je pense qu'il y a donc une relation relative 1-1 entre les 2 tables. Je l'ai représentée ainsi :
Cette modélisation est-elle correcte et si oui, peut-on générer la représentation tabulaire (MLD) ?
Partager