my.sql 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. SET FOREIGN_KEY_CHECKS = 0;
  2. -- ----------------------------------------------------------------------------
  3. -- Table dbo.AgentType
  4. -- ----------------------------------------------------------------------------
  5. CREATE TABLE IF NOT EXISTS `AgentType` (
  6. `ID` INT NOT NULL AUTO_INCREMENT,
  7. `Title` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
  8. `Image` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL,
  9. PRIMARY KEY (`ID`));
  10. -- ----------------------------------------------------------------------------
  11. -- Table dbo.Supplier
  12. -- ----------------------------------------------------------------------------
  13. CREATE TABLE IF NOT EXISTS `Supplier` (
  14. `ID` INT NOT NULL AUTO_INCREMENT,
  15. `Title` VARCHAR(150) CHARACTER SET 'utf8mb4' NOT NULL,
  16. `INN` VARCHAR(12) NOT NULL,
  17. `StartDate` DATE NOT NULL,
  18. `QualityRating` INT NULL,
  19. `SupplierType` VARCHAR(20) CHARACTER SET 'utf8mb4' NULL,
  20. PRIMARY KEY (`ID`));
  21. -- ----------------------------------------------------------------------------
  22. -- Table dbo.ProductType
  23. -- ----------------------------------------------------------------------------
  24. CREATE TABLE IF NOT EXISTS `ProductType` (
  25. `ID` INT NOT NULL AUTO_INCREMENT,
  26. `Title` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
  27. `DefectedPercent` DOUBLE NOT NULL,
  28. PRIMARY KEY (`ID`));
  29. -- ----------------------------------------------------------------------------
  30. -- Table dbo.Product
  31. -- ----------------------------------------------------------------------------
  32. CREATE TABLE IF NOT EXISTS `Product` (
  33. `ID` INT NOT NULL AUTO_INCREMENT,
  34. `Title` VARCHAR(100) CHARACTER SET 'utf8mb4' NOT NULL,
  35. `ProductTypeID` INT NULL,
  36. `ArticleNumber` VARCHAR(10) CHARACTER SET 'utf8mb4' NOT NULL,
  37. `Description` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
  38. `Image` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL,
  39. `ProductionPersonCount` INT NULL,
  40. `ProductionWorkshopNumber` INT NULL,
  41. `MinCostForAgent` DECIMAL(10,2) NOT NULL,
  42. PRIMARY KEY (`ID`),
  43. CONSTRAINT `FK_Product_ProductType`
  44. FOREIGN KEY (`ProductTypeID`)
  45. REFERENCES `ProductType` (`ID`)
  46. ON DELETE NO ACTION
  47. ON UPDATE NO ACTION);
  48. -- ----------------------------------------------------------------------------
  49. -- Table dbo.MaterialSupplier
  50. -- ----------------------------------------------------------------------------
  51. CREATE TABLE IF NOT EXISTS `MaterialSupplier` (
  52. `MaterialID` INT NOT NULL,
  53. `SupplierID` INT NOT NULL,
  54. PRIMARY KEY (`MaterialID`, `SupplierID`),
  55. CONSTRAINT `FK_MaterialSupplier_Supplier`
  56. FOREIGN KEY (`SupplierID`)
  57. REFERENCES `Supplier` (`ID`)
  58. ON DELETE NO ACTION
  59. ON UPDATE NO ACTION,
  60. CONSTRAINT `FK_MaterialSupplier_Material`
  61. FOREIGN KEY (`MaterialID`)
  62. REFERENCES `Material` (`ID`)
  63. ON DELETE NO ACTION
  64. ON UPDATE NO ACTION);
  65. -- ----------------------------------------------------------------------------
  66. -- Table dbo.MaterialType
  67. -- ----------------------------------------------------------------------------
  68. CREATE TABLE IF NOT EXISTS `MaterialType` (
  69. `ID` INT NOT NULL AUTO_INCREMENT,
  70. `Title` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
  71. `DefectedPercent` DOUBLE NOT NULL,
  72. PRIMARY KEY (`ID`));
  73. -- ----------------------------------------------------------------------------
  74. -- Table dbo.Material
  75. -- ----------------------------------------------------------------------------
  76. CREATE TABLE IF NOT EXISTS `Material` (
  77. `ID` INT NOT NULL AUTO_INCREMENT,
  78. `Title` VARCHAR(100) CHARACTER SET 'utf8mb4' NOT NULL,
  79. `CountInPack` INT NOT NULL,
  80. `Unit` VARCHAR(10) CHARACTER SET 'utf8mb4' NOT NULL,
  81. `CountInStock` DOUBLE NULL,
  82. `MinCount` DOUBLE NOT NULL,
  83. `Description` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
  84. `Cost` DECIMAL(10,2) NOT NULL,
  85. `Image` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL,
  86. `MaterialTypeID` INT NOT NULL,
  87. PRIMARY KEY (`ID`),
  88. CONSTRAINT `FK_Material_MaterialType`
  89. FOREIGN KEY (`MaterialTypeID`)
  90. REFERENCES `MaterialType` (`ID`)
  91. ON DELETE NO ACTION
  92. ON UPDATE NO ACTION);
  93. -- ----------------------------------------------------------------------------
  94. -- Table dbo.ProductMaterial
  95. -- ----------------------------------------------------------------------------
  96. CREATE TABLE IF NOT EXISTS `ProductMaterial` (
  97. `ProductID` INT NOT NULL,
  98. `MaterialID` INT NOT NULL,
  99. `Count` DOUBLE NULL,
  100. PRIMARY KEY (`ProductID`, `MaterialID`),
  101. CONSTRAINT `FK_ProductMaterial_Material`
  102. FOREIGN KEY (`MaterialID`)
  103. REFERENCES `Material` (`ID`)
  104. ON DELETE NO ACTION
  105. ON UPDATE NO ACTION,
  106. CONSTRAINT `FK_ProductMaterial_Product`
  107. FOREIGN KEY (`ProductID`)
  108. REFERENCES `Product` (`ID`)
  109. ON DELETE NO ACTION
  110. ON UPDATE NO ACTION);
  111. -- ----------------------------------------------------------------------------
  112. -- Table dbo.ProductSale
  113. -- ----------------------------------------------------------------------------
  114. CREATE TABLE IF NOT EXISTS `ProductSale` (
  115. `ID` INT NOT NULL AUTO_INCREMENT,
  116. `AgentID` INT NOT NULL,
  117. `ProductID` INT NOT NULL,
  118. `SaleDate` DATE NOT NULL,
  119. `ProductCount` INT NOT NULL,
  120. PRIMARY KEY (`ID`),
  121. CONSTRAINT `FK_ProductSale_Agent`
  122. FOREIGN KEY (`AgentID`)
  123. REFERENCES `Agent` (`ID`)
  124. ON DELETE NO ACTION
  125. ON UPDATE NO ACTION,
  126. CONSTRAINT `FK_ProductSale_Product`
  127. FOREIGN KEY (`ProductID`)
  128. REFERENCES `Product` (`ID`)
  129. ON DELETE NO ACTION
  130. ON UPDATE NO ACTION);
  131. -- ----------------------------------------------------------------------------
  132. -- Table dbo.Agent
  133. -- ----------------------------------------------------------------------------
  134. CREATE TABLE IF NOT EXISTS `Agent` (
  135. `ID` INT NOT NULL AUTO_INCREMENT,
  136. `Title` VARCHAR(150) CHARACTER SET 'utf8mb4' NOT NULL,
  137. `AgentTypeID` INT NOT NULL,
  138. `Address` VARCHAR(300) CHARACTER SET 'utf8mb4' NULL,
  139. `INN` VARCHAR(12) NOT NULL,
  140. `KPP` VARCHAR(9) NULL,
  141. `DirectorName` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL,
  142. `Phone` VARCHAR(20) CHARACTER SET 'utf8mb4' NOT NULL,
  143. `Email` VARCHAR(255) CHARACTER SET 'utf8mb4' NULL,
  144. `Logo` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL,
  145. `Priority` INT NOT NULL,
  146. PRIMARY KEY (`ID`),
  147. CONSTRAINT `FK_Agent_AgentType`
  148. FOREIGN KEY (`AgentTypeID`)
  149. REFERENCES `AgentType` (`ID`)
  150. ON DELETE NO ACTION
  151. ON UPDATE NO ACTION);
  152. -- ----------------------------------------------------------------------------
  153. -- Table dbo.Shop
  154. -- ----------------------------------------------------------------------------
  155. CREATE TABLE IF NOT EXISTS `Shop` (
  156. `ID` INT NOT NULL AUTO_INCREMENT,
  157. `Title` VARCHAR(150) CHARACTER SET 'utf8mb4' NOT NULL,
  158. `Address` VARCHAR(300) CHARACTER SET 'utf8mb4' NULL,
  159. `AgentID` INT NOT NULL,
  160. PRIMARY KEY (`ID`),
  161. CONSTRAINT `FK_Shop_Agent`
  162. FOREIGN KEY (`AgentID`)
  163. REFERENCES `Agent` (`ID`)
  164. ON DELETE NO ACTION
  165. ON UPDATE NO ACTION);
  166. -- ----------------------------------------------------------------------------
  167. -- Table dbo.MaterialCountHistory
  168. -- ----------------------------------------------------------------------------
  169. CREATE TABLE IF NOT EXISTS `MaterialCountHistory` (
  170. `ID` INT NOT NULL AUTO_INCREMENT,
  171. `MaterialID` INT NOT NULL,
  172. `ChangeDate` DATETIME(6) NOT NULL,
  173. `CountValue` DOUBLE NOT NULL,
  174. PRIMARY KEY (`ID`),
  175. CONSTRAINT `FK_MaterialCountHistory_Material`
  176. FOREIGN KEY (`MaterialID`)
  177. REFERENCES `Material` (`ID`)
  178. ON DELETE NO ACTION
  179. ON UPDATE NO ACTION);
  180. -- ----------------------------------------------------------------------------
  181. -- Table dbo.ProductCostHistory
  182. -- ----------------------------------------------------------------------------
  183. CREATE TABLE IF NOT EXISTS `ProductCostHistory` (
  184. `ID` INT NOT NULL AUTO_INCREMENT,
  185. `ProductID` INT NOT NULL,
  186. `ChangeDate` DATETIME(6) NOT NULL,
  187. `CostValue` DECIMAL(10,2) NOT NULL,
  188. PRIMARY KEY (`ID`),
  189. CONSTRAINT `FK_ProductCostHistory_Product`
  190. FOREIGN KEY (`ProductID`)
  191. REFERENCES `Product` (`ID`)
  192. ON DELETE NO ACTION
  193. ON UPDATE NO ACTION);
  194. -- ----------------------------------------------------------------------------
  195. -- Table dbo.AgentPriorityHistory
  196. -- ----------------------------------------------------------------------------
  197. CREATE TABLE IF NOT EXISTS `AgentPriorityHistory` (
  198. `ID` INT NOT NULL AUTO_INCREMENT,
  199. `AgentID` INT NOT NULL,
  200. `ChangeDate` DATETIME(6) NOT NULL,
  201. `PriorityValue` INT NOT NULL,
  202. PRIMARY KEY (`ID`),
  203. CONSTRAINT `FK_AgentPriorityHistory_Agent`
  204. FOREIGN KEY (`AgentID`)
  205. REFERENCES `Agent` (`ID`)
  206. ON DELETE NO ACTION
  207. ON UPDATE NO ACTION);
  208. SET FOREIGN_KEY_CHECKS = 1;