-- =====================================================
-- BASE DE DONNEES : PHARMACIE (VERSION MAROCAINE)
-- FICHIER COMPLET PRET A IMPORTER
-- =====================================================
DROP DATABASE IF EXISTS pharmacie;
CREATE DATABASE pharmacie;
USE pharmacie;
-- =====================================================
-- TABLES
-- =====================================================
CREATE TABLE Client (
id_client INT AUTO_INCREMENT PRIMARY KEY,
nom VARCHAR(50),
prenom VARCHAR(50),
ville VARCHAR(50)
);
CREATE TABLE Fournisseur (
id_fourn INT AUTO_INCREMENT PRIMARY KEY,
nom VARCHAR(50),
ville VARCHAR(50)
);
CREATE TABLE Medicament (
id_med INT AUTO_INCREMENT PRIMARY KEY,
nom VARCHAR(100),
prix DECIMAL(8,2),
stock INT,
famille VARCHAR(50),
id_fourn INT,
FOREIGN KEY (id_fourn) REFERENCES Fournisseur(id_fourn)
);
CREATE TABLE Archive_Medicament (
id_med INT PRIMARY KEY,
nom VARCHAR(100),
prix DECIMAL(8,2),
stock INT,
famille VARCHAR(50),
id_fourn INT
);
CREATE TABLE Commande (
id_cmd INT AUTO_INCREMENT PRIMARY KEY,
date_cmd DATE,
id_client INT,
FOREIGN KEY (id_client) REFERENCES Client(id_client)
);
CREATE TABLE LigneCommande (
id_cmd INT,
id_med INT,
quantite INT,
PRIMARY KEY(id_cmd, id_med),
FOREIGN KEY (id_cmd) REFERENCES Commande(id_cmd),
FOREIGN KEY (id_med) REFERENCES Medicament(id_med)
);
-- =====================================================
-- CLIENTS
-- =====================================================
INSERT INTO Client(nom, prenom, ville) VALUES
('El Amrani','Yassine','Tioumliline'),
('Alaoui','Salma','Imlil'),
('Bennani','Hamza','Tabant'),
('Tazi','Imane','Souk Larbaa'),
('Lahlou','Omar','Midelt'),
('Chraibi','Aya','Ain Taoujtat'),
('Idrissi','Mehdi','Imsfrane'),
('Berrada','Sara','Oued Kennar'),
('Fassi','Anas','Khmis Louta'),
('Mekouar','Lina','Badis'),
('El Idrissi','Youssef','Louizia'),
('Tahiri','Khadija','Tioumliline'),
('Amrani','Zakaria','Imlil'),
('Skalli','Nadia','Tabant'),
('Benjelloun','Rachid','Souk Larbaa'),
('Kadiri','Meryem','Midelt'),
('Cherkaoui','Soufiane','Ain Taoujtat'),
('Hassani','Othmane','Imsfrane'),
('Boussaid','Asmae','Oued Kennar'),
('Jabri','Bilal','Khmis Louta'),
('Lmrabet','Nour','Badis'),
('Zerouali','Achraf','Louizia'),
('El Fihri','Sanaa','Tioumliline'),
('Naciri','Younes','Imlil'),
('Ouazzani','Ilham','Tabant'),
('Benkirane','Karim','Souk Larbaa'),
('Rhazali','Hajar','Midelt'),
('Moutaouakil','Walid','Ain Taoujtat'),
('Bakkali','Chaimae','Imsfrane'),
('Ait Lahcen','Ayoub','Oued Kennar');
-- =====================================================
-- FOURNISSEURS
-- =====================================================
INSERT INTO Fournisseur(nom, ville) VALUES
('Atlas Pharma','Tioumliline'),
('Sahara Med','Imlil'),
('BioCare Maroc','Tabant'),
('Rif Medical','Souk Larbaa'),
('HealthPlus','Midelt'),
('Pharma Sud','Ain Taoujtat'),
('Med Atlas','Imsfrane'),
('NovaPharm','Oued Kennar'),
('ClinicaMed','Khmis Louta'),
('Vitalis Pharma','Badis');
-- =====================================================
-- MEDICAMENTS
-- =====================================================
INSERT INTO Medicament(nom, prix, stock, famille, id_fourn) VALUES
('Amoxidem 200mg',20.19,320,'Gastro-entérologie',1),
('Dolicetamol 400mg',20.01,43,'Ophtalmologie',2),
('Doliine 500mg',31.16,191,'Gastro-entérologie',3),
('Aspirmac 300mg',30.25,301,'Antibiotique',4),
('Clamofenadine 500mg',54.25,239,'Antalgique',5),
('Loxacetamol 500mg',10.89,216,'Antalgique',6),
('Loxamac 500mg',34.82,328,'Anti-inflammatoire',7),
('Doliprolol 400mg',68.78,169,'Pneumologie',8),
('Paraprofen 400mg',83.29,111,'Antidépresseur',9),
('Macaxine 100mg',81.45,482,'Anti-inflammatoire',10),
('Doliprofen 100mg',84.05,80,'Ophtalmologie',1),
('Omecetamol 400mg',27.13,308,'Antalgique',2),
('Amoxiprolol 200mg',37.56,151,'Cardiologie',3),
('Macaprolol 300mg',55.17,74,'Antihistaminique',4),
('Omeprazole 500mg',66.85,374,'Gastro-entérologie',5);
-- =====================================================
-- ARCHIVE MEDICAMENTS
-- =====================================================
INSERT INTO Archive_Medicament VALUES
(1001,'OldZolpicetamol 200mg',21.89,0,'Pneumologie',1),
(1002,'OldOmedem 100mg',10.05,0,'Antalgique',2),
(1003,'OldMetoprane 500mg',11.18,0,'Antihistaminique',3),
(1004,'OldMacaine 200mg',21.07,0,'Antidépresseur',4),
(1005,'OldAmoxiprolol 500mg',37.33,0,'Cardiologie',5);
-- =====================================================
-- COMMANDES
-- =====================================================
INSERT INTO Commande(date_cmd, id_client) VALUES
('2024-01-08',1),
('2024-01-15',2),
('2024-02-03',3),
('2024-02-11',4),
('2024-03-07',5),
('2024-03-14',6),
('2024-03-20',7),
('2024-04-01',8),
('2024-04-09',9),
('2024-04-18',10);
-- =====================================================
-- LIGNES DE COMMANDE
-- =====================================================
INSERT INTO LigneCommande VALUES
(1,1,2),
(1,2,1),
(2,3,5),
(2,5,2),
(3,4,3),
(4,6,4),
(5,7,1),
(6,8,6),
(7,9,2),
(8,10,3),
(9,11,5),
(10,12,2);
-- =====================================================
-- FIN
-- =====================================================-- your code goes here
LS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0gQkFTRSBERSBET05ORUVTIDogUEhBUk1BQ0lFIChWRVJTSU9OIE1BUk9DQUlORSkKLS0gRklDSElFUiBDT01QTEVUIFBSRVQgQSBJTVBPUlRFUgotLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKRFJPUCBEQVRBQkFTRSBJRiBFWElTVFMgcGhhcm1hY2llOwpDUkVBVEUgREFUQUJBU0UgcGhhcm1hY2llOwpVU0UgcGhhcm1hY2llOwoKLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0gVEFCTEVTCi0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpDUkVBVEUgVEFCTEUgQ2xpZW50ICgKICAgIGlkX2NsaWVudCBJTlQgQVVUT19JTkNSRU1FTlQgUFJJTUFSWSBLRVksCiAgICBub20gVkFSQ0hBUig1MCksCiAgICBwcmVub20gVkFSQ0hBUig1MCksCiAgICB2aWxsZSBWQVJDSEFSKDUwKQopOwoKQ1JFQVRFIFRBQkxFIEZvdXJuaXNzZXVyICgKICAgIGlkX2ZvdXJuIElOVCBBVVRPX0lOQ1JFTUVOVCBQUklNQVJZIEtFWSwKICAgIG5vbSBWQVJDSEFSKDUwKSwKICAgIHZpbGxlIFZBUkNIQVIoNTApCik7CgpDUkVBVEUgVEFCTEUgTWVkaWNhbWVudCAoCiAgICBpZF9tZWQgSU5UIEFVVE9fSU5DUkVNRU5UIFBSSU1BUlkgS0VZLAogICAgbm9tIFZBUkNIQVIoMTAwKSwKICAgIHByaXggREVDSU1BTCg4LDIpLAogICAgc3RvY2sgSU5ULAogICAgZmFtaWxsZSBWQVJDSEFSKDUwKSwKICAgIGlkX2ZvdXJuIElOVCwKICAgIEZPUkVJR04gS0VZIChpZF9mb3VybikgUkVGRVJFTkNFUyBGb3Vybmlzc2V1cihpZF9mb3VybikKKTsKCkNSRUFURSBUQUJMRSBBcmNoaXZlX01lZGljYW1lbnQgKAogICAgaWRfbWVkIElOVCBQUklNQVJZIEtFWSwKICAgIG5vbSBWQVJDSEFSKDEwMCksCiAgICBwcml4IERFQ0lNQUwoOCwyKSwKICAgIHN0b2NrIElOVCwKICAgIGZhbWlsbGUgVkFSQ0hBUig1MCksCiAgICBpZF9mb3VybiBJTlQKKTsKCkNSRUFURSBUQUJMRSBDb21tYW5kZSAoCiAgICBpZF9jbWQgSU5UIEFVVE9fSU5DUkVNRU5UIFBSSU1BUlkgS0VZLAogICAgZGF0ZV9jbWQgREFURSwKICAgIGlkX2NsaWVudCBJTlQsCiAgICBGT1JFSUdOIEtFWSAoaWRfY2xpZW50KSBSRUZFUkVOQ0VTIENsaWVudChpZF9jbGllbnQpCik7CgpDUkVBVEUgVEFCTEUgTGlnbmVDb21tYW5kZSAoCiAgICBpZF9jbWQgSU5ULAogICAgaWRfbWVkIElOVCwKICAgIHF1YW50aXRlIElOVCwKICAgIFBSSU1BUlkgS0VZKGlkX2NtZCwgaWRfbWVkKSwKICAgIEZPUkVJR04gS0VZIChpZF9jbWQpIFJFRkVSRU5DRVMgQ29tbWFuZGUoaWRfY21kKSwKICAgIEZPUkVJR04gS0VZIChpZF9tZWQpIFJFRkVSRU5DRVMgTWVkaWNhbWVudChpZF9tZWQpCik7CgotLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLSBDTElFTlRTCi0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpJTlNFUlQgSU5UTyBDbGllbnQobm9tLCBwcmVub20sIHZpbGxlKSBWQUxVRVMKKCdFbCBBbXJhbmknLCdZYXNzaW5lJywnVGlvdW1saWxpbmUnKSwKKCdBbGFvdWknLCdTYWxtYScsJ0ltbGlsJyksCignQmVubmFuaScsJ0hhbXphJywnVGFiYW50JyksCignVGF6aScsJ0ltYW5lJywnU291ayBMYXJiYWEnKSwKKCdMYWhsb3UnLCdPbWFyJywnTWlkZWx0JyksCignQ2hyYWliaScsJ0F5YScsJ0FpbiBUYW91anRhdCcpLAooJ0lkcmlzc2knLCdNZWhkaScsJ0ltc2ZyYW5lJyksCignQmVycmFkYScsJ1NhcmEnLCdPdWVkIEtlbm5hcicpLAooJ0Zhc3NpJywnQW5hcycsJ0tobWlzIExvdXRhJyksCignTWVrb3VhcicsJ0xpbmEnLCdCYWRpcycpLAooJ0VsIElkcmlzc2knLCdZb3Vzc2VmJywnTG91aXppYScpLAooJ1RhaGlyaScsJ0toYWRpamEnLCdUaW91bWxpbGluZScpLAooJ0FtcmFuaScsJ1pha2FyaWEnLCdJbWxpbCcpLAooJ1NrYWxsaScsJ05hZGlhJywnVGFiYW50JyksCignQmVuamVsbG91bicsJ1JhY2hpZCcsJ1NvdWsgTGFyYmFhJyksCignS2FkaXJpJywnTWVyeWVtJywnTWlkZWx0JyksCignQ2hlcmthb3VpJywnU291ZmlhbmUnLCdBaW4gVGFvdWp0YXQnKSwKKCdIYXNzYW5pJywnT3RobWFuZScsJ0ltc2ZyYW5lJyksCignQm91c3NhaWQnLCdBc21hZScsJ091ZWQgS2VubmFyJyksCignSmFicmknLCdCaWxhbCcsJ0tobWlzIExvdXRhJyksCignTG1yYWJldCcsJ05vdXInLCdCYWRpcycpLAooJ1plcm91YWxpJywnQWNocmFmJywnTG91aXppYScpLAooJ0VsIEZpaHJpJywnU2FuYWEnLCdUaW91bWxpbGluZScpLAooJ05hY2lyaScsJ1lvdW5lcycsJ0ltbGlsJyksCignT3VhenphbmknLCdJbGhhbScsJ1RhYmFudCcpLAooJ0JlbmtpcmFuZScsJ0thcmltJywnU291ayBMYXJiYWEnKSwKKCdSaGF6YWxpJywnSGFqYXInLCdNaWRlbHQnKSwKKCdNb3V0YW91YWtpbCcsJ1dhbGlkJywnQWluIFRhb3VqdGF0JyksCignQmFra2FsaScsJ0NoYWltYWUnLCdJbXNmcmFuZScpLAooJ0FpdCBMYWhjZW4nLCdBeW91YicsJ091ZWQgS2VubmFyJyk7CgotLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLSBGT1VSTklTU0VVUlMKLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCklOU0VSVCBJTlRPIEZvdXJuaXNzZXVyKG5vbSwgdmlsbGUpIFZBTFVFUwooJ0F0bGFzIFBoYXJtYScsJ1Rpb3VtbGlsaW5lJyksCignU2FoYXJhIE1lZCcsJ0ltbGlsJyksCignQmlvQ2FyZSBNYXJvYycsJ1RhYmFudCcpLAooJ1JpZiBNZWRpY2FsJywnU291ayBMYXJiYWEnKSwKKCdIZWFsdGhQbHVzJywnTWlkZWx0JyksCignUGhhcm1hIFN1ZCcsJ0FpbiBUYW91anRhdCcpLAooJ01lZCBBdGxhcycsJ0ltc2ZyYW5lJyksCignTm92YVBoYXJtJywnT3VlZCBLZW5uYXInKSwKKCdDbGluaWNhTWVkJywnS2htaXMgTG91dGEnKSwKKCdWaXRhbGlzIFBoYXJtYScsJ0JhZGlzJyk7CgotLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLSBNRURJQ0FNRU5UUwotLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKSU5TRVJUIElOVE8gTWVkaWNhbWVudChub20sIHByaXgsIHN0b2NrLCBmYW1pbGxlLCBpZF9mb3VybikgVkFMVUVTCignQW1veGlkZW0gMjAwbWcnLDIwLjE5LDMyMCwnR2FzdHJvLWVudMOpcm9sb2dpZScsMSksCignRG9saWNldGFtb2wgNDAwbWcnLDIwLjAxLDQzLCdPcGh0YWxtb2xvZ2llJywyKSwKKCdEb2xpaW5lIDUwMG1nJywzMS4xNiwxOTEsJ0dhc3Ryby1lbnTDqXJvbG9naWUnLDMpLAooJ0FzcGlybWFjIDMwMG1nJywzMC4yNSwzMDEsJ0FudGliaW90aXF1ZScsNCksCignQ2xhbW9mZW5hZGluZSA1MDBtZycsNTQuMjUsMjM5LCdBbnRhbGdpcXVlJyw1KSwKKCdMb3hhY2V0YW1vbCA1MDBtZycsMTAuODksMjE2LCdBbnRhbGdpcXVlJyw2KSwKKCdMb3hhbWFjIDUwMG1nJywzNC44MiwzMjgsJ0FudGktaW5mbGFtbWF0b2lyZScsNyksCignRG9saXByb2xvbCA0MDBtZycsNjguNzgsMTY5LCdQbmV1bW9sb2dpZScsOCksCignUGFyYXByb2ZlbiA0MDBtZycsODMuMjksMTExLCdBbnRpZMOpcHJlc3NldXInLDkpLAooJ01hY2F4aW5lIDEwMG1nJyw4MS40NSw0ODIsJ0FudGktaW5mbGFtbWF0b2lyZScsMTApLAooJ0RvbGlwcm9mZW4gMTAwbWcnLDg0LjA1LDgwLCdPcGh0YWxtb2xvZ2llJywxKSwKKCdPbWVjZXRhbW9sIDQwMG1nJywyNy4xMywzMDgsJ0FudGFsZ2lxdWUnLDIpLAooJ0Ftb3hpcHJvbG9sIDIwMG1nJywzNy41NiwxNTEsJ0NhcmRpb2xvZ2llJywzKSwKKCdNYWNhcHJvbG9sIDMwMG1nJyw1NS4xNyw3NCwnQW50aWhpc3RhbWluaXF1ZScsNCksCignT21lcHJhem9sZSA1MDBtZycsNjYuODUsMzc0LCdHYXN0cm8tZW50w6lyb2xvZ2llJyw1KTsKCi0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tIEFSQ0hJVkUgTUVESUNBTUVOVFMKLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCklOU0VSVCBJTlRPIEFyY2hpdmVfTWVkaWNhbWVudCBWQUxVRVMKKDEwMDEsJ09sZFpvbHBpY2V0YW1vbCAyMDBtZycsMjEuODksMCwnUG5ldW1vbG9naWUnLDEpLAooMTAwMiwnT2xkT21lZGVtIDEwMG1nJywxMC4wNSwwLCdBbnRhbGdpcXVlJywyKSwKKDEwMDMsJ09sZE1ldG9wcmFuZSA1MDBtZycsMTEuMTgsMCwnQW50aWhpc3RhbWluaXF1ZScsMyksCigxMDA0LCdPbGRNYWNhaW5lIDIwMG1nJywyMS4wNywwLCdBbnRpZMOpcHJlc3NldXInLDQpLAooMTAwNSwnT2xkQW1veGlwcm9sb2wgNTAwbWcnLDM3LjMzLDAsJ0NhcmRpb2xvZ2llJyw1KTsKCi0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tIENPTU1BTkRFUwotLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKSU5TRVJUIElOVE8gQ29tbWFuZGUoZGF0ZV9jbWQsIGlkX2NsaWVudCkgVkFMVUVTCignMjAyNC0wMS0wOCcsMSksCignMjAyNC0wMS0xNScsMiksCignMjAyNC0wMi0wMycsMyksCignMjAyNC0wMi0xMScsNCksCignMjAyNC0wMy0wNycsNSksCignMjAyNC0wMy0xNCcsNiksCignMjAyNC0wMy0yMCcsNyksCignMjAyNC0wNC0wMScsOCksCignMjAyNC0wNC0wOScsOSksCignMjAyNC0wNC0xOCcsMTApOwoKLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0gTElHTkVTIERFIENPTU1BTkRFCi0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpJTlNFUlQgSU5UTyBMaWduZUNvbW1hbmRlIFZBTFVFUwooMSwxLDIpLAooMSwyLDEpLAooMiwzLDUpLAooMiw1LDIpLAooMyw0LDMpLAooNCw2LDQpLAooNSw3LDEpLAooNiw4LDYpLAooNyw5LDIpLAooOCwxMCwzKSwKKDksMTEsNSksCigxMCwxMiwyKTsKCi0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tIEZJTgotLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tIHlvdXIgY29kZSBnb2VzIGhlcmU=