Advertisement
Guest User

Untitled

a guest
Oct 25th, 2014
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.67 KB | None | 0 0
  1. DROP DATABASE technology_university_hospital;
  2. CREATE DATABASE technology_university_hospital;
  3. USE Technology_University_Hospital;
  4.  
  5. CREATE TABLE Employee (
  6. /* Staff_Number Auto Increment for every new Staff */
  7. Staff_Number INT(9) NOT NULL AUTO_INCREMENT,
  8. /*
  9. Depending of what the Staff_Type is it will determine their type
  10. Since there aren't much Staff_Type the max letter int will be one
  11. */
  12.  
  13. Staff_Type INT(24) NOT NULL, INDEX(Staff_Type),
  14. /*
  15. Since there is a slight possibility that the Staff_Number might be the same when deleted,
  16. We will have Contact_Number as a primary key aswell
  17. */
  18. Employee_Contact_Number INT(24) NOT NULL,
  19. Employee_First_Name VARCHAR(24) NOT NULL,
  20. Employee_Last_Name VARCHAR(24) NOT NULL,
  21. Employee_Gender VARCHAR(1) NOT NULL,
  22.  
  23. PRIMARY KEY(Staff_Number, Employee_Contact_Number)
  24. );
  25.  
  26. CREATE TABLE Doctor (
  27. Staff_Number INT(9),
  28. Staff_Type INT(24), INDEX(Staff_Type),
  29.  
  30. Salary INT(255),
  31. Address VARCHAR(75),
  32. Doctor_Types VARCHAR(38),
  33.  
  34. PRIMARY KEY (Staff_Number),
  35. CONSTRAINT FOREIGN KEY (Staff_Number) REFERENCES Employee(Staff_Number) ON DELETE CASCADE ON UPDATE CASCADE,
  36. CONSTRAINT FOREIGN KEY (Staff_Type) REFERENCES Employee(Staff_Type) ON DELETE CASCADE ON UPDATE CASCADE
  37.  
  38. );
  39. /*
  40. CREATE TABLE Intern (
  41.  
  42. );
  43. CREATE TABLE House_Officers (
  44.  
  45. );
  46. CREATE TABLE Registrars (
  47.  
  48. );
  49. CREATE TABLE Staff_Specialist (
  50.  
  51. );
  52. CREATE TABLE Visiting_Medical_Officers (
  53.  
  54. );
  55. */
  56. CREATE TABLE Doctor (
  57. Staff_Number INT(9),
  58. Staff_Type INT(24), INDEX(Staff_Type),
  59.  
  60. Salary INT(255),
  61. Address VARCHAR(75),
  62. Doctor_Types VARCHAR(38),
  63.  
  64. PRIMARY KEY (Staff_Number),
  65. CONSTRAINT FOREIGN KEY (Staff_Number) REFERENCES Employee(Staff_Number) ON DELETE CASCADE ON UPDATE CASCADE,
  66. CONSTRAINT FOREIGN KEY (Staff_Type) REFERENCES Employee(Staff_Type) ON DELETE CASCADE ON UPDATE CASCADE
  67.  
  68. );
  69. /*
  70. CREATE TABLE Intern (
  71.  
  72. );
  73. CREATE TABLE House_Officers (
  74.  
  75. );
  76. CREATE TABLE Registrars (
  77.  
  78. );
  79. CREATE TABLE Staff_Specialist (
  80.  
  81. );
  82. CREATE TABLE Visiting_Medical_Officers (
  83.  
  84. );
  85. */
  86. CREATE TABLE Nurses (
  87. Staff_Number INT(9),
  88. Staff_Type INT(20),
  89.  
  90. Salary INT(255),
  91. Address VARCHAR(75),
  92.  
  93. PRIMARY KEY (Staff_Number),
  94. CONSTRAINT FOREIGN KEY (Staff_Number) REFERENCES Employee(Staff_Number) ON DELETE CASCADE ON UPDATE CASCADE,
  95. CONSTRAINT FOREIGN KEY (Staff_Type) REFERENCES Employee(Staff_Type) ON DELETE CASCADE ON UPDATE CASCADE
  96.  
  97. );
  98. CREATE TABLE Ward (
  99. Staff_Number INT(9) NOT NULL,
  100. Ward_ID INT(9) NOT NULL,
  101.  
  102. Ward_Name VARCHAR(24) NOT NULL,
  103. Room_Type VARCHAR(7) NOT NULL, INDEX(Room_Type),
  104. Bed_ID INT(9) NOT NULL, INDEX(Bed_ID),
  105.  
  106.  
  107. PRIMARY KEY (Staff_Number, Ward_ID, Bed_ID),
  108. CONSTRAINT FOREIGN KEY (Staff_Number) REFERENCES Nurses(Staff_Number) ON DELETE CASCADE ON UPDATE CASCADE
  109.  
  110. );
  111. CREATE TABLE Private (
  112. Room_Type VARCHAR(7) NOT NULL,
  113.  
  114. Bed_ID INT(9) NOT NULL,
  115. /* Medical, Surgical, Intensive Care, Psychiatric */
  116. Discipline VARCHAR(24) NOT NULL,
  117. Special_Information VARCHAR(255),
  118.  
  119. PRIMARY KEY (Bed_ID),
  120. CONSTRAINT FOREIGN KEY (Bed_ID) REFERENCES Ward(Bed_ID) ON DELETE CASCADE ON UPDATE CASCADE,
  121. CONSTRAINT FOREIGN KEY (Room_Type) REFERENCES Ward(Room_Type) ON DELETE CASCADE ON UPDATE CASCADE
  122. );
  123. CREATE TABLE Shared (
  124. Room_Type VARCHAR(7) NOT NULL,
  125.  
  126. Bed_ID INT(9) NOT NULL,
  127. /* Medical, Surgical, Intensive Care, Psychiatric */
  128. Discipline VARCHAR(24),
  129. Special_Information VARCHAR(255),
  130.  
  131. PRIMARY KEY (Bed_ID),
  132. CONSTRAINT FOREIGN KEY (Bed_ID) REFERENCES Ward(Bed_ID) ON DELETE CASCADE ON UPDATE CASCADE,
  133. CONSTRAINT FOREIGN KEY (Room_Type) REFERENCES Ward(Room_Type) ON DELETE CASCADE ON UPDATE CASCADE,
  134. );
  135.  
  136. CREATE TABLE Administration_Staff (
  137. Staff_Number INT(9),
  138.  
  139. Salary INT(255),
  140. Address VARCHAR(75),
  141.  
  142.  
  143.  
  144. PRIMARY KEY (Staff_Number),
  145. CONSTRAINT FOREIGN KEY (Staff_Number) REFERENCES Employee(Staff_Number) ON DELETE CASCADE ON UPDATE CASCADE
  146.  
  147.  
  148. );
  149. CREATE TABLE Patients (
  150. Staff_Number INT(9),
  151. Patient_ID INT(9) NOT NULL,
  152.  
  153. Patient_First_Name VARCHAR(24) NOT NULL,
  154. Patient_Middle_Name VARCHAR(24) NOT NULL,
  155. Patient_Last_Name VARCHAR(24) NOT NULL,
  156. Patient_Gender VARCHAR(1) NOT NULL,
  157. Date_Of_Birth DATE NOT NULL,
  158. Patient_Contact_Number INT(24) NOT NULL,
  159. Patient_Address VARCHAR(75) NOT NULL,
  160. Patient_Emergency_Contact_Name VARCHAR(24) NOT NULL,
  161. Patient_Emergency_Contact_Number INT(24) NOT NULL,
  162. Parient_Insurer VARCHAR(24) NOT NULL,
  163. Patient_Medicare_Number INT(24) NOT NULL,
  164.  
  165.  
  166. PRIMARY KEY(Patient_ID),
  167. CONSTRAINT FOREIGN KEY (Staff_Number) REFERENCES Administration_Staff(Staff_Number) ON DELETE CASCADE ON UPDATE CASCADE
  168. );
  169. CREATE TABLE Medical_Records (
  170. Patient_ID INT(9),
  171.  
  172. Staff_Number INT(9),
  173. Date_Of_Treatment DATE,
  174. Treatments_Given VARCHAR(255),
  175. Ward_Type VARCHAR(24),
  176. Ward_Name VARCHAR(24),
  177. Ward_ID INT(24),
  178. Bed_ID INT(24),
  179. Patient_Diagnosis VARCHAR(255) NOT NULL,
  180.  
  181. PRIMARY KEY(Patient_ID),
  182. CONSTRAINT FOREIGN KEY (Patient_ID) REFERENCES Patients(Patient_ID) ON DELETE CASCADE ON UPDATE CASCADE,
  183. CONSTRAINT FOREIGN KEY (Ward_Type) REFERENCES Ward(Ward_Type) ON DELETE CASCADE ON UPDATE CASCADE,
  184. CONSTRAINT FOREIGN KEY (Ward_Name) REFERENCES Ward(Ward_Name) ON DELETE CASCADE ON UPDATE CASCADE,
  185. CONSTRAINT FOREIGN KEY (Ward_ID) REFERENCES Ward(Ward_ID) ON DELETE CASCADE ON UPDATE CASCADE,
  186. CONSTRAINT FOREIGN KEY (Bed_ID) REFERENCES Ward(Bed_ID) ON DELETE CASCADE ON UPDATE CASCADE
  187. );
  188. CREATE TABLE Admission (
  189. Patient_ID INT(9),
  190.  
  191. Ward_ID INT(9),
  192. /* Don't know if Ward_Type is needed */
  193. Bed_ID INT(9),
  194. Staff_Number INT(9),
  195.  
  196. PRIMARY KEY (Patient_ID),
  197. CONSTRAINT FOREIGN KEY (Patient_ID) REFERENCES Patients(Patient_ID) ON DELETE CASCADE ON UPDATE CASCADE,
  198. CONSTRAINT FOREIGN KEY (Ward_ID) REFERENCES Ward(Ward_ID) ON DELETE CASCADE ON UPDATE CASCADE,
  199. CONSTRAINT FOREIGN KEY (Bed_ID) REFERENCES Ward(Bed_ID) ON DELETE CASCADE ON UPDATE CASCADE,
  200. CONSTRAINT FOREIGN KEY (Staff_Number) REFERENCES Medical_Records(Staff_Number) ON DELETE CASCADE ON UPDATE CASCADE
  201. );
  202. CREATE TABLE Invoice (
  203. Patient_ID INT(9),
  204.  
  205. Prescribed VARCHAR(255),
  206. Treatments VARCHAR(255),
  207. Hospital_Costs Int(255),
  208.  
  209. PRIMARY KEY (Patient_ID),
  210. CONSTRAINT FOREIGN KEY (Patient_ID) REFERENCES Patients(Patient_ID) ON DELETE CASCADE ON UPDATE CASCADE
  211. );
  212. CREATE TABLE Medicines (
  213. Patient_ID INT(9),
  214.  
  215. Generic_Name VARCHAR(24),
  216. Brand_Name VARCHAR(24),
  217. Manufacturer VARCHAR(24),
  218. Price_Per_Unit INT(255),
  219. Quantity_In_Stock INT(255),
  220. Administration_Method VARCHAR(255),
  221.  
  222. PRIMARY KEY (Generic_Name),
  223. CONSTRAINT FOREIGN KEY (Patient_ID) REFERENCES Patients(Patient_ID) ON DELETE CASCADE ON UPDATE CASCADE,
  224. );
  225. CREATE TABLE Pharmacy_Staff (
  226. Staff_Number INT(9),
  227. Staff_Type INT(20),
  228.  
  229. Salary INT(255),
  230. Address VARCHAR(75),
  231.  
  232.  
  233. PRIMARY KEY (Staff_Number),
  234. CONSTRAINT FOREIGN KEY (Staff_Number) REFERENCES Employee(Staff_Number) ON DELETE CASCADE ON UPDATE CASCADE
  235. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement