Advertisement
Guest User

SD

a guest
Oct 9th, 2015
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 9.13 KB | None | 0 0
  1. -- phpMyAdmin SQL Dump
  2. -- version 4.4.10
  3. -- http://www.phpmyadmin.net
  4. --
  5. -- Host: localhost
  6. -- Generation Time: Oct 09, 2015 at 11:44 PM
  7. -- Server version: 5.5.42
  8. -- PHP Version: 5.6.10
  9.  
  10. SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
  11. SET time_zone = "+00:00";
  12.  
  13. --
  14. -- Database: `SD`
  15. --
  16.  
  17. -- --------------------------------------------------------
  18.  
  19. --
  20. -- Table structure for table `alternative`
  21. --
  22.  
  23. CREATE TABLE `alternative` (
  24.   `id_alternative` BIGINT(20) NOT NULL,
  25.   `description` VARCHAR(200) COLLATE utf8_bin NOT NULL,
  26.   `n_votes` INT(11) DEFAULT '0',
  27.   `multiplier` tinyint(4) NOT NULL,
  28.   `id_project` BIGINT(20) DEFAULT NULL
  29. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  30.  
  31. --
  32. -- Triggers `alternative`
  33. --
  34. DELIMITER $$
  35. CREATE TRIGGER `check_multiplier` BEFORE INSERT ON `alternative`
  36.  FOR EACH ROW BEGIN
  37.     IF NEW.multiplier < 1 THEN
  38.         SIGNAL SQLSTATE '45000'
  39.             SET MESSAGE_TEXT = 'Multiplier must be greater or equal than 1';
  40.     END IF;
  41. END
  42. $$
  43. DELIMITER ;
  44.  
  45. -- --------------------------------------------------------
  46.  
  47. --
  48. -- Table structure for table `donation`
  49. --
  50.  
  51. CREATE TABLE `donation` (
  52.   `id_donation` BIGINT(20) NOT NULL,
  53.   `pledge_value` BIGINT(20) NOT NULL,
  54.   `id_user` BIGINT(20) DEFAULT NULL,
  55.   `id_reward` BIGINT(20) DEFAULT NULL,
  56.   `id_alternative` BIGINT(20) DEFAULT NULL
  57. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  58.  
  59. --
  60. -- Triggers `donation`
  61. --
  62. DELIMITER $$
  63. CREATE TRIGGER `check_pledge_value` BEFORE INSERT ON `donation`
  64.  FOR EACH ROW BEGIN
  65.     IF NEW.pledge_value <1 THEN
  66.         SIGNAL SQLSTATE '45000'
  67.             SET MESSAGE_TEXT = 'Pledge value must be greater or equal than 1';
  68.     END IF;
  69. END
  70. $$
  71. DELIMITER ;
  72.  
  73. -- --------------------------------------------------------
  74.  
  75. --
  76. -- Table structure for table `message`
  77. --
  78.  
  79. CREATE TABLE `message` (
  80.   `id_message` BIGINT(20) NOT NULL,
  81.   `text` VARCHAR(400) COLLATE utf8_bin DEFAULT NULL,
  82.   `id_user` BIGINT(20) DEFAULT NULL,
  83.   `id_project` BIGINT(20) DEFAULT NULL
  84. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  85.  
  86. -- --------------------------------------------------------
  87.  
  88. --
  89. -- Table structure for table `project`
  90. --
  91.  
  92. CREATE TABLE `project` (
  93.   `id_project` BIGINT(20) NOT NULL,
  94.   `name` VARCHAR(50) COLLATE utf8_bin NOT NULL,
  95.   `description` VARCHAR(400) COLLATE utf8_bin NOT NULL,
  96.   `limit_date` VARCHAR(30) COLLATE utf8_bin NOT NULL,
  97.   `target_value` BIGINT(20) NOT NULL,
  98.   `current_value` BIGINT(20) DEFAULT '0',
  99.   `enterprise` VARCHAR(30) COLLATE utf8_bin DEFAULT NULL,
  100.   `id_user` BIGINT(20) DEFAULT NULL
  101. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  102.  
  103. --
  104. -- Triggers `project`
  105. --
  106. DELIMITER $$
  107. CREATE TRIGGER `check_target_value` BEFORE INSERT ON `project`
  108.  FOR EACH ROW BEGIN
  109.     IF NEW.target_value < 1 THEN
  110.         SIGNAL SQLSTATE '45000'
  111.             SET MESSAGE_TEXT = 'Target value must be greater or equal than 1';
  112.     END IF;
  113. END
  114. $$
  115. DELIMITER ;
  116. DELIMITER $$
  117. CREATE TRIGGER `check_target_value2` BEFORE UPDATE ON `project`
  118.  FOR EACH ROW BEGIN
  119.     IF NEW.target_value < 1 THEN
  120.         SIGNAL SQLSTATE '45000'
  121.             SET MESSAGE_TEXT = 'Target value must be greater or equal than 1';
  122.     END IF;
  123. END
  124. $$
  125. DELIMITER ;
  126.  
  127. -- --------------------------------------------------------
  128.  
  129. --
  130. -- Table structure for table `project_has_user`
  131. --
  132.  
  133. CREATE TABLE `project_has_user` (
  134.   `id_project` BIGINT(20) NOT NULL,
  135.   `id_user` BIGINT(20) NOT NULL
  136. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  137.  
  138. -- --------------------------------------------------------
  139.  
  140. --
  141. -- Table structure for table `reward`
  142. --
  143.  
  144. CREATE TABLE `reward` (
  145.   `id_reward` BIGINT(20) NOT NULL,
  146.   `description` VARCHAR(200) COLLATE utf8_bin NOT NULL,
  147.   `min_value` BIGINT(20) NOT NULL,
  148.   `id_project` BIGINT(20) DEFAULT NULL
  149. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  150.  
  151. --
  152. -- Triggers `reward`
  153. --
  154. DELIMITER $$
  155. CREATE TRIGGER `check_min_value` BEFORE INSERT ON `reward`
  156.  FOR EACH ROW BEGIN
  157.     IF NEW.min_value <1 THEN
  158.         SIGNAL SQLSTATE '45000'
  159.             SET MESSAGE_TEXT = 'Minimum value of pledge must be greater or equal than 1';
  160.     END IF;
  161. END
  162. $$
  163. DELIMITER ;
  164. DELIMITER $$
  165. CREATE TRIGGER `check_min_value2` BEFORE UPDATE ON `reward`
  166.  FOR EACH ROW BEGIN
  167.     IF NEW.min_value <1 THEN
  168.         SIGNAL SQLSTATE '45000'
  169.             SET MESSAGE_TEXT = 'Minimum value of pledge must be greater or equal than 1';
  170.     END IF;
  171. END
  172. $$
  173. DELIMITER ;
  174.  
  175. -- --------------------------------------------------------
  176.  
  177. --
  178. -- Table structure for table `user`
  179. --
  180.  
  181. CREATE TABLE `user` (
  182.   `id_user` BIGINT(20) NOT NULL,
  183.   `name` VARCHAR(50) COLLATE utf8_bin NOT NULL,
  184.   `password` VARCHAR(50) COLLATE utf8_bin NOT NULL,
  185.   `bi` VARCHAR(25) COLLATE utf8_bin NOT NULL,
  186.   `age` tinyint(4) DEFAULT NULL,
  187.   `email` VARCHAR(30) COLLATE utf8_bin NOT NULL,
  188.   `account_balance` BIGINT(20) DEFAULT '100'
  189. ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  190.  
  191. --
  192. -- Triggers `user`
  193. --
  194. DELIMITER $$
  195. CREATE TRIGGER `check_balance` BEFORE UPDATE ON `user`
  196.  FOR EACH ROW BEGIN
  197.     IF NEW.account_balance <0 THEN
  198.         SIGNAL SQLSTATE '45000'
  199.             SET MESSAGE_TEXT = 'Account balance must be greater or equal than 0';
  200.     END IF;
  201. END
  202. $$
  203. DELIMITER ;
  204. DELIMITER $$
  205. CREATE TRIGGER `check_balance2` BEFORE INSERT ON `user`
  206.  FOR EACH ROW BEGIN
  207.     IF NEW.account_balance != 100 THEN
  208.         SIGNAL SQLSTATE '45000'
  209.             SET MESSAGE_TEXT = 'Initial account balance must be 100';
  210.     END IF;
  211. END
  212. $$
  213. DELIMITER ;
  214.  
  215. --
  216. -- Indexes for dumped tables
  217. --
  218.  
  219. --
  220. -- Indexes for table `alternative`
  221. --
  222. ALTER TABLE `alternative`
  223.   ADD PRIMARY KEY (`id_alternative`),
  224.   ADD KEY `fk_al_proj` (`id_project`);
  225.  
  226. --
  227. -- Indexes for table `donation`
  228. --
  229. ALTER TABLE `donation`
  230.   ADD PRIMARY KEY (`id_donation`),
  231.   ADD KEY `fk_don_user` (`id_user`),
  232.   ADD KEY `fk_reward` (`id_reward`),
  233.   ADD KEY `fk_alternative` (`id_alternative`);
  234.  
  235. --
  236. -- Indexes for table `message`
  237. --
  238. ALTER TABLE `message`
  239.   ADD PRIMARY KEY (`id_message`),
  240.   ADD KEY `fk_msg_user` (`id_user`),
  241.   ADD KEY `fk_msg_project` (`id_project`);
  242.  
  243. --
  244. -- Indexes for table `project`
  245. --
  246. ALTER TABLE `project`
  247.   ADD PRIMARY KEY (`id_project`),
  248.   ADD KEY `fk_admin` (`id_user`);
  249.  
  250. --
  251. -- Indexes for table `project_has_user`
  252. --
  253. ALTER TABLE `project_has_user`
  254.   ADD PRIMARY KEY (`id_project`,`id_user`),
  255.   ADD KEY `fk_user_project` (`id_user`);
  256.  
  257. --
  258. -- Indexes for table `reward`
  259. --
  260. ALTER TABLE `reward`
  261.   ADD PRIMARY KEY (`id_reward`),
  262.   ADD KEY `fk_project` (`id_project`);
  263.  
  264. --
  265. -- Indexes for table `user`
  266. --
  267. ALTER TABLE `user`
  268.   ADD PRIMARY KEY (`id_user`),
  269.   ADD UNIQUE KEY `uni_bi` (`bi`);
  270.  
  271. --
  272. -- AUTO_INCREMENT for dumped tables
  273. --
  274.  
  275. --
  276. -- AUTO_INCREMENT for table `alternative`
  277. --
  278. ALTER TABLE `alternative`
  279.   MODIFY `id_alternative` BIGINT(20) NOT NULL AUTO_INCREMENT;
  280. --
  281. -- AUTO_INCREMENT for table `donation`
  282. --
  283. ALTER TABLE `donation`
  284.   MODIFY `id_donation` BIGINT(20) NOT NULL AUTO_INCREMENT;
  285. --
  286. -- AUTO_INCREMENT for table `message`
  287. --
  288. ALTER TABLE `message`
  289.   MODIFY `id_message` BIGINT(20) NOT NULL AUTO_INCREMENT;
  290. --
  291. -- AUTO_INCREMENT for table `project`
  292. --
  293. ALTER TABLE `project`
  294.   MODIFY `id_project` BIGINT(20) NOT NULL AUTO_INCREMENT;
  295. --
  296. -- AUTO_INCREMENT for table `reward`
  297. --
  298. ALTER TABLE `reward`
  299.   MODIFY `id_reward` BIGINT(20) NOT NULL AUTO_INCREMENT;
  300. --
  301. -- AUTO_INCREMENT for table `user`
  302. --
  303. ALTER TABLE `user`
  304.   MODIFY `id_user` BIGINT(20) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3;
  305. --
  306. -- Constraints for dumped tables
  307. --
  308.  
  309. --
  310. -- Constraints for table `alternative`
  311. --
  312. ALTER TABLE `alternative`
  313.   ADD CONSTRAINT `fk_al_proj` FOREIGN KEY (`id_project`) REFERENCES `project` (`id_project`) ON DELETE CASCADE ON UPDATE CASCADE;
  314.  
  315. --
  316. -- Constraints for table `donation`
  317. --
  318. ALTER TABLE `donation`
  319.   ADD CONSTRAINT `fk_alternative` FOREIGN KEY (`id_alternative`) REFERENCES `alternative` (`id_alternative`) ON DELETE CASCADE ON UPDATE CASCADE,
  320.   ADD CONSTRAINT `fk_don_user` FOREIGN KEY (`id_user`) REFERENCES `user` (`id_user`) ON DELETE CASCADE ON UPDATE CASCADE,
  321.   ADD CONSTRAINT `fk_reward` FOREIGN KEY (`id_reward`) REFERENCES `reward` (`id_reward`) ON DELETE CASCADE ON UPDATE CASCADE;
  322.  
  323. --
  324. -- Constraints for table `message`
  325. --
  326. ALTER TABLE `message`
  327.   ADD CONSTRAINT `fk_msg_project` FOREIGN KEY (`id_project`) REFERENCES `project` (`id_project`) ON DELETE CASCADE ON UPDATE CASCADE,
  328.   ADD CONSTRAINT `fk_msg_user` FOREIGN KEY (`id_user`) REFERENCES `user` (`id_user`) ON DELETE CASCADE ON UPDATE CASCADE;
  329.  
  330. --
  331. -- Constraints for table `project`
  332. --
  333. ALTER TABLE `project`
  334.   ADD CONSTRAINT `fk_admin` FOREIGN KEY (`id_user`) REFERENCES `user` (`id_user`) ON DELETE CASCADE ON UPDATE CASCADE;
  335.  
  336. --
  337. -- Constraints for table `project_has_user`
  338. --
  339. ALTER TABLE `project_has_user`
  340.   ADD CONSTRAINT `fk_project_user` FOREIGN KEY (`id_project`) REFERENCES `project` (`id_project`) ON DELETE CASCADE ON UPDATE CASCADE,
  341.   ADD CONSTRAINT `fk_user_project` FOREIGN KEY (`id_user`) REFERENCES `user` (`id_user`) ON DELETE CASCADE ON UPDATE CASCADE;
  342.  
  343. --
  344. -- Constraints for table `reward`
  345. --
  346. ALTER TABLE `reward`
  347.   ADD CONSTRAINT `fk_project` FOREIGN KEY (`id_project`) REFERENCES `project` (`id_project`) ON DELETE CASCADE ON UPDATE CASCADE;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement