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
-- 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
Partager