Bonjour tout le monde;

Voila on m'a demandé de faire des tables pour gestion de stock d'une clinique pour gérer:

- gestion des entrées médicament -> stock( commande-fournisseur-livraison)
- gestion des sorties médicament -> services ( demande- services- sortie)
- gestion d'un inventaire.

sachant que je vais programmer en php, j'ai utilisé EasyPhp pour la réalisation des ces différentes tables et voici ce que j'ai fait:
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
-- phpMyAdmin SQL Dump
-- version 4.1.4
-- <a href="http://www.phpmyadmin.net" target="_blank">http://www.phpmyadmin.net</a>
--
-- Client :  127.0.0.1
-- Généré le :  Ven 27 Mars 2015 à 11:26
-- Version du serveur :  5.6.15-log
-- Version de PHP :  5.5.8
 
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
 
--
-- Base de données :  `stock_medicament`
--
 
-- --------------------------------------------------------
 
--
-- Structure de la table `besoins_service`
--
 
CREATE TABLE IF NOT EXISTS `besoins_service` (
  `id_besoins` int(11) NOT NULL COMMENT 'numero de la demande',
  `id_medicament` int(11) NOT NULL COMMENT 'identifiant medicament ',
  `qtte_med` tinyint(3) NOT NULL COMMENT 'quantité demandée',
  `id_service` tinyint(3) NOT NULL COMMENT 'identifiant service',
  `date_demande` date NOT NULL COMMENT 'date de la demande d''approvisionnement ',
  PRIMARY KEY (`id_besoins`,`id_medicament`,`qtte_med`),
  KEY `id_service` (`id_service`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='table des demandes d''approvisionnement';
 
--
 
 
-- --------------------------------------------------------
 
--
-- Structure de la table `commande`
--
 
CREATE TABLE IF NOT EXISTS `commande` (
  `id_commande` int(11) NOT NULL AUTO_INCREMENT COMMENT 'numero de la commande',
  `id_medicament` int(11) NOT NULL COMMENT 'identifiant médicament ',
  `id_fournisseur` int(11) NOT NULL COMMENT 'identifiant fournisseur',
  `date_commande` date NOT NULL COMMENT 'date de la commande',
  `délais_livraison` tinyint(3) NOT NULL COMMENT 'delais de livraison en jour ',
  `qtte_med` tinyint(3) NOT NULL COMMENT 'quantité medicament',
  PRIMARY KEY (`id_commande`,`id_medicament`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='la table des commandes fournisseurs' AUTO_INCREMENT=6 ;
 
 
 
-- --------------------------------------------------------
 
--
-- Structure de la table `fournisseur`
--
 
CREATE TABLE IF NOT EXISTS `fournisseur` (
  `id_fournisseur` int(11) NOT NULL AUTO_INCREMENT COMMENT 'identifiant fournisseur',
  `Nom_fournisseur` varchar(100) NOT NULL COMMENT 'Nom ou raison sociale ',
  `nis_fournisseur` varchar(22) NOT NULL COMMENT 'numero identification statistique',
  `AI_fournisseur` varchar(22) NOT NULL COMMENT 'Numero de l''article d''imposition',
  `Numero_tel_fixe` varchar(20) NOT NULL COMMENT 'coordonnée téléphone fixe',
  `num_tel_mobile` varchar(12) NOT NULL COMMENT 'numero mobile',
  `email_fournisseur` varchar(20) NOT NULL COMMENT 'adresse email',
  `adresse` varchar(22) NOT NULL COMMENT 'adresse complete ',
  `ville` varchar(22) NOT NULL,
  `rue` varchar(22) NOT NULL,
  `code_postal` varchar(22) NOT NULL,
  `région` varchar(22) NOT NULL COMMENT 'localité',
  `Remarque` text NOT NULL COMMENT 'remarque concernant le fournisseur ou son produit',
  PRIMARY KEY (`id_fournisseur`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='table des fournisseurs' AUTO_INCREMENT=3 ;
 
--
 
 
 
-- --------------------------------------------------------
 
--
-- Structure de la table `livraison`
--
 
CREATE TABLE IF NOT EXISTS `livraison` (
  `id_livraison` int(10) NOT NULL COMMENT 'numero de la livraison',
  `id_medicament` int(11) NOT NULL COMMENT 'identifiant médicament livré',
  `date_livraison` date NOT NULL COMMENT 'date de livraison',
  `nom_livreur` varchar(255) NOT NULL COMMENT 'nom de la personne qui a effectué la livraison',
  `prix_unitaire` decimal(7,2) NOT NULL COMMENT 'prix unitaire pour chaque unité livrée',
  `id_fournisseur` int(11) NOT NULL COMMENT 'identifiant fournisseur',
  `num_bon_liv` int(11) NOT NULL COMMENT 'numero du bon de livraison ou de la facture',
  `montant_globale` decimal(7,2) NOT NULL COMMENT 'montant globale de la facture',
  `observation` text NOT NULL COMMENT 'remarque sur le deroulement de la livraison',
  `qtte_med` tinyint(3) NOT NULL COMMENT 'quantité medicament',
  PRIMARY KEY (`id_livraison`,`id_medicament`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='table de livraison ';
 
-- --------------------------------------------------------
 
--
-- Structure de la table `medicament`
--
 
CREATE TABLE IF NOT EXISTS `medicament` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nom` varchar(100) CHARACTER SET utf32 COLLATE utf32_unicode_ci NOT NULL,
  `posologie_par_defaut` varchar(255) CHARACTER SET utf32 COLLATE utf32_unicode_ci DEFAULT NULL,
  `type_contenant_par_defaut` int(11) NOT NULL DEFAULT '0',
  `id_user` int(11) NOT NULL,
  `date_modif` date NOT NULL,
  `heure_modif` varchar(5) CHARACTER SET utf32 COLLATE utf32_unicode_ci NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `nom` (`nom`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='table des médicaments' AUTO_INCREMENT=326 ;
 
--
-- Contenu de la table `medicament`
--
 
 
-- --------------------------------------------------------
 
--
-- Structure de la table `service`
--
 
CREATE TABLE IF NOT EXISTS `service` (
  `id_service` tinyint(3) NOT NULL AUTO_INCREMENT COMMENT 'identifiant du service',
  `nom_service` varchar(100) CHARACTER SET latin1 NOT NULL,
  `chef_service` varchar(22) NOT NULL COMMENT 'nom du chef du service',
  `type_domaine` varchar(20) NOT NULL COMMENT 'type du domaine (général ou spécifique)',
  `domaine` varchar(22) NOT NULL COMMENT 'nom du domaine exp: cardiologie',
  PRIMARY KEY (`id_service`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='table des différents services' AUTO_INCREMENT=5 ;
 
 
 
-- --------------------------------------------------------
 
--
-- Structure de la table `sortie_service`
--
 
CREATE TABLE IF NOT EXISTS `sortie_service` (
  `id_sorti` int(11) NOT NULL COMMENT 'numero de la sortie',
  `id_medicament` int(11) NOT NULL COMMENT 'identifiant medicament ',
  `date_sortie` date NOT NULL COMMENT 'date de la sorti',
  `id_service` tinyint(3) NOT NULL COMMENT 'identifiant du service approvisionné',
  `qtte_med` tinyint(3) NOT NULL COMMENT 'quantité medicamet demandé par les service',
  PRIMARY KEY (`id_sorti`,`id_medicament`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='les sorties de stock vers les différent services';
 
-- --------------------------------------------------------
 
--
-- Structure de la table `stock`
--
 
CREATE TABLE IF NOT EXISTS `stock` (
  `id_lot` int(11) NOT NULL AUTO_INCREMENT COMMENT 'numero du lot',
  `id_medicament` int(11) NOT NULL,
  `date_stockage` date NOT NULL,
  `date_peremption` date NOT NULL,
  `stock_actif` smallint(5) NOT NULL,
  `stock_maximum` smallint(5) NOT NULL,
  `stock_alerte` smallint(5) NOT NULL COMMENT 'le stock minimum a atteindre pour lancer une commande',
  `prix_unitaire` varchar(22) NOT NULL COMMENT 'prix de l''unité lors de l''achat',
  PRIMARY KEY (`id_lot`),
  KEY `id_medicament` (`id_lot`),
  KEY `date_stockage` (`date_stockage`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='tables des différents lots existants' AUTO_INCREMENT=4 ;
 
 
 
-- --------------------------------------------------------
 
--
-- Structure de la table `stock_réel` (stock physique)
 
--
 
CREATE TABLE IF NOT EXISTS `stock_réel` (
  `id_lot` int(11) NOT NULL COMMENT 'numero de lot',
  `qtte_en_stock` smallint(4) NOT NULL COMMENT 'quantité de médicament réel',
  `date_inventaire` date NOT NULL COMMENT 'date de l''inventaire',
  `responsable_inventaire` varchar(22) NOT NULL COMMENT 'responsable de l''inventaire',
  `observation` text NOT NULL COMMENT 'observation sur l’état des stock ',
  KEY `id_lot` (`id_lot`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='stock lors de l''inventaire';

Je voudrais savoir si mes tables sont cohérentes, et comment pourrais-je la perfectionner, svp c'est très urgent