Advertisement
DDeathlonger

MMORPG Initial Review

Sep 1st, 2018
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 21.41 KB | None | 0 0
  1. IMAGE: https://pasteboard.co/HBT90Bx.png
  2.  
  3. -- MySQL Workbench Forward Engineering
  4.  
  5. SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
  6. SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
  7. 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';
  8.  
  9. -- -----------------------------------------------------
  10. -- Schema schema_test
  11. -- -----------------------------------------------------
  12.  
  13. -- -----------------------------------------------------
  14. -- Schema schema_test
  15. -- -----------------------------------------------------
  16. CREATE SCHEMA IF NOT EXISTS `schema_test` DEFAULT CHARACTER SET utf8 ;
  17. USE `schema_test` ;
  18.  
  19. -- -----------------------------------------------------
  20. -- Table `schema_test`.`Users`
  21. -- -----------------------------------------------------
  22. CREATE TABLE IF NOT EXISTS `schema_test`.`Users` (
  23.   `User_Index` INT NOT NULL AUTO_INCREMENT,
  24.   `User_Username` VARCHAR(64) NOT NULL,
  25.   `User_Name` VARCHAR(64) NOT NULL,
  26.   `User_Email` VARCHAR(255) NOT NULL,
  27.   `User_Password` VARCHAR(64) NOT NULL,
  28.   `User_Modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  29.   `User_Created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  30.   PRIMARY KEY (`User_Index`))
  31. ENGINE = InnoDB;
  32.  
  33.  
  34. -- -----------------------------------------------------
  35. -- Table `schema_test`.`Sects`
  36. -- -----------------------------------------------------
  37. CREATE TABLE IF NOT EXISTS `schema_test`.`Sects` (
  38.   `Sect_Index` INT NOT NULL AUTO_INCREMENT,
  39.   `Sect_Name` VARCHAR(64) NOT NULL,
  40.   `Sect_Social_Status` VARCHAR(64) NOT NULL,
  41.   PRIMARY KEY (`Sect_Index`))
  42. ENGINE = InnoDB;
  43.  
  44.  
  45. -- -----------------------------------------------------
  46. -- Table `schema_test`.`Trades`
  47. -- -----------------------------------------------------
  48. CREATE TABLE IF NOT EXISTS `schema_test`.`Trades` (
  49.   `Trade_Index` INT NOT NULL AUTO_INCREMENT,
  50.   `Trade_Name` VARCHAR(64) NOT NULL,
  51.   PRIMARY KEY (`Trade_Index`))
  52. ENGINE = InnoDB;
  53.  
  54.  
  55. -- -----------------------------------------------------
  56. -- Table `schema_test`.`Stats`
  57. -- -----------------------------------------------------
  58. CREATE TABLE IF NOT EXISTS `schema_test`.`Stats` (
  59.   `Stat_Index` INT NOT NULL AUTO_INCREMENT,
  60.   `Stat_Name` VARCHAR(64) NOT NULL,
  61.   `Stat_Proficiency` FLOAT NOT NULL,
  62.   PRIMARY KEY (`Stat_Index`))
  63. ENGINE = InnoDB;
  64.  
  65.  
  66. -- -----------------------------------------------------
  67. -- Table `schema_test`.`Vector3`
  68. -- -----------------------------------------------------
  69. CREATE TABLE IF NOT EXISTS `schema_test`.`Vector3` (
  70.   `Vector3_Index` INT NOT NULL,
  71.   `Vector3_X` FLOAT NOT NULL,
  72.   `Vector3_Y` FLOAT NOT NULL,
  73.   `Vector3_Z` FLOAT NOT NULL,
  74.   PRIMARY KEY (`Vector3_Index`))
  75. ENGINE = InnoDB;
  76.  
  77.  
  78. -- -----------------------------------------------------
  79. -- Table `schema_test`.`Transforms`
  80. -- -----------------------------------------------------
  81. CREATE TABLE IF NOT EXISTS `schema_test`.`Transforms` (
  82.   `Transform_Index` INT NOT NULL,
  83.   `Transform_Position` INT NOT NULL,
  84.   `Transform_Euler_Rotation` INT NOT NULL,
  85.   `Transform_Scale` INT NOT NULL,
  86.   PRIMARY KEY (`Transform_Index`, `Transform_Scale`, `Transform_Euler_Rotation`, `Transform_Position`),
  87.   INDEX `fk_Transform_Position_idx` (`Transform_Position` ASC) ,
  88.   INDEX `fk_Transform_Euler_Rotation_idx` (`Transform_Euler_Rotation` ASC) ,
  89.   INDEX `fk_Transform_Scale_idx` (`Transform_Scale` ASC) ,
  90.   CONSTRAINT `fk_Transform_Position`
  91.     FOREIGN KEY (`Transform_Position`)
  92.     REFERENCES `schema_test`.`Vector3` (`Vector3_Index`)
  93.     ON DELETE CASCADE
  94.     ON UPDATE CASCADE,
  95.   CONSTRAINT `fk_Transform_Euler_Rotation`
  96.     FOREIGN KEY (`Transform_Euler_Rotation`)
  97.     REFERENCES `schema_test`.`Vector3` (`Vector3_Index`)
  98.     ON DELETE CASCADE
  99.     ON UPDATE CASCADE,
  100.   CONSTRAINT `fk_Transform_Scale`
  101.     FOREIGN KEY (`Transform_Scale`)
  102.     REFERENCES `schema_test`.`Vector3` (`Vector3_Index`)
  103.     ON DELETE CASCADE
  104.     ON UPDATE CASCADE)
  105. ENGINE = InnoDB;
  106.  
  107.  
  108. -- -----------------------------------------------------
  109. -- Table `schema_test`.`Characters`
  110. -- -----------------------------------------------------
  111. CREATE TABLE IF NOT EXISTS `schema_test`.`Characters` (
  112.   `Character_Index` INT NOT NULL AUTO_INCREMENT,
  113.   `Character_Stats` INT NOT NULL,
  114.   `Character_Transform` INT NOT NULL,
  115.   `Character_Name` VARCHAR(64) NOT NULL,
  116.   `Character_Sect` INT NOT NULL,
  117.   `Character_Trade` INT NULL,
  118.   PRIMARY KEY (`Character_Index`, `Character_Stats`, `Character_Transform`),
  119.   INDEX `fk_Characters_Sect_idx` (`Character_Sect` ASC) ,
  120.   INDEX `fk_Characters_Trade_idx` (`Character_Trade` ASC) ,
  121.   INDEX `fk_Characters_Stats_idx` (`Character_Stats` ASC) ,
  122.   INDEX `fk_Characters_Transform_idx` (`Character_Transform` ASC) ,
  123.   CONSTRAINT `fk_Characters_Sect`
  124.     FOREIGN KEY (`Character_Sect`)
  125.     REFERENCES `schema_test`.`Sects` (`Sect_Index`)
  126.     ON DELETE CASCADE
  127.     ON UPDATE CASCADE,
  128.   CONSTRAINT `fk_Characters_Trade`
  129.     FOREIGN KEY (`Character_Trade`)
  130.     REFERENCES `schema_test`.`Trades` (`Trade_Index`)
  131.     ON DELETE CASCADE
  132.     ON UPDATE CASCADE,
  133.   CONSTRAINT `fk_Characters_Stats`
  134.     FOREIGN KEY (`Character_Stats`)
  135.     REFERENCES `schema_test`.`Stats` (`Stat_Index`)
  136.     ON DELETE CASCADE
  137.     ON UPDATE CASCADE,
  138.   CONSTRAINT `fk_Characters_Transform`
  139.     FOREIGN KEY (`Character_Transform`)
  140.     REFERENCES `schema_test`.`Transforms` (`Transform_Index`)
  141.     ON DELETE CASCADE
  142.     ON UPDATE CASCADE)
  143. ENGINE = InnoDB;
  144.  
  145.  
  146. -- -----------------------------------------------------
  147. -- Table `schema_test`.`Communities`
  148. -- -----------------------------------------------------
  149. CREATE TABLE IF NOT EXISTS `schema_test`.`Communities` (
  150.   `Community_Index` INT NOT NULL AUTO_INCREMENT,
  151.   `Community_Transform` INT NOT NULL,
  152.   `Community_Name` VARCHAR(64) NOT NULL,
  153.   `Community_Predominant_Sect` INT NOT NULL,
  154.   PRIMARY KEY (`Community_Index`, `Community_Transform`),
  155.   INDEX `fk_Communities_Predominant_Sect1_idx` (`Community_Predominant_Sect` ASC) ,
  156.   INDEX `fk_Communities_Transform_idx` (`Community_Transform` ASC) ,
  157.   CONSTRAINT `fk_Communities_Predominant_Sect1`
  158.     FOREIGN KEY (`Community_Predominant_Sect`)
  159.     REFERENCES `schema_test`.`Sects` (`Sect_Index`)
  160.     ON DELETE CASCADE
  161.     ON UPDATE CASCADE,
  162.   CONSTRAINT `fk_Communities_Transform`
  163.     FOREIGN KEY (`Community_Transform`)
  164.     REFERENCES `schema_test`.`Transforms` (`Transform_Index`)
  165.     ON DELETE CASCADE
  166.     ON UPDATE CASCADE)
  167. ENGINE = InnoDB;
  168.  
  169.  
  170. -- -----------------------------------------------------
  171. -- Table `schema_test`.`Professions`
  172. -- -----------------------------------------------------
  173. CREATE TABLE IF NOT EXISTS `schema_test`.`Professions` (
  174.   `Profession_Index` INT NOT NULL AUTO_INCREMENT,
  175.   `Professions_Trade` INT NOT NULL,
  176.   `Profession_Name` VARCHAR(64) NOT NULL,
  177.   `Profession_Proficiency` FLOAT NOT NULL,
  178.   PRIMARY KEY (`Profession_Index`, `Professions_Trade`),
  179.   INDEX `fk_Professions_Trade_idx` (`Professions_Trade` ASC) ,
  180.   CONSTRAINT `fk_Professions_Trade`
  181.     FOREIGN KEY (`Professions_Trade`)
  182.     REFERENCES `schema_test`.`Trades` (`Trade_Index`)
  183.     ON DELETE CASCADE
  184.     ON UPDATE CASCADE)
  185. ENGINE = InnoDB;
  186.  
  187.  
  188. -- -----------------------------------------------------
  189. -- Table `schema_test`.`Building_Classifications`
  190. -- -----------------------------------------------------
  191. CREATE TABLE IF NOT EXISTS `schema_test`.`Building_Classifications` (
  192.   `Building_Classifications_Index` INT NOT NULL,
  193.   `Building_Classifications_Name` VARCHAR(64) NOT NULL,
  194.   PRIMARY KEY (`Building_Classifications_Index`))
  195. ENGINE = InnoDB;
  196.  
  197.  
  198. -- -----------------------------------------------------
  199. -- Table `schema_test`.`Buildings`
  200. -- -----------------------------------------------------
  201. CREATE TABLE IF NOT EXISTS `schema_test`.`Buildings` (
  202.   `Building_Index` INT NOT NULL AUTO_INCREMENT,
  203.   `Building_Owner` INT NOT NULL,
  204.   `Building_Classification` INT NOT NULL,
  205.   `Building_Transform` INT NOT NULL,
  206.   `Buildings_Trade` INT NULL,
  207.   PRIMARY KEY (`Building_Index`, `Building_Owner`, `Building_Classification`, `Building_Transform`),
  208.   INDEX `fk_Buildings_Trade_idx` (`Buildings_Trade` ASC) ,
  209.   INDEX `fk_Buildings_Owner_idx` (`Building_Owner` ASC) ,
  210.   INDEX `fk_Buildings_Building_Classification_idx` (`Building_Classification` ASC) ,
  211.   INDEX `fk_Buildings_Transform_idx` (`Building_Transform` ASC) ,
  212.   CONSTRAINT `fk_Buildings_Trade`
  213.     FOREIGN KEY (`Buildings_Trade`)
  214.     REFERENCES `schema_test`.`Trades` (`Trade_Index`)
  215.     ON DELETE CASCADE
  216.     ON UPDATE CASCADE,
  217.   CONSTRAINT `fk_Buildings_Owner`
  218.     FOREIGN KEY (`Building_Owner`)
  219.     REFERENCES `schema_test`.`Characters` (`Character_Index`)
  220.     ON DELETE CASCADE
  221.     ON UPDATE CASCADE,
  222.   CONSTRAINT `fk_Buildings_Building_Classification`
  223.     FOREIGN KEY (`Building_Classification`)
  224.     REFERENCES `schema_test`.`Building_Classifications` (`Building_Classifications_Index`)
  225.     ON DELETE CASCADE
  226.     ON UPDATE CASCADE,
  227.   CONSTRAINT `fk_Buildings_Position`
  228.     FOREIGN KEY (`Building_Transform`)
  229.     REFERENCES `schema_test`.`Transforms` (`Transform_Index`)
  230.     ON DELETE CASCADE
  231.     ON UPDATE CASCADE)
  232. ENGINE = InnoDB;
  233.  
  234.  
  235. -- -----------------------------------------------------
  236. -- Table `schema_test`.`Trades-Professions`
  237. -- -----------------------------------------------------
  238. CREATE TABLE IF NOT EXISTS `schema_test`.`Trades-Professions` (
  239.   `Trades_Trade_Index` INT NOT NULL,
  240.   `Professions_Profession_Index` INT NOT NULL,
  241.   `Professions_Professions_Trade` INT NOT NULL,
  242.   PRIMARY KEY (`Trades_Trade_Index`, `Professions_Profession_Index`, `Professions_Professions_Trade`),
  243.   INDEX `fk_Trades-Professions_Professions1_idx` (`Professions_Profession_Index` ASC, `Professions_Professions_Trade` ASC) ,
  244.   INDEX `fk_Trades-Professions_Trades1_idx` (`Trades_Trade_Index` ASC) ,
  245.   CONSTRAINT `fk_Trades-Professions_Trades1`
  246.     FOREIGN KEY (`Trades_Trade_Index`)
  247.     REFERENCES `schema_test`.`Trades` (`Trade_Index`)
  248.     ON DELETE CASCADE
  249.     ON UPDATE CASCADE,
  250.   CONSTRAINT `fk_Trades-Professions_Professions1`
  251.     FOREIGN KEY (`Professions_Profession_Index` , `Professions_Professions_Trade`)
  252.     REFERENCES `schema_test`.`Professions` (`Profession_Index` , `Professions_Trade`)
  253.     ON DELETE CASCADE
  254.     ON UPDATE CASCADE)
  255. ENGINE = InnoDB;
  256.  
  257.  
  258. -- -----------------------------------------------------
  259. -- Table `schema_test`.`Characters-Buildings`
  260. -- -----------------------------------------------------
  261. CREATE TABLE IF NOT EXISTS `schema_test`.`Characters-Buildings` (
  262.   `Characters_Character_Index` INT NOT NULL,
  263.   `Characters_Character_Stats` INT NOT NULL,
  264.   `Characters_Character_Transform` INT NOT NULL,
  265.   `Buildings_Building_Index` INT NOT NULL,
  266.   `Buildings_Building_Owner` INT NOT NULL,
  267.   `Buildings_Building_Classification` INT NOT NULL,
  268.   `Buildings_Building_Transform` INT NOT NULL,
  269.   PRIMARY KEY (`Characters_Character_Index`, `Characters_Character_Stats`, `Characters_Character_Transform`, `Buildings_Building_Index`, `Buildings_Building_Owner`, `Buildings_Building_Classification`, `Buildings_Building_Transform`),
  270.   INDEX `fk_Characters-Buildings_Buildings1_idx` (`Buildings_Building_Index` ASC, `Buildings_Building_Owner` ASC, `Buildings_Building_Classification` ASC, `Buildings_Building_Transform` ASC) ,
  271.   INDEX `fk_Characters-Buildings_Characters1_idx` (`Characters_Character_Index` ASC, `Characters_Character_Stats` ASC, `Characters_Character_Transform` ASC) ,
  272.   CONSTRAINT `fk_Characters-Buildings_Characters1`
  273.     FOREIGN KEY (`Characters_Character_Index` , `Characters_Character_Stats` , `Characters_Character_Transform`)
  274.     REFERENCES `schema_test`.`Characters` (`Character_Index` , `Character_Stats` , `Character_Transform`)
  275.     ON DELETE CASCADE
  276.     ON UPDATE CASCADE,
  277.   CONSTRAINT `fk_Characters-Buildings_Buildings1`
  278.     FOREIGN KEY (`Buildings_Building_Index` , `Buildings_Building_Owner` , `Buildings_Building_Classification` , `Buildings_Building_Transform`)
  279.     REFERENCES `schema_test`.`Buildings` (`Building_Index` , `Building_Owner` , `Building_Classification` , `Building_Transform`)
  280.     ON DELETE CASCADE
  281.     ON UPDATE CASCADE)
  282. ENGINE = InnoDB;
  283.  
  284.  
  285. -- -----------------------------------------------------
  286. -- Table `schema_test`.`Characters-Professions`
  287. -- -----------------------------------------------------
  288. CREATE TABLE IF NOT EXISTS `schema_test`.`Characters-Professions` (
  289.   `Characters_Character_Index` INT NOT NULL,
  290.   `Characters_Character_Stats` INT NOT NULL,
  291.   `Characters_Character_Transform` INT NOT NULL,
  292.   `Professions_Profession_Index` INT NOT NULL,
  293.   `Professions_Professions_Trade` INT NOT NULL,
  294.   PRIMARY KEY (`Characters_Character_Index`, `Characters_Character_Stats`, `Characters_Character_Transform`, `Professions_Profession_Index`, `Professions_Professions_Trade`),
  295.   INDEX `fk_Characters-Professions_Professions1_idx` (`Professions_Profession_Index` ASC, `Professions_Professions_Trade` ASC) ,
  296.   INDEX `fk_Characters-Professions_Characters1_idx` (`Characters_Character_Index` ASC, `Characters_Character_Stats` ASC, `Characters_Character_Transform` ASC) ,
  297.   CONSTRAINT `fk_Characters-Professions_Characters1`
  298.     FOREIGN KEY (`Characters_Character_Index` , `Characters_Character_Stats` , `Characters_Character_Transform`)
  299.     REFERENCES `schema_test`.`Characters` (`Character_Index` , `Character_Stats` , `Character_Transform`)
  300.     ON DELETE CASCADE
  301.     ON UPDATE CASCADE,
  302.   CONSTRAINT `fk_Characters-Professions_Professions1`
  303.     FOREIGN KEY (`Professions_Profession_Index` , `Professions_Professions_Trade`)
  304.     REFERENCES `schema_test`.`Professions` (`Profession_Index` , `Professions_Trade`)
  305.     ON DELETE CASCADE
  306.     ON UPDATE CASCADE)
  307. ENGINE = InnoDB;
  308.  
  309.  
  310. -- -----------------------------------------------------
  311. -- Table `schema_test`.`Characters-Communities`
  312. -- -----------------------------------------------------
  313. CREATE TABLE IF NOT EXISTS `schema_test`.`Characters-Communities` (
  314.   `Characters_Character_Index` INT NOT NULL,
  315.   `Characters_Character_Stats` INT NOT NULL,
  316.   `Characters_Character_Transform` INT NOT NULL,
  317.   `Communities_Community_Index` INT NOT NULL,
  318.   `Communities_Community_Transform` INT NOT NULL,
  319.   PRIMARY KEY (`Characters_Character_Index`, `Characters_Character_Stats`, `Characters_Character_Transform`, `Communities_Community_Index`, `Communities_Community_Transform`),
  320.   INDEX `fk_Characters-Communities_Communities1_idx` (`Communities_Community_Index` ASC, `Communities_Community_Transform` ASC) ,
  321.   INDEX `fk_Characters-Communities_Characters1_idx` (`Characters_Character_Index` ASC, `Characters_Character_Stats` ASC, `Characters_Character_Transform` ASC) ,
  322.   CONSTRAINT `fk_Characters-Communities_Characters1`
  323.     FOREIGN KEY (`Characters_Character_Index` , `Characters_Character_Stats` , `Characters_Character_Transform`)
  324.     REFERENCES `schema_test`.`Characters` (`Character_Index` , `Character_Stats` , `Character_Transform`)
  325.     ON DELETE CASCADE
  326.     ON UPDATE CASCADE,
  327.   CONSTRAINT `fk_Characters-Communities_Communities1`
  328.     FOREIGN KEY (`Communities_Community_Index` , `Communities_Community_Transform`)
  329.     REFERENCES `schema_test`.`Communities` (`Community_Index` , `Community_Transform`)
  330.     ON DELETE CASCADE
  331.     ON UPDATE CASCADE)
  332. ENGINE = InnoDB;
  333.  
  334.  
  335. -- -----------------------------------------------------
  336. -- Table `schema_test`.`Users-Characters`
  337. -- -----------------------------------------------------
  338. CREATE TABLE IF NOT EXISTS `schema_test`.`Users-Characters` (
  339.   `Users_User_Index` INT NOT NULL,
  340.   `Characters_Character_Index` INT NOT NULL,
  341.   `Characters_Character_Stats` INT NOT NULL,
  342.   `Characters_Character_Transform` INT NOT NULL,
  343.   PRIMARY KEY (`Users_User_Index`, `Characters_Character_Index`, `Characters_Character_Stats`, `Characters_Character_Transform`),
  344.   INDEX `fk_Users-Characters_Characters1_idx` (`Characters_Character_Index` ASC, `Characters_Character_Stats` ASC, `Characters_Character_Transform` ASC) ,
  345.   INDEX `fk_Users-Characters_Users1_idx` (`Users_User_Index` ASC) ,
  346.   CONSTRAINT `fk_Users-Characters_Users1`
  347.     FOREIGN KEY (`Users_User_Index`)
  348.     REFERENCES `schema_test`.`Users` (`User_Index`)
  349.     ON DELETE CASCADE
  350.     ON UPDATE CASCADE,
  351.   CONSTRAINT `fk_Users-Characters_Characters1`
  352.     FOREIGN KEY (`Characters_Character_Index` , `Characters_Character_Stats` , `Characters_Character_Transform`)
  353.     REFERENCES `schema_test`.`Characters` (`Character_Index` , `Character_Stats` , `Character_Transform`)
  354.     ON DELETE CASCADE
  355.     ON UPDATE CASCADE)
  356. ENGINE = InnoDB;
  357.  
  358.  
  359. -- -----------------------------------------------------
  360. -- Table `schema_test`.`Communities-Buildings`
  361. -- -----------------------------------------------------
  362. CREATE TABLE IF NOT EXISTS `schema_test`.`Communities-Buildings` (
  363.   `Communities_Community_Index` INT NOT NULL,
  364.   `Communities_Community_Transform` INT NOT NULL,
  365.   `Buildings_Building_Index` INT NOT NULL,
  366.   `Buildings_Building_Owner` INT NOT NULL,
  367.   `Buildings_Building_Classification` INT NOT NULL,
  368.   `Buildings_Building_Transform` INT NOT NULL,
  369.   PRIMARY KEY (`Communities_Community_Index`, `Communities_Community_Transform`, `Buildings_Building_Index`, `Buildings_Building_Owner`, `Buildings_Building_Classification`, `Buildings_Building_Transform`),
  370.   INDEX `fk_Communities-Buildings_Buildings1_idx` (`Buildings_Building_Index` ASC, `Buildings_Building_Owner` ASC, `Buildings_Building_Classification` ASC, `Buildings_Building_Transform` ASC) ,
  371.   INDEX `fk_Communities-Buildings_Communities1_idx` (`Communities_Community_Index` ASC, `Communities_Community_Transform` ASC) ,
  372.   CONSTRAINT `fk_Communities-Buildings_Communities1`
  373.     FOREIGN KEY (`Communities_Community_Index` , `Communities_Community_Transform`)
  374.     REFERENCES `schema_test`.`Communities` (`Community_Index` , `Community_Transform`)
  375.     ON DELETE CASCADE
  376.     ON UPDATE CASCADE,
  377.   CONSTRAINT `fk_Communities-Buildings_Buildings1`
  378.     FOREIGN KEY (`Buildings_Building_Index` , `Buildings_Building_Owner` , `Buildings_Building_Classification` , `Buildings_Building_Transform`)
  379.     REFERENCES `schema_test`.`Buildings` (`Building_Index` , `Building_Owner` , `Building_Classification` , `Building_Transform`)
  380.     ON DELETE CASCADE
  381.     ON UPDATE CASCADE)
  382. ENGINE = InnoDB;
  383.  
  384.  
  385. -- -----------------------------------------------------
  386. -- Table `schema_test`.`Communities-Available-Professions`
  387. -- -----------------------------------------------------
  388. CREATE TABLE IF NOT EXISTS `schema_test`.`Communities-Available-Professions` (
  389.   `Communities_Community_Index` INT NOT NULL,
  390.   `Communities_Community_Transform` INT NOT NULL,
  391.   `Professions_Profession_Index` INT NOT NULL,
  392.   `Professions_Professions_Trade` INT NOT NULL,
  393.   PRIMARY KEY (`Communities_Community_Index`, `Communities_Community_Transform`, `Professions_Profession_Index`, `Professions_Professions_Trade`),
  394.   INDEX `fk_Communities-Professions_Professions1_idx` (`Professions_Profession_Index` ASC, `Professions_Professions_Trade` ASC) ,
  395.   INDEX `fk_Communities-Professions_Communities1_idx` (`Communities_Community_Index` ASC, `Communities_Community_Transform` ASC) ,
  396.   CONSTRAINT `fk_Communities-Professions_Communities1`
  397.     FOREIGN KEY (`Communities_Community_Index` , `Communities_Community_Transform`)
  398.     REFERENCES `schema_test`.`Communities` (`Community_Index` , `Community_Transform`)
  399.     ON DELETE CASCADE
  400.     ON UPDATE CASCADE,
  401.   CONSTRAINT `fk_Communities-Professions_Professions1`
  402.     FOREIGN KEY (`Professions_Profession_Index` , `Professions_Professions_Trade`)
  403.     REFERENCES `schema_test`.`Professions` (`Profession_Index` , `Professions_Trade`)
  404.     ON DELETE CASCADE
  405.     ON UPDATE CASCADE)
  406. ENGINE = InnoDB;
  407.  
  408. USE `schema_test` ;
  409.  
  410. -- -----------------------------------------------------
  411. -- procedure Login
  412. -- -----------------------------------------------------
  413.  
  414. DELIMITER $$
  415. USE `schema_test`$$
  416. CREATE DEFINER=`root`@`localhost` PROCEDURE `Login`(IN `inUsername` VARCHAR(64), IN `inPassword` VARCHAR(64))
  417.     READS SQL DATA
  418. BEGIN
  419.     IF NOT EXISTS (SELECT * FROM users WHERE User_Username=inUsername AND User_Password=inPassword) THEN
  420.         SIGNAL SQLSTATE '45000'
  421.         SET MESSAGE_TEXT = 'Login Failed';
  422.     END IF;
  423. END$$
  424.  
  425. DELIMITER ;
  426.  
  427. -- -----------------------------------------------------
  428. -- procedure Register
  429. -- -----------------------------------------------------
  430.  
  431. DELIMITER $$
  432. USE `schema_test`$$
  433. CREATE DEFINER=`root`@`localhost` PROCEDURE `Register`(IN inName VARCHAR(64), IN inUsername VARCHAR(64), IN inEmail VARCHAR(255), IN inPassword VARCHAR(64))
  434. BEGIN
  435.     IF NOT EXISTS (SELECT User_Username FROM users WHERE User_Username=inUsername) THEN
  436.         INSERT INTO users (User_Name, User_Username, User_Email, User_Password) VALUES (inName, inUsername, inEmail, inPassword);
  437.     ELSE
  438.         SIGNAL SQLSTATE '45000'
  439.         SET MESSAGE_TEXT = 'Username is Already Taken';
  440.     END IF;
  441. END$$
  442.  
  443. DELIMITER ;
  444.  
  445. GRANT ALL ON `schema_test`.* TO 'account_test';
  446. GRANT SELECT ON TABLE `schema_test`.* TO 'account_test';
  447. GRANT SELECT, INSERT, TRIGGER ON TABLE `schema_test`.* TO 'account_test';
  448. GRANT SELECT, INSERT, TRIGGER, UPDATE, DELETE ON TABLE `schema_test`.* TO 'account_test';
  449. GRANT ALTER ROUTINE, EXECUTE ON PROCEDURE `schema_test`.`Login` TO 'account_test'@'%' WITH GRANT OPTION;
  450. GRANT ALL ON `schema_test`.* TO 'root';
  451. GRANT SELECT ON TABLE `schema_test`.* TO 'root';
  452. GRANT SELECT, INSERT, TRIGGER ON TABLE `schema_test`.* TO 'root';
  453. GRANT SELECT, INSERT, TRIGGER, UPDATE, DELETE ON TABLE `schema_test`.* TO 'root';
  454. GRANT ALTER ROUTINE, EXECUTE ON PROCEDURE `schema_test`.`Login` TO 'root'@'%' WITH GRANT OPTION;
  455.  
  456. SET SQL_MODE=@OLD_SQL_MODE;
  457. SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
  458. SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement