[Conception] Base de données d'un site d'E-commerce
Bonjour,
j'ai une base de données d'un site E-commerce à créer et je eux votre avis afin de savoir si je m'y prend bien.
Dans un premier temps, je dois modéliser les entités suivantes nécessaires à la mise en place de la bêta de ce site réservé à seulement quelques clients privilégiés:
Un magasin
-Porte un nom
-A une adresse
-A une donnée géo-spatiale
-Possède un nombre défini de transporteur
-Possède une marge définie sur ses produits
-Possède un nombre défini de produits et un stock défini de chacun d'entre eux
Un produit
-A un champ marque
-A une quantité disponible par magasin
-A un poid
-A une date de péremption
-A un code produit générique
Un code produit
-Définit un produit de manière générique (Ex : Haricot Vert)
Un fournisseur
-Fournit un ou plusieurs magasins
-Possède une liste de produit finie
-Peut recevoir une commande d'un magasin pour x Produit
Une commande
-Est faite dans un magasin
-Est faite par un client
-Concerne une liste définie de produit (1 ou plusieurs de chaque produit)
-Possède une adresse de livraison
-A une date définie
-Chaque produit a un prix défini par (Nbre de produit * prix du produit * marge du magasin). Le calcul de ce prix devra être fait dans une fonction réutilisable.
Un client
-Possède un nom
-Possède une adresse
-Passe des commandes dans un magasin
Un transporteur
-Travaille dans un magasin
-Possède un nombre défini de camion
-S'occupe de la livraison de commandes
j'ai modélisé ma BDD de la façon suivante:
Code:
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
| --
-- Structure de la table `client`
--
CREATE TABLE IF NOT EXISTS `client` (
`nom` text NOT NULL,
`adresse` text NOT NULL,
`commande_passee` int(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- Structure de la table `code_produit`
--
CREATE TABLE IF NOT EXISTS `code_produit` (
`generique` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- Structure de la table `commande`
--
CREATE TABLE IF NOT EXISTS `commande` (
`magasin_de_fabrication` int(100) NOT NULL,
`client` text NOT NULL,
`liste_definie_produit` int(100) NOT NULL,
`adresse_de_livraison` int(100) NOT NULL,
`date_definie` int(100) NOT NULL,
`prix_defini` int(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- Structure de la table `fournisseur`
--
CREATE TABLE IF NOT EXISTS `fournisseur` (
`magasin_fourni` varchar(100) NOT NULL,
`liste_produit_finie` int(100) NOT NULL,
`commande_recue` int(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- Structure de la table `magasin`
--
CREATE TABLE IF NOT EXISTS `magasin` (
`nom` text NOT NULL,
`adresse` varchar(100) NOT NULL,
`geo-spatiale` varchar(100) NOT NULL,
`nombre_transporteur` int(100) NOT NULL,
`marge_produit` int(100) NOT NULL,
`stock` int(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Structure de la table `produit`
--
CREATE TABLE IF NOT EXISTS `produit` (
`marque` text NOT NULL,
`quantite` int(100) NOT NULL,
`poids` varchar(100) NOT NULL,
`date_peremption` int(100) NOT NULL,
`code_produit_generique` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- Structure de la table `transporteur`
--
CREATE TABLE IF NOT EXISTS `transporteur` (
`magasin` text NOT NULL,
`nombre_camion` int(100) NOT NULL,
`commande_livree` int(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
j'ai quand même l'impression d'avoir oublié certaines conditions...