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
| -- base de donnée : 'livreokaz'
--
SET FOREIGN_KEY_CHECKS =0;
-- DROP DATABASE livreokaz;
CREATE DATABASE IF NOT EXISTS livrokaz DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE livrokaz;
-- -----------------------------------------------------------------------------------------
--
-- structure de la table : 'client'
--
DROP TABLE IF EXISTS CLIENT;
CREATE TABLE CLIENT (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
nom varchar(30) NOT NULL,
prenom varchar(30) NOT NULL,
adresse varchar(200) NOT NULL,
mail varchar(30) NOT NULL,
password varchar(50) NOT NULL,
profil int NOT NULL,
KEY idx_profil (profil)
)ENGINE=InnoDB;
--
-- structure de la table : 'auteur'
--
DROP TABLE IF EXISTS AUTEUR;
CREATE TABLE AUTEUR (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
nom varchar(60) NOT NULL,
prenom varchar(60) NOT NULL
)ENGINE=InnoDB;
--
-- structure de la table : 'editeur'
--
DROP TABLE IF EXISTS EDITEUR;
CREATE TABLE EDITEUR (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
libelle varchar(60) NOT NULL
)ENGINE=InnoDB;
--
-- structure de la table : format_livre
--
DROP TABLE IF EXISTS FORMAT_LIVRE;
CREATE TABLE FORMAT_LIVRE (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
libelle VARCHAR(50) NOT NULl
)ENGINE=InnoDB;
--
-- structure de la table : 'genre'
--
DROP TABLE IF EXISTS GENRE;
CREATE TABLE GENRE (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
libelle varchar(200) NOT NULL
)ENGINE=InnoDB;
--
-- structure de la table : 'commande'
--
DROP TABLE IF EXISTS COMMANDE;
CREATE TABLE COMMANDE (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
date_commande date NOT NULL,
total_commande double NOT NULL,
client INT NOT NULL,
ligne_de_commande INT NOT NULL,
KEY idx_client (client),
KEY idx_ligne_de_commande (ligne_de_commande)
)ENGINE=InnoDB;
--
-- structure de la table : 'profil'
--
DROP TABLE IF EXISTS PROFIL;
CREATE TABLE PROFIL (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
libelle varchar(100) NOT NULl
)ENGINE=InnoDB;
--
-- structure de la table : 'ligne de commande'
--
DROP TABLE IF EXISTS LIGNE_DE_COMMANDE;
CREATE TABLE LIGNE_DE_COMMANDE (
livre INT NOT NULL,
commande INT NOT NULL,
quantite INT NOT NULL,
PRIMARY KEY idx_livre_commande (livre, commande)
)ENGINE=InnoDB;
--
-- structure de la table : 'ecrivain'
--
DROP TABLE IF EXISTS ECRIVAIN;
CREATE TABLE ECRIVAIN (
auteur INT NOT NULL,
livre INT NOT NULL,
PRIMARY KEY idx_auteur_livre (auteur, livre)
)ENGINE=InnoDB;
--
-- structure de la table : 'livre'
--
DROP TABLE IF EXISTS LIVRE;
CREATE TABLE LIVRE (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
titre VARCHAR(150) NOT NULL,
isbn varchar(20) NOT NULL,
image VARCHAR(200) NOT NULL,
sujet_livre VARCHAR(100) NOT NULL,
description text NOT NULL,
annee_parution YEAR NOT NULL,
prix_neuf DOUBLE NOT NULL,
prix_occasion_physique DOUBLE NOT NULL,
prix_numerique DOUBLE NOT NULL,
quantite INT NOT NULL,
langue VARCHAR(25),
telechargement BOOLEAN,
editeur INT NOT NULL,
ecrivain INT NOT NULL,
genre INT NOT NULL,
KEY idx_editeur (editeur),
KEY idx_ecrivain (ecrivain),
KEY idx_genre (genre)
)ENGINE=InnoDB;
--
-- structure de la table : 'support'
--
DROP TABLE IF EXISTS SUPPORT;
CREATE TABLE SUPPORT (
livre INT NOT NULL,
format_livre INT NOT NULL,
PRIMARY KEY idx_livre_format (livre, format_livre)
)ENGINE=InnoDB;
--
-- relation entre les tables
--
ALTER TABLE CLIENT ADD CONSTRAINT fk_profil FOREIGN KEY (profil) REFERENCES profil (id);
ALTER TABLE COMMANDE ADD CONSTRAINT fk_client FOREIGN KEY (client) REFERENCES client (id);
ALTER TABLE LIGNE_DE_COMMANDE ADD CONSTRAINT fk_livre FOREIGN KEY (livre) REFERENCES livre (id);
ALTER TABLE LIGNE_DE_COMMANDE ADD CONSTRAINT fk_commande FOREIGN KEY (commande) REFERENCES commande (id);
ALTER TABLE ECRIVAIN ADD CONSTRAINT fk_auteur FOREIGN KEY (auteur) REFERENCES auteur (id);
ALTER TABLE ECRIVAIN ADD CONSTRAINT fk_livre FOREIGN KEY (livre) REFERENCES livre (id);
ALTER TABLE LIVRE ADD CONSTRAINT fk_editeur FOREIGN KEY (editeur) REFERENCES editeur (id);
ALTER TABLE LIVRE ADD CONSTRAINT fk_genre FOREIGN KEY (genre) REFERENCES genre (id);
ALTER TABLE SUPPORT ADD CONSTRAINT fk_livre FOREIGN KEY (livre) REFERENCES livre (id);
ALTER TABLE SUPPORT ADD CONSTRAINT fk_format FOREIGN KEY (format_livre) REFERENCES format_livre (id);
SET FOREIGN_KEY_CHECKS =1; |
Partager