Advertisement
Guest User

Untitled

a guest
May 15th, 2018
450
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.55 KB | None | 0 0
  1. /* Drop old DB and create a new one */
  2. DROP SCHEMA IF EXISTS `ARrive`;
  3. CREATE DATABASE `ARrive`;
  4. USE `ARrive`;
  5.  
  6. /* Create tables */
  7. CREATE TABLE Location (
  8. ID INT NOT NULL AUTO_INCREMENT,
  9. Latitude DOUBLE NOT NULL,
  10. Longitude DOUBLE NOT NULL,
  11. Address VARCHAR(64) NOT NULL,
  12.  
  13. PRIMARY KEY (ID)
  14. );
  15.  
  16. CREATE TABLE Image (
  17. ID INT NOT NULL,
  18. Data BLOB NOT NULL,
  19. Location VARCHAR(30) NOT NULL,
  20. Description VARCHAR(99) NOT NULL,
  21.  
  22. PRIMARY KEY (ID)
  23. );
  24.  
  25. CREATE TABLE Purchased_Cities (
  26. ID INT NOT NULL AUTO_INCREMENT,
  27. Customer_ID INT NOT NULL,
  28. City_ID INT NOT NULL,
  29.  
  30. PRIMARY KEY (ID)
  31. );
  32.  
  33. CREATE TABLE Customer (
  34. ID INT NOT NULL AUTO_INCREMENT,
  35. First_Name VARCHAR(32) NOT NULL,
  36. Last_Name VARCHAR(32) NOT NULL,
  37. Email_Address VARCHAR(66) NOT NULL,
  38.  
  39. PRIMARY KEY (ID)
  40. );
  41.  
  42. CREATE TABLE Customer_Locations_Join (
  43. ID INT NOT NULL AUTO_INCREMENT,
  44. Customer_ID INT,
  45. Location_ID INT,
  46. Card INT,
  47.  
  48. PRIMARY KEY (`ID`)
  49. );
  50.  
  51. CREATE TABLE Card (
  52. ID INT NOT NULL AUTO_INCREMENT,
  53. Number VARCHAR(16) NOT NULL,
  54. Name_On_Card VARCHAR(15) NOT NULL,
  55.  
  56. PRIMARY KEY (ID)
  57. );
  58.  
  59. /* Set storage engine for relational view (Important) */
  60. ALTER TABLE `Location` ENGINE = InnoDB;
  61. ALTER TABLE `Image` ENGINE = InnoDB;
  62. ALTER TABLE `Purchased_Cities` ENGINE = InnoDB;
  63. ALTER TABLE `Customer` ENGINE = InnoDB;
  64. ALTER TABLE `Customer_Locations_Join` ENGINE = InnoDB;
  65. ALTER TABLE `Card` ENGINE = InnoDB;
  66.  
  67. /* Assign foreign keys to tables */
  68. ALTER TABLE `Customer_Locations_Join` ADD CONSTRAINT `Customer_ID_FK` FOREIGN KEY (`Customer_ID`)
  69. REFERENCES `Customer`(`ID`) ON DELETE RESTRICT ON UPDATE RESTRICT;
  70. ALTER TABLE `Customer_Locations_Join` ADD CONSTRAINT `Location_ID_FK` FOREIGN KEY (`Location_ID`)
  71. REFERENCES `Location`(`ID`) ON DELETE RESTRICT ON UPDATE RESTRICT;
  72. ALTER TABLE `Customer_Locations_Join` ADD CONSTRAINT `Card_FK` FOREIGN KEY (`Card`)
  73. REFERENCES `Card`(`ID`) ON DELETE RESTRICT ON UPDATE RESTRICT;
  74.  
  75. ALTER TABLE `Purchased_Cities` ADD CONSTRAINT `Customer_ID_FoK` FOREIGN KEY (`Customer_ID`)
  76. REFERENCES `Customer`(`ID`) ON DELETE RESTRICT ON UPDATE RESTRICT;
  77. ALTER TABLE `Purchased_Cities` ADD CONSTRAINT `Location_ID_FoK` FOREIGN KEY (`City_ID`)
  78. REFERENCES `Location`(`ID`) ON DELETE RESTRICT ON UPDATE RESTRICT;
  79.  
  80. ALTER TABLE `Image` ADD CONSTRAINT `ID_FK` FOREIGN KEY (`ID`)
  81. REFERENCES `Location`(`ID`) ON DELETE RESTRICT ON UPDATE RESTRICT;
  82.  
  83. /* Populate tables */
  84. INSERT INTO `Customer` (`ID`, `First_Name`, `Last_Name`, `Email_Address`) VALUES ('1', 'McCauley', 'Hallam', 'mccauleyhallam@hotmail.com');
  85. INSERT INTO `Customer` (`ID`, `First_Name`, `Last_Name`, `Email_Address`) VALUES ('2', 'Alexis', 'Turner', 'alexisturner@gmail.com');
  86. INSERT INTO `Customer` (`ID`, `First_Name`, `Last_Name`, `Email_Address`) VALUES ('3', 'Noah', 'Jones', 'noahjones@gmail.com');
  87.  
  88. INSERT INTO `Card` (`ID`, `Number`, `Name_On_Card`) VALUES ('1', '4871099563721273', 'McCauley Hallam');
  89. INSERT INTO `Card` (`ID`, `Number`, `Name_On_Card`) VALUES ('2', '4850340092677726', 'Alexis Turner');
  90. INSERT INTO `Card` (`ID`, `Number`, `Name_On_Card`) VALUES ('3', '4255805492194796', 'Noah Jones');
  91.  
  92. INSERT INTO `Location` (`ID`, `Latitude`, `Longitude`, `Address`) VALUES ('1', '50.7234737', '-3.5319809999999734', 'The Guildhall, High Street, Exeter, UK');
  93. INSERT INTO `Location` (`ID`, `Latitude`, `Longitude`, `Address`) VALUES ('2', '50.7218301', '-3.5348527999999533', 'St Nicholas Priory, Fore Street, Exeter, UK');
  94. INSERT INTO `Location` (`ID`, `Latitude`, `Longitude`, `Address`) VALUES ('3', '50.722478', '-3.5373180000000275', 'St Bartholomew Cemetery, Exe Street, Exeter, UK');
  95.  
  96. /* Populate table with foreign keys */
  97. INSERT INTO `Customer_Locations_Join` (`ID`, `Customer_ID`, `Location_ID`, `Card`) VALUES ('1', '2', '1', '2');
  98. INSERT INTO `Customer_Locations_Join` (`ID`, `Customer_ID`, `Location_ID`, `Card`) VALUES ('2', '1', '3', '1');
  99. INSERT INTO `Customer_Locations_Join` (`ID`, `Customer_ID`, `Location_ID`, `Card`) VALUES ('3', '3', '2', '3');
  100.  
  101. INSERT INTO `Purchased_Cities` (`ID`, `Customer_ID`, `City_ID`) VALUES ('1', '1', '2');
  102. INSERT INTO `Purchased_Cities` (`ID`, `Customer_ID`, `City_ID`) VALUES ('2', '1', '1');
  103. INSERT INTO `Purchased_Cities` (`ID`, `Customer_ID`, `City_ID`) VALUES ('3', '1', '3');
  104. INSERT INTO `Purchased_Cities` (`ID`, `Customer_ID`, `City_ID`) VALUES ('4', '3', '1');
  105. INSERT INTO `Purchased_Cities` (`ID`, `Customer_ID`, `City_ID`) VALUES ('5', '3', '2');
  106. INSERT INTO `Purchased_Cities` (`ID`, `Customer_ID`, `City_ID`) VALUES ('6', '2', '3');
  107. INSERT INTO `Purchased_Cities` (`ID`, `Customer_ID`, `City_ID`) VALUES ('7', '2', '1');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement