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
| CREATE TABLE TADRESSE (
RueEtNumero VARCHAR(45) NOT NULL ,
CodePostal INTEGER ,
Commune VARCHAR (45) NOT NULL ,
Pays VARCHAR (45) NOT NULL,
PRIMARY KEY(RueEtNumero)
);
CREATE TABLE TCODE (
Id VARCHAR (45) NOT NULL ,
MotDePasse VARCHAR(20) NOT NULL,
PRIMARY KEY(Id)
);
CREATE TABLE MAQUILLAGE (
Nom VARCHAR (45) NOT NULL ,
Couleur VARCHAR (45),
Contenance INTEGER ,
PRIMARY KEY(Nom)
);
CREATE TABLE OUTILS (
Nom VARCHAR (45) NOT NULL,
Description varchar (200) ,
PRIMARY KEY(Nom)
);
CREATE TABLE TSTOCK (
ID VARCHAR (45) NOT NULL ,
TCODE_Id VARCHAR (45) NOT NULL,
DateAcces TIMESTAMP NOT NULL,
Quantite INTEGER DEFAULT 000 NOT NULL,
PrixUnitaire DECIMAL DEFAULT 00.00 NOT NULL,
PRIMARY KEY(ID, TCODE_Id),
FOREIGN KEY( TCODE_Id)
REFERENCES TCODE(Id)
ON DELETE CASCADE
ON UPDATE CASCADE
);
CREATE TABLE TFOURNISSEUR (
Nom VARCHAR (45) NOT NULL ,
TADRESSE_RueEtNumero VARCHAR(45) NOT NULL,
Telephone VARCHAR(20) ,
Email VARCHAR (45) NOT NULL,
SiteWeb VARCHAR (45) NOT NULL,
JoursFermeture VARCHAR (45) NOT NULL,
HeuresD_ouverture VARCHAR (45) NOT NULL,
PRIMARY KEY(Nom, TADRESSE_RueEtNumero),
FOREIGN KEY(TADRESSE_RueEtNumero)
REFERENCES TADRESSE(RueEtNumero)
ON DELETE CASCADE
ON UPDATE CASCADE
);
CREATE TABLE TUTILISATEUR (
Nom VARCHAR(45) NOT NULL ,
TFOURNISSEUR_TADRESSE_RueEtN VARCHAR(45) NOT NULL,
TFOURNISSEUR_Nom VARCHAR (45) NOT NULL,
TCODE_Id VARCHAR (45) NOT NULL,
Prenom VARCHAR (45) NOT NULL,
DateDeNaissance DATE NOT NULL,
email VARCHAR(45) NOT NULL,
PRIMARY KEY(Nom, TFOURNISSEUR_TADRESSE_RueEtN, TFOURNISSEUR_Nom, TCODE_Id),
FOREIGN KEY(TFOURNISSEUR_Nom, TFOURNISSEUR_TADRESSE_RueEtN)
REFERENCES TFOURNISSEUR(Nom, TADRESSE_RueEtNumero)
ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY( TCODE_Id)
REFERENCES TCODE(Id)
ON DELETE CASCADE
ON UPDATE CASCADE
);
CREATE TABLE TPRODUIT (
Nom VARCHAR (45) NOT NULL ,
MAQUILLAGE_Nom VARCHAR (45) NOT NULL,
OUTILS_Nom VARCHAR (45) NOT NULL,
Marque VARCHAR (45) NOT NULL,
Description varchar (200) ,
PRIMARY KEY(Nom, MAQUILLAGE_Nom, OUTILS_Nom),
FOREIGN KEY(MAQUILLAGE_Nom)
REFERENCES MAQUILLAGE(Nom)
ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY(OUTILS_Nom)
REFERENCES OUTILS(Nom)
ON DELETE CASCADE
ON UPDATE CASCADE
);
CREATE TABLE TSTOCK_has_TPRODUIT (
TSTOCK_TCODE_Id VARCHAR (45) NOT NULL,
TSTOCK_ID VARCHAR (45) NOT NULL,
TPRODUIT_OUTILS_Nom VARCHAR (45) NOT NULL,
TPRODUIT_MAQUILLAGE_Nom VARCHAR (45) NOT NULL,
TPRODUIT_Nom VARCHAR (45) NOT NULL,
PRIMARY KEY(TSTOCK_TCODE_Id, TSTOCK_ID, TPRODUIT_OUTILS_Nom, TPRODUIT_MAQUILLAGE_Nom, TPRODUIT_Nom),
FOREIGN KEY(TSTOCK_ID, TSTOCK_TCODE_Id)
REFERENCES TSTOCK(ID, TCODE_Id)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(TPRODUIT_Nom, TPRODUIT_MAQUILLAGE_Nom, TPRODUIT_OUTILS_Nom)
REFERENCES TPRODUIT(Nom, MAQUILLAGE_Nom, OUTILS_Nom)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE INDEX TSTOCK_FKIndex1 on TSTOCK (Id);
CREATE INDEX TFOURNISSEUR_FKIndex2 on TFOURNISSEUR (TADRESSE_RueEtNumero);
CREATE INDEX TUTILISATEUR_FKIndex1 on TUTILISATEUR (TFOURNISSEUR_Nom, TFOURNISSEUR_TADRESSE_RueEtN);
CREATE INDEX TUTILISATEUR_FKIndex on TUTILISATEUR ( TCODE_Id);
CREATE INDEX TPRODUIT_FKIndex2 on TPRODUIT (MAQUILLAGE_Nom);
CREATE INDEX TPRODUIT_FKIndex3 on TPRODUIT (OUTILS_Nom);
CREATE INDEX TSTOCK_has_TPRODUIT_FKIndex1 on TSTOCK_has_TPRODUIT (TSTOCK_ID, TSTOCK_TCODE_Id);
CREATE INDEX TSTOCK_has_TPRODUIT_FKIndex2 on TSTOCK_has_TPRODUIT (TPRODUIT_Nom, TPRODUIT_MAQUILLAGE_Nom, TPRODUIT_OUTILS_Nom); |
Partager