Forezz

бд

Nov 23rd, 2020
458
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
  2. START TRANSACTION;
  3. SET time_zone = "+00:00";
  4.  
  5.  
  6. /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
  7. /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
  8. /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
  9. /*!40101 SET NAMES utf8mb4 */;
  10.  
  11. --
  12. -- База данных: `sectionirovanie`
  13. --
  14.  
  15. DELIMITER $$
  16. --
  17. -- Процедуры
  18. --
  19. CREATE DEFINER=`root`@`localhost` PROCEDURE `chech_order` (`num` INT)  BEGIN
  20. SELECT * FROM orders where idorders=num;
  21. END$$
  22.  
  23. DELIMITER ;
  24.  
  25. -- --------------------------------------------------------
  26.  
  27. --
  28. -- Структура таблицы `client`
  29. --
  30.  
  31. CREATE TABLE `client` (
  32.   `idClient` int(11) NOT NULL,
  33.   `FIO` varchar(140) NOT NULL,
  34.   `typework` varchar(45) DEFAULT NULL,
  35.   `oplata` int(11) DEFAULT NULL,
  36.   `Adress` varchar(100) DEFAULT NULL
  37. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  38.  
  39. --
  40. -- Триггеры `client`
  41. --
  42. DELIMITER $$
  43. CREATE TRIGGER `check_user` BEFORE INSERT ON `client` FOR EACH ROW BEGIN
  44. IF new.adress is null THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Нельзя добавить пользователя без адреса';
  45. END IF;
  46. END
  47. $$
  48. DELIMITER ;
  49.  
  50. -- --------------------------------------------------------
  51.  
  52. --
  53. -- Структура таблицы `ispolnitel`
  54. --
  55.  
  56. CREATE TABLE `ispolnitel` (
  57.   `idIspolnitel` int(11) NOT NULL,
  58.   `FIO` varchar(140) DEFAULT NULL,
  59.   `kalificatiya` varchar(45) DEFAULT NULL
  60. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  61.  
  62. -- --------------------------------------------------------
  63.  
  64. --
  65. -- Структура таблицы `orders`
  66. --
  67.  
  68. CREATE TABLE `orders` (
  69.   `idorders` int(11) NOT NULL,
  70.   `client` int(11) DEFAULT NULL,
  71.   `idispolnitel` int(11) DEFAULT NULL,
  72.   `date` date NOT NULL,
  73.   `usluga` int(11) DEFAULT NULL
  74. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
  75. PARTITION BY RANGE (month(`date`))
  76. (
  77. PARTITION p_1 VALUES LESS THAN (5) ENGINE=InnoDB,
  78. PARTITION p_2 VALUES LESS THAN (9) ENGINE=InnoDB,
  79. PARTITION p_3 VALUES LESS THAN MAXVALUE ENGINE=InnoDB
  80. );
  81.  
  82. --
  83. -- Дамп данных таблицы `orders`
  84. --
  85.  
  86. INSERT INTO `orders` (`idorders`, `client`, `idispolnitel`, `date`, `usluga`) VALUES
  87. (2, 2, 3, '2020-02-01', 5),
  88. (3, 2, 3, '2020-01-01', 5),
  89. (4, 2, 3, '2020-05-01', 5),
  90. (1, 2, 3, '2020-11-01', 5),
  91. (5, 2, 3, '2020-12-01', 5),
  92. (6, 2, 3, '2020-11-01', 5);
  93.  
  94. -- --------------------------------------------------------
  95.  
  96. --
  97. -- Структура таблицы `usluga`
  98. --
  99.  
  100. CREATE TABLE `usluga` (
  101.   `idUsluga` int(11) NOT NULL,
  102.   `Price` varchar(45) DEFAULT NULL
  103. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  104.  
  105. --
  106. -- Индексы сохранённых таблиц
  107. --
  108.  
  109. --
  110. -- Индексы таблицы `client`
  111. --
  112. ALTER TABLE `client`
  113.   ADD PRIMARY KEY (`idClient`);
  114.  
  115. --
  116. -- Индексы таблицы `ispolnitel`
  117. --
  118. ALTER TABLE `ispolnitel`
  119.   ADD PRIMARY KEY (`idIspolnitel`);
  120.  
  121. --
  122. -- Индексы таблицы `orders`
  123. --
  124. ALTER TABLE `orders`
  125.   ADD PRIMARY KEY (`idorders`,`date`);
  126.  
  127. --
  128. -- Индексы таблицы `usluga`
  129. --
  130. ALTER TABLE `usluga`
  131.   ADD PRIMARY KEY (`idUsluga`);
  132. COMMIT;
  133.  
  134. /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
  135. /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
  136. /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
  137.  
RAW Paste Data