Facebook
From AS oraz PŚ, 3 Years ago, written in SQL.
Embed
Download Paste or View Raw
Hits: 113
  1. -- MySQL Workbench Forward Engineering
  2.  
  3. SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
  4. SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
  5. SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
  6.  
  7. -- -----------------------------------------------------
  8. -- Schema mydb
  9. -- -----------------------------------------------------
  10. CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 ;
  11. USE `mydb` ;
  12.  
  13.  
  14. -- DROP TABLE `mydb`.`Awarie`, `mydb`.`Budżet`, `mydb`.`Cennik_części`, `mydb`.`Cennik_samochodów`, `mydb`.`Część_samochodowa`, `mydb`.`Kwalifikacje`, `mydb`.`Pracownik`, `mydb`.`maszyny_produkcyjne`,`mydb`.`samochód`;
  15. -- -----------------------------------------------------
  16. -- Table `mydb`.`Budżet`
  17. -- -----------------------------------------------------
  18. CREATE TABLE IF NOT EXISTS `mydb`.`Budżet` (
  19.   `id_budżetu` INT NOT NULL AUTO_INCREMENT,
  20.   `przychód` INT NOT NULL,
  21.   `zysk` INT NOT NULL,
  22.   `straty` INT NOT NULL,
  23.   `koszt` INT NOT NULL,
  24.   PRIMARY KEY (`id_budżetu`))
  25. ENGINE = InnoDB;
  26.  
  27.  
  28. -- -----------------------------------------------------
  29. -- Table `mydb`.`Samochód`
  30. -- -----------------------------------------------------
  31. CREATE TABLE IF NOT EXISTS `mydb`.`Samochód` (
  32.   `id_samochodu` INT NOT NULL AUTO_INCREMENT,
  33.   `Model` VARCHAR(45) NOT NULL,
  34.   `Kolor` VARCHAR(45) NOT NULL,
  35.   `rodzaj_silnika` VARCHAR(45) NOT NULL,
  36.   `data_produkcji` DATE NULL,
  37.   `status` VARCHAR(45) NULL,
  38.   `Budżet_id_budżetu` INT NOT NULL,
  39.   PRIMARY KEY (`id_samochodu`),
  40.   INDEX `fk_Samochód_Budżet1_idx` (`Budżet_id_budżetu` ASC) VISIBLE,
  41.   CONSTRAINT `fk_Samochód_Budżet1`
  42.     FOREIGN KEY (`Budżet_id_budżetu`)
  43.     REFERENCES `mydb`.`Budżet` (`id_budżetu`)
  44.     ON DELETE NO ACTION
  45.     ON UPDATE NO ACTION)
  46. ENGINE = InnoDB;
  47.  
  48.  
  49. -- -----------------------------------------------------
  50. -- Table `mydb`.`Maszyny_produkcyjne`
  51. -- -----------------------------------------------------
  52.  
  53. CREATE TABLE IF NOT EXISTS `mydb`.`Maszyny_produkcyjne` (
  54.   `id_maszyny` INT NOT NULL AUTO_INCREMENT,
  55.   `Produkowana_część` VARCHAR(45) NOT NULL,
  56.   `koszt_produkcji_części` INT NULL,
  57.   `Sprawność` INT NULL,
  58.   PRIMARY KEY (`id_maszyny`))
  59. ENGINE = InnoDB;
  60.  
  61.  
  62. -- -----------------------------------------------------
  63. -- Table `mydb`.`Część_samochodowa`
  64. -- -----------------------------------------------------
  65. CREATE TABLE IF NOT EXISTS `mydb`.`Część_samochodowa` (
  66.   `id_części` INT NOT NULL AUTO_INCREMENT,
  67.   `rodzaj_części` VARCHAR(45) NULL,
  68.   `data_produkcji` DATE NULL,
  69.   `status` VARCHAR(45) NULL,
  70.   `id_samochodu` INT NOT NULL,
  71.   `Budżet_id_budżetu` INT NOT NULL,
  72.   `Maszyny_produkcyjne_id_maszyny` INT NOT NULL,
  73.   PRIMARY KEY (`id_części`),
  74.   INDEX `fk_Część_samochodowa_Samochód_idx` (`id_samochodu` ASC) VISIBLE,
  75.   INDEX `fk_Część_samochodowa_Budżet1_idx` (`Budżet_id_budżetu` ASC) VISIBLE,
  76.   INDEX `fk_Część_samochodowa_Maszyny_produkcyjne1_idx` (`Maszyny_produkcyjne_id_maszyny` ASC) VISIBLE,
  77.   CONSTRAINT `fk_Część_samochodowa_Samochód`
  78.     FOREIGN KEY (`id_samochodu`)
  79.     REFERENCES `mydb`.`Samochód` (`id_samochodu`)
  80.     ON DELETE NO ACTION
  81.     ON UPDATE NO ACTION,
  82.   CONSTRAINT `fk_Część_samochodowa_Budżet1`
  83.     FOREIGN KEY (`Budżet_id_budżetu`)
  84.     REFERENCES `mydb`.`Budżet` (`id_budżetu`)
  85.     ON DELETE NO ACTION
  86.     ON UPDATE NO ACTION,
  87.   CONSTRAINT `fk_Część_samochodowa_Maszyny_produkcyjne1`
  88.     FOREIGN KEY (`Maszyny_produkcyjne_id_maszyny`)
  89.     REFERENCES `mydb`.`Maszyny_produkcyjne` (`id_maszyny`)
  90.     ON DELETE NO ACTION
  91.     ON UPDATE NO ACTION)
  92. ENGINE = InnoDB;
  93.  
  94.  
  95. -- -----------------------------------------------------
  96. -- Table `mydb`.`Pracownik`
  97. -- -----------------------------------------------------
  98. CREATE TABLE IF NOT EXISTS `mydb`.`Pracownik` (
  99.   `id_pracownika` INT NOT NULL AUTO_INCREMENT,
  100.   `Stanowisko` VARCHAR(45) NOT NULL,
  101.   `stawka_godzinowa` INT NOT NULL,
  102.   `status_pracownika` VARCHAR(45) NULL,
  103.   `ilosc_godzin` INT NOT NULL,
  104.   `dzial` VARCHAR(45) NULL,
  105.   `id_kierownika` INT NULL,
  106.   `Budżet_id_budżetu` INT NOT NULL,
  107.   PRIMARY KEY (`id_pracownika`),
  108.   INDEX `fk_Pracownik_Pracownik1_idx` (`id_kierownika` ASC) VISIBLE,
  109.   INDEX `fk_Pracownik_Budżet1_idx` (`Budżet_id_budżetu` ASC) VISIBLE,
  110.   CONSTRAINT `fk_Pracownik_Pracownik1`
  111.     FOREIGN KEY (`id_kierownika`)
  112.     REFERENCES `mydb`.`Pracownik` (`id_pracownika`)
  113.     ON DELETE NO ACTION
  114.     ON UPDATE NO ACTION,
  115.   CONSTRAINT `fk_Pracownik_Budżet1`
  116.     FOREIGN KEY (`Budżet_id_budżetu`)
  117.     REFERENCES `mydb`.`Budżet` (`id_budżetu`)
  118.     ON DELETE NO ACTION
  119.     ON UPDATE NO ACTION)
  120. ENGINE = InnoDB;
  121.  
  122.  
  123. -- -----------------------------------------------------
  124. -- Table `mydb`.`Awarie`
  125. -- -----------------------------------------------------
  126. CREATE TABLE IF NOT EXISTS `mydb`.`Awarie` (
  127.   `id_awarii` INT NOT NULL AUTO_INCREMENT,
  128.   `koszt_naprawy` INT NULL,
  129.   `czas_naprawy` INT NULL,
  130.   `Maszyny_produkcyjne_id_maszyny` INT NOT NULL,
  131.   `Budżet_id_budżetu` INT NOT NULL,
  132.   PRIMARY KEY (`id_awarii`),
  133.   INDEX `fk_Awarie_Maszyny_produkcyjne1_idx` (`Maszyny_produkcyjne_id_maszyny` ASC) VISIBLE,
  134.   INDEX `fk_Awarie_Budżet1_idx` (`Budżet_id_budżetu` ASC) VISIBLE,
  135.   CONSTRAINT `fk_Awarie_Maszyny_produkcyjne1`
  136.     FOREIGN KEY (`Maszyny_produkcyjne_id_maszyny`)
  137.     REFERENCES `mydb`.`Maszyny_produkcyjne` (`id_maszyny`)
  138.     ON DELETE NO ACTION
  139.     ON UPDATE NO ACTION,
  140.   CONSTRAINT `fk_Awarie_Budżet1`
  141.     FOREIGN KEY (`Budżet_id_budżetu`)
  142.     REFERENCES `mydb`.`Budżet` (`id_budżetu`)
  143.     ON DELETE NO ACTION
  144.     ON UPDATE NO ACTION)
  145. ENGINE = InnoDB;
  146.  
  147.  
  148. -- -----------------------------------------------------
  149. -- Table `mydb`.`Cennik_części`
  150. -- -----------------------------------------------------
  151. CREATE TABLE IF NOT EXISTS `mydb`.`Cennik_części` (
  152.   `Część_samochodowa_id_części` INT NOT NULL,
  153.   `Cena_koncowa` INT NULL,
  154.   `znizka` DECIMAL(3,2) NULL,
  155.   INDEX `fk_Cennik_Część_samochodowa1_idx` (`Część_samochodowa_id_części` ASC) VISIBLE,
  156.   CONSTRAINT `fk_Cennik_Część_samochodowa1`
  157.     FOREIGN KEY (`Część_samochodowa_id_części`)
  158.     REFERENCES `mydb`.`Część_samochodowa` (`id_części`)
  159.     ON DELETE NO ACTION
  160.     ON UPDATE NO ACTION)
  161. ENGINE = InnoDB;
  162.  
  163.  
  164. -- -----------------------------------------------------
  165. -- Table `mydb`.`Kwalifikacje`
  166. -- -----------------------------------------------------
  167. CREATE TABLE IF NOT EXISTS `mydb`.`Kwalifikacje` (
  168.   `Maszyny_produkcyjne_id_maszyny` INT NOT NULL,
  169.   `Pracownik_id_pracownika` INT NOT NULL,
  170.   PRIMARY KEY (`Maszyny_produkcyjne_id_maszyny`, `Pracownik_id_pracownika`),
  171.   INDEX `fk_Maszyny_produkcyjne_has_Pracownik_Pracownik1_idx` (`Pracownik_id_pracownika` ASC) VISIBLE,
  172.   INDEX `fk_Maszyny_produkcyjne_has_Pracownik_Maszyny_produkcyjne1_idx` (`Maszyny_produkcyjne_id_maszyny` ASC) VISIBLE,
  173.   CONSTRAINT `fk_Maszyny_produkcyjne_has_Pracownik_Maszyny_produkcyjne1`
  174.     FOREIGN KEY (`Maszyny_produkcyjne_id_maszyny`)
  175.     REFERENCES `mydb`.`Maszyny_produkcyjne` (`id_maszyny`)
  176.     ON DELETE NO ACTION
  177.     ON UPDATE NO ACTION,
  178.   CONSTRAINT `fk_Maszyny_produkcyjne_has_Pracownik_Pracownik1`
  179.     FOREIGN KEY (`Pracownik_id_pracownika`)
  180.     REFERENCES `mydb`.`Pracownik` (`id_pracownika`)
  181.     ON DELETE NO ACTION
  182.     ON UPDATE NO ACTION)
  183. ENGINE = InnoDB;
  184.  
  185.  
  186. -- -----------------------------------------------------
  187. -- Table `mydb`.`Cennik_samochodów`
  188. -- -----------------------------------------------------
  189. CREATE TABLE IF NOT EXISTS `mydb`.`Cennik_samochodów` (
  190.   `Samochód_id_samochodu` INT NOT NULL,
  191.   `Cena_koncowa` INT NULL,
  192.   `znizka` DECIMAL(3,2) NULL,
  193.   INDEX `fk_Cennik_samochodów_Samochód1_idx` (`Samochód_id_samochodu` ASC) VISIBLE,
  194.   CONSTRAINT `fk_Cennik_samochodów_Samochód1`
  195.     FOREIGN KEY (`Samochód_id_samochodu`)
  196.     REFERENCES `mydb`.`Samochód` (`id_samochodu`)
  197.     ON DELETE NO ACTION
  198.     ON UPDATE NO ACTION)
  199. ENGINE = InnoDB;
  200.  
  201.  
  202. SET SQL_MODE=@OLD_SQL_MODE;
  203. SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
  204. SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
  205.  
  206. -- Roboczy budżet
  207. INSERT INTO `mydb`.`budżet`
  208. (`przychód`,`zysk`,`straty`,`koszt`)
  209. VALUES
  210. (0,0,0,0);
  211.  
  212.  
  213. INSERT INTO `mydb`.`Samochód`
  214. (`Model`,`Kolor`,`rodzaj_silnika`,`data_produkcji`,`status`,`Budżet_id_budżetu`)
  215. VALUES
  216. ('IRB1410','Żółty','1.9 TDI','2020-01-20','dostępny',1),    -- 1
  217. ('GTH1310','Czerwony','3.2 TDI','2020-01-21','dostępny',1),
  218. ('IRB1410','Zielony','1.9 TDI','2020-01-23','dostępny',1),
  219. ('GRT1640','Czarny','1.6 TDI','2020-01-20','dostępny',1),
  220. ('JDB2310','','1.6 HDI','2020-01-18','dostępny',1),
  221. ('IRB1410','Fioletowy','1.9 TDI','2020-01-20','dostępny',1),
  222. ('IRB1310','Czarny','3.2 TDI','2020-01-22','dostępny',1),
  223. ('IRB1310','Czarny','3.2 TDI','2020-01-20','dostępny',1),
  224. ('JDB2310','Niebieski','1.6 HDI','2020-01-15','dostępny',1),
  225. ('IRB1310','Biały','3.2 TDI','2020-01-20','dostępny',1),
  226. ('GTX2330', 'Czerwony', '4.0 TDI', '2020-02-20','Zarezerwowany',1),
  227. ('GTX2330', 'Czarny', '4.0 TDI', '2020-05-12','W produkcji',1),
  228. ('GRT1640', 'Niebieski','1.6 TDI', '2020-03-15','dostępny',1),
  229. ('JDB2310', 'Zielony', '1.6 HDI', '2020-03-12','Zarezerwowany',1);  -- 1
  230.  
  231.  
  232.  
  233. INSERT INTO `mydb`.`Maszyny_produkcyjne`
  234. (`Produkowana_część`,`koszt_produkcji_części`,`Sprawność`)
  235. VALUES
  236. ('zderzak',80,1),
  237. ('silnik',5000,1),
  238. ('podwozie',2000,1),
  239. ('silnik',3000,0),
  240. ('deska rozdzielcza',200,1),
  241. ('deska rozdzielcza',150,1),
  242. ('karoseria',8000,1),
  243. ('karoseria',10000,1),
  244. ('wnętrze',5000,0),
  245. ('wnętrze',6000, 1);
  246.  
  247.  
  248.  
  249. INSERT INTO `mydb`.`pracownik`
  250. (`Stanowisko`,`stawka_godzinowa`,`status_pracownika`,`ilosc_godzin`,`dzial`,`id_kierownika`,`Budżet_id_budżetu`)
  251. VALUES
  252. ('Kierownik',40,'pracuje',90,'Zarządzanie',NULL,1),
  253. ('Kierownik produkcji',35,'pracuje',116,'Zarządzanie',1,1),
  254. ('Kierownik nadzoru',35,'pracuje',116,'Zarządzanie',1,1),
  255. ('Kierownik innowacji',34,'pracuje',90,'Zarządzanie',1,1),    
  256. ('Kierownik sprzedarzy',34,'pracuje',90,'Zarządzanie',1,1),   
  257. ('Operator',23,'pracuje',123,'Produkcja_Cz',2,1),      
  258. ('Operator',23,'pracuje',98,'Produkcja_Cz',2,1),
  259. ('Operator',21,'pracuje',101,'Produkcja_Cz',2,1),
  260. ('Operator',21,'urlop',89,'Produkcja_Cz',2,1),
  261. ('Operator',21,'pracuje',56,'Produkcja_Cz',2,1),
  262. ('Operator',23,'pracuje',123,'Produkcja_Cz',2,1),      
  263. ('Operator',23,'urlop',98,'Produkcja_Cz',2,1),
  264. ('Operator',23,'pracuje',101,'Produkcja_Cz',2,1),
  265. ('Operator',23,'pracuje',89,'Produkcja_Cz',2,1),
  266. ('Operator',23,'pracuje',56,'Produkcja_Cz',2,1),
  267. ('Operator',23,'pracuje',123,'Produkcja_Cz',2,1),
  268. ('Operator',23,'urlop',98,'Produkcja_Cz',2,1), 
  269. ('Operator',23,'pracuje',101,'Produkcja_Cz',2,1),
  270. ('Operator',23,'pracuje',89,'Produkcja_Cz',2,1),
  271. ('Operator',23,'pracuje',56,'Produkcja_Cz',2,1),
  272. ('Kontroler',27,'pracuje',104,'Produkcja_Cz',3,1),                     
  273. ('Kontroler',27,'zawieszony',89,'Produkcja_Cz',3,1),                   
  274. ('Kontroler',27,'pracuje',93,'Produkcja_Cz',3,1),                              
  275. ('Kontroler',27,'pracuje',91,'Produkcja_Cz',3,1),                              
  276. ('Kontroler',27,'pracuje',72,'Produkcja_Cz',3,1),
  277. ('Sekretarz',21,'pracuje',56,'Biuro',3,1),                                             
  278. ('Projektant',28,'urlop',34,'Innowacje',4,1),
  279. ('Projektant',28,'pracuje',67,'Innowacje',4,1),
  280. ('Projektant',28,'pracuje',71,'Innowacje',4,1),
  281. ('Obsługa klienta',25,'pracuje',94,'Sprzedarz',5,1),
  282. ('Obsługa klienta',25,'pracuje',71,'Sprzedarz',5,1),
  283. ('Sprzedawca',27,'pracuje',71,'Sprzedarz',5,1),
  284. ('Sprzedawca',27,'pracuje',74,'Sprzedarz',5,1),
  285. ('Sprzedawca',27,'zwolniony',23,'Sprzedarz',5,1);
  286.  
  287.  
  288. INSERT INTO `mydb`.`kwalifikacje`
  289. (`Maszyny_produkcyjne_id_maszyny`,
  290. `Pracownik_id_pracownika`)
  291. VALUES
  292. (1,6),
  293. (1,7),
  294. (1,21),
  295. (2,7),
  296. (2,8),
  297. (2,21),
  298. (3,9),
  299. (3,10),
  300. (3,22),
  301. (4,11),
  302. (4,12),
  303. (4,22),
  304. (5,13),
  305. (5,23),
  306. (6,13),
  307. (6,23),
  308. (7,14),
  309. (7,15),
  310. (7,24),
  311. (8,14),
  312. (8,15),
  313. (8,24),
  314. (9,16),
  315. (9,17),
  316. (9,18),
  317. (9,25),
  318. (10,18),
  319. (10,19),
  320. (10,20),
  321. (10,25);
  322.  
  323.  
  324.  
  325. INSERT INTO `mydb`.`część_samochodowa`
  326. (`rodzaj_części`,`data_produkcji`,`status`,`id_samochodu`,`Budżet_id_budżetu`,`Maszyny_produkcyjne_id_maszyny`)
  327. VALUES
  328. ('Napęd','2020-02-15','Dostępny',1,1,2),
  329. ('Napęd','2020-02-15','Dostępny',3,1,2),
  330. ('Napęd','2020-02-16','Zarezerwowany',5,1,4),
  331. ('Tapicerka','2020-01-23','Dostępny',3,1,9),
  332. ('Tapicerka','2020-01-24','Zarezerwowany',3,1,9),
  333. ('Tapicerka','2020-01-25','Dostępny',3,1,10),
  334. ('Drzwi','2020-02-03','Dostępny',4,1,7),
  335. ('Drzwi','2020-03-25','Dostępny',7,1,7),
  336. ('Drzwi','2020-03-25','Dostępny',8,1,8),
  337. ('Drzwi','2020-03-26','Dostępny',12,1,8),
  338. ('Napęd','2020-02-17','Zarezerwowany',8,1,4),
  339. ('Licznik','2020-03-14','Dostępny',1,1,6),
  340. ('Obicie','2020-03-21','Dostępny',2,1,5),
  341. ('Kierownica','2020-04-26','Dostępny',2,1,6),
  342. ('Drzwi','2020-03-26','Dostępny',12,1,8),
  343. ('Zderzak','2020-03-18','Dostępny',11,1,1),
  344. ('Napęd','2020-02-13','Dostępny',8,1,4);
  345.  
  346. INSERT INTO `mydb`.`cennik_części`
  347. (`Część_samochodowa_id_części`,`Cena_koncowa`,`znizka`)
  348. VALUES
  349. (1,1200,0),
  350. (2,1103,0.05),
  351. (3,900,0),
  352. (4,500,0),
  353. (5,450,0),
  354. (6,600,0.1),
  355. (7,700,0.2),
  356. (8,750,0),
  357. (9,1000,0),
  358. (10,900,0),
  359. (11,723,0.06),
  360. (12,100,0),
  361. (13,500,0),
  362. (14,600,0.1),
  363. (15,1000,0.2),
  364. (16,300,0),
  365. (17,1000,0);
  366.  
  367.  
  368. INSERT INTO mydb.`Cennik_samochodów`
  369. (`Cena_koncowa`,`znizka`,`Samochód_id_samochodu`)
  370. VALUES
  371. (25000,0,1),
  372. (50000,0.1,2),
  373. (25000,0,3),
  374. (30000,0.12,4),
  375. (23500,0,5),
  376. (25000,0,6),
  377. (50000,0.1,7),
  378. (50000,0,8),
  379. (23500,0,9),
  380. (50000,0.1,10),
  381. (125000,0.05,11),
  382. (125000,0.05,12),
  383. (40000,0,13),
  384. (23500,0,14);
  385.  
  386.  
  387. INSERT INTO `mydb`.`Awarie`
  388. (`koszt_naprawy`,`czas_naprawy`,`Maszyny_produkcyjne_id_maszyny`,`Budżet_id_budżetu`)
  389. VALUES
  390. (9000,4,4,1),
  391. (7500,9,12,1);