Skip to content

Instantly share code, notes, and snippets.

@enzomtpYT
Last active November 18, 2024 14:23
Show Gist options
  • Save enzomtpYT/0321af3f13aadb1411c66e2ecb39f933 to your computer and use it in GitHub Desktop.
Save enzomtpYT/0321af3f13aadb1411c66e2ecb39f933 to your computer and use it in GitHub Desktop.
CREATE TABLE client(
idClient INT,
nomClient VARCHAR(50) NOT NULL,
prenomClient VARCHAR(50) NOT NULL,
dateNaissanceClient DATE,
sexeClient INT,
telClient INT,
mailClient VARCHAR(50),
adresse1Client VARCHAR(50) NOT NULL,
adresse2Client VARCHAR(50) NOT NULL,
codePostalClient INT NOT NULL,
villeClient VARCHAR(50) NOT NULL,
PRIMARY KEY(idClient)
);
CREATE TABLE conseiller(
idConseiller INT,
nomConseiller VARCHAR(50) NOT NULL,
prenomConseiller VARCHAR(50) NOT NULL,
dateNaissanceConseiller DATE,
telConseiller VARCHAR(50),
mailConseiller VARCHAR(50),
numSecuConseiller INT NOT NULL,
pourcentageGainVente DECIMAL(15,2) NOT NULL,
pourcentageMarraine DECIMAL(15,2) NOT NULL,
estMarraine LOGICAL NOT NULL,
PRIMARY KEY(idConseiller)
);
CREATE TABLE fournisseur(
idFournisseur INT,
nomFournisseur VARCHAR(50) NOT NULL,
paysFournisseur VARCHAR(50) NOT NULL,
adresse1Fournisseur VARCHAR(50),
adresse2Fournisseur VARCHAR(50),
CPFournisseur INT,
villeFournisseur VARCHAR(50),
telFournisseur INT,
mailFournisseur VARCHAR(50),
numSIRETFournisseur INT,
PRIMARY KEY(idFournisseur)
);
CREATE TABLE produit(
referenceProduit VARCHAR(50),
nomProduit VARCHAR(50) NOT NULL,
prixHorsTaxeProduit CURRENCY NOT NULL,
descriptionProduit VARCHAR(50),
imgProduit VARCHAR(50),
pictogrammeProduit VARCHAR(50),
discontinuerProduit LOGICAL NOT NULL,
quantiteStockProduit INT,
idFournisseur INT NOT NULL,
PRIMARY KEY(referenceProduit),
FOREIGN KEY(idFournisseur) REFERENCES fournisseur(idFournisseur)
);
CREATE TABLE manager(
idManager INT,
nomManager VARCHAR(50) NOT NULL,
prenomManager VARCHAR(50) NOT NULL,
estDirecteur LOGICAL,
PRIMARY KEY(idManager)
);
CREATE TABLE commande(
idCommande INT,
remiseCommande CURRENCY,
dateCommande DATE,
dateLivraisonCommande DATE,
PrixTotalCommande CURRENCY,
idManager INT,
idConseiller INT,
idClient INT,
PRIMARY KEY(idCommande),
FOREIGN KEY(idManager) REFERENCES manager(idManager),
FOREIGN KEY(idConseiller) REFERENCES conseiller(idConseiller),
FOREIGN KEY(idClient) REFERENCES client(idClient)
);
CREATE TABLE composant(
idComposant INT,
nomComposant VARCHAR(50) NOT NULL,
estAllergene LOGICAL NOT NULL,
PRIMARY KEY(idComposant),
UNIQUE(nomComposant)
);
CREATE TABLE reunionClient(
idClient INT,
idConseiller INT,
idReunion INT NOT NULL,
dateReunion DATE,
PRIMARY KEY(idClient, idConseiller),
UNIQUE(idReunion),
FOREIGN KEY(idClient) REFERENCES client(idClient),
FOREIGN KEY(idConseiller) REFERENCES conseiller(idConseiller)
);
CREATE TABLE formationConseiller(
idConseiller INT,
idConseiller_1 INT,
idFormation INT NOT NULL,
dateFormation DATE,
PRIMARY KEY(idConseiller, idConseiller_1),
UNIQUE(idFormation),
FOREIGN KEY(idConseiller) REFERENCES conseiller(idConseiller),
FOREIGN KEY(idConseiller_1) REFERENCES conseiller(idConseiller)
);
CREATE TABLE estCommande(
referenceProduit VARCHAR(50),
idCommande INT,
quantiteProduit INT NOT NULL,
PRIMARY KEY(referenceProduit, idCommande),
FOREIGN KEY(referenceProduit) REFERENCES produit(referenceProduit),
FOREIGN KEY(idCommande) REFERENCES commande(idCommande)
);
CREATE TABLE compose(
referenceProduit VARCHAR(50),
idComposant INT,
PRIMARY KEY(referenceProduit, idComposant),
FOREIGN KEY(referenceProduit) REFERENCES produit(referenceProduit),
FOREIGN KEY(idComposant) REFERENCES composant(idComposant)
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment