Advertisement
Imad025

db_GESTION

Jun 11th, 2022 (edited)
5,036
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 4.21 KB | None | 0 0
  1. CREATE DATABASE gestion_Des_ventes_PFE
  2. ---------------------------------------------------------------------------------------------------------------------------------------------------
  3. USE gestion_Des_ventes_PFE
  4. ---------------------------------------------------------------------------------------------------------------------------------------------------
  5. CREATE TABLE CATEGORIE
  6. (
  7.     ID_CAT INT IDENTITY (1,1),
  8.     NOM_CAT VARCHAR(50),
  9.     DES_CAT VARCHAR(50),
  10.     CONSTRAINT PK_CATEGORIE PRIMARY KEY(ID_CAT)
  11. )
  12. ---------------------------------------------------------------------------------------------------------------------------------------------------
  13. CREATE TABLE PRODUIT
  14. (
  15.     ID_PRODUIT INT IDENTITY (1,1),
  16.     ID_CAT INT,
  17.     NOM_PRODUIT VARCHAR(40),
  18.     QTE_STOCK INT,
  19.     PRIX VARCHAR(25),
  20.     FOUR VARCHAR(20),
  21.     img_prod TEXT,
  22.     CONSTRAINT PK_PRODUIT PRIMARY KEY(ID_PRODUIT),
  23.     CONSTRAINT FK_CATEGORIE FOREIGN KEY(ID_CAT) REFERENCES CATEGORIE(ID_CAT) ON DELETE cascade ON UPDATE cascade
  24. )
  25. ---------------------------------------------------------------------------------------------------------------------------------------
  26. CREATE TABLE CLIENT
  27. (
  28.     ID_CLIENT INT IDENTITY(1, 1),
  29.     NOM_CLIENT VARCHAR(30),
  30.     PRN_CLIENT VARCHAR(30),
  31.     TEL_CLIENT VARCHAR(20),
  32.     EMAIL VARCHAR(50),
  33.     COUNTRY VARCHAR(50),
  34.     VILLE VARCHAR(50),
  35.     ADRESSE VARCHAR(50)
  36.     CONSTRAINT PK_CLIENT PRIMARY KEY(ID_CLIENT)
  37. )
  38. ---------------------------------------------------------------------------------------------------------------------------------------
  39. CREATE TABLE DETAIL_CMD
  40. (
  41.     ID_CMD INT IDENTITY(1, 1),
  42.     DATE_CMD DATE,
  43.     NOM_VENDEUR VARCHAR(75),
  44.     DESCRIPTION_CMD VARCHAR(250),
  45.     ID_PRODUIT INT,
  46.     ID_CLIENT INT,
  47.     QUANTITE INT,
  48.     PRICE MONEY,
  49.     DISCOUNT FLOAT,
  50.     AMOUNT VARCHAR(50),
  51.     TOTAL_AMOUNT VARCHAR(50),
  52.     CONSTRAINT PK_PRODUIT_COMMANDE PRIMARY KEY(ID_CMD),
  53.     CONSTRAINT FK_PRODUIT FOREIGN KEY(ID_PRODUIT) REFERENCES PRODUIT(ID_PRODUIT) ON UPDATE cascade ON DELETE cascade,
  54.     CONSTRAINT FK_CLIENTID FOREIGN KEY(ID_CLIENT) REFERENCES CLIENT(ID_CLIENT) ON UPDATE cascade ON DELETE cascade,
  55. )
  56. ---------------------------------------------------------------------------------------------------------------------------------------
  57. CREATE TABLE DEVIS (
  58. ID_DEVIS INT IDENTITY(1,1) PRIMARY KEY,
  59. ID_CLIENT INT,
  60. DATE_DEVIS DATE,
  61. ID_PRODUIT INT,
  62. Quantité INT,
  63. PRIX FLOAT,
  64. DISCOUNT FLOAT,
  65. MONTANT_TOTAL FLOAT,
  66. NOM_BUYER VARCHAR(30)
  67. CONSTRAINT FK_ID_CLIENT1 FOREIGN KEY (ID_CLIENT) REFERENCES CLIENT(ID_CLIENT),
  68. CONSTRAINT FK_ID_PRODUIT1 FOREIGN KEY (ID_PRODUIT) REFERENCES PRODUIT(ID_PRODUIT)
  69. )
  70. ---------------------------------------------------------------------------------------------------------------------------------------
  71. CREATE TABLE LIVRAISON(
  72. ID_LIVRAISON INT IDENTITY(1,1) PRIMARY KEY,
  73. ID_CLIENT INT,
  74. NOM_VENDEUR VARCHAR(20),
  75. CLIENT_PAYS VARCHAR(20),
  76. CLIENT_VILLE VARCHAR(20),
  77. CLIENT_ADRESSE VARCHAR(70),
  78. MODE_LIVRAISON VARCHAR(20),
  79. LIVRASON_CHARGE FLOAT,
  80. LIV_DES VARCHAR(70),
  81. CONSTRAINT FK_ID_CLIENT2 FOREIGN KEY (ID_CLIENT) REFERENCES CLIENT(ID_CLIENT)
  82. )
  83. ---------------------------------------------------------------------------------------------------------------------------------------
  84. CREATE TABLE USERS
  85. (
  86.     NOM VARCHAR(20),
  87.     PRENOM VARCHAR(30),
  88.     EMAIL VARCHAR(30),
  89.     USERNAME VARCHAR(50),
  90.     PSW VARCHAR(50),
  91.     USERTYPE VARCHAR(50) CHECK (USERTYPE IN ('admin','modérateur','utilisateur')),
  92.     CONSTRAINT PK_USERS PRIMARY KEY(USERNAME)
  93. )
  94. ---------------------------------------------------------------------------------------------------------------------------------------
  95. CREATE TABLE GRADATION
  96. (
  97.     ID_GRADE INT IDENTITY(1,1),
  98.     NOM_GRADE VARCHAR(20),
  99.     CONSTRAINT PK_ID_GRADE PRIMARY KEY(ID_GRADE)
  100. )
  101.  
  102.  
  103. /*
  104. CREATE OR ALTER TRIGGER AUTOQUANTITY
  105. ON DETAIL_CMD
  106. FOR INSERT
  107. AS BEGIN
  108. DECLARE @QTECMD INT
  109. SELECT @QTECMD = INSERTED.QUANTITE from INSERTED
  110. IF EXISTS(SELECT * FROM INSERTED I,PRODUIT P WHERE I.ID_PRODUIT = P.ID_PRODUIT AND I.QUANTITE > P.QTE_STOCK)
  111. BEGIN  
  112. RAISERROR('La quantité de Commande n''est pas suffisante!!',16,1)
  113. ROLLBACK
  114. END
  115. ELSE
  116. BEGIN
  117. UPDATE PRODUIT SET QTE_STOCK = QTE_STOCK - @QTECMD
  118. WHERE ID_PRODUIT = (SELECT INSERTED.ID_PRODUIT FROM INSERTED,PRODUIT WHERE INSERTED.ID_PRODUIT = PRODUIT.ID_PRODUIT)
  119. END
  120. END
  121. */
  122.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement