Advertisement
jared314

DDL Create

Feb 18th, 2015
344
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 4.16 KB | None | 0 0
  1. -- NSCC Appication DDL Script
  2. -- Group 2
  3.  
  4. CREATE TABLE nscc_Campus(
  5. Campus_ID INTEGER PRIMARY KEY,
  6. Campus_Name VARCHAR(50) NOT NULL
  7. );
  8.  
  9. CREATE TABLE nscc_Program(
  10. Program_ID INTEGER PRIMARY KEY,
  11. Program_Name VARCHAR(100) NOT NULL,
  12. Active CHAR(1) NOT NULL                            
  13. );
  14.  
  15. CREATE TABLE nscc_Campus_Program(
  16. Program_ID INTEGER REFERENCES nscc_Program(Program_ID),
  17. Campus_ID INTEGER REFERENCES nscc_Campus(Campus_ID),
  18. PRIMARY KEY (Program_ID, Campus_ID)
  19. );
  20.  
  21. CREATE TABLE nscc_Country(
  22. Country_Code CHAR(2) PRIMARY KEY,
  23. Country_Name VARCHAR(50)
  24. );
  25.  
  26. CREATE TABLE nscc_Province_State(
  27. Province_State_Code CHAR(2),
  28. Country_Code CHAR(2) REFERENCES nscc_Country(Country_Code),
  29. PRIMARY KEY (Province_State_Code, Country_Code)
  30. );
  31.  
  32. CREATE TABLE nscc_Phone(
  33. Phone_ID INTEGER PRIMARY KEY,
  34. Phone_Number VARCHAR(20) NOT NULL,
  35. Is_Primary CHAR(1) NOT NULL
  36. );
  37.  
  38. CREATE TABLE nscc_Citizenship(
  39. Citizenship_ID INTEGER PRIMARY KEY,
  40. Description VARCHAR(100) NOT NULL
  41. );
  42.  
  43. CREATE TABLE nscc_Language(
  44. Language_ID INTEGER PRIMARY KEY,
  45. Language_Name VARCHAR(50) NOT NULL
  46. );
  47.  
  48. CREATE TABLE nscc_School_Type(
  49. School_Type_ID INTEGER PRIMARY KEY,
  50. Type_School VARCHAR(50)
  51. );
  52.  
  53. CREATE TABLE nscc_Applicant (
  54. Applicant_ID INTEGER PRIMARY KEY,
  55. SIN CHAR(9),
  56. FirstName VARCHAR(30) NOT NULL,
  57. MiddleName VARCHAR(30),
  58. LastName VARCHAR(30) NOT NULL,
  59. FirstName_Preferred VARCHAR(30),
  60. LastName_Previous VARCHAR(30),
  61. DOB DATE NOT NULL,
  62. Gender CHAR(1) NOT NULL CHECK (Gender IN ('0','1')),
  63. Apt_Number VARCHAR(10),
  64. Street_Address1 VARCHAR(50) NOT NULL,
  65. Street_Address2 VARCHAR(50),
  66. City VARCHAR(30) DEFAULT 'Halifax',
  67. County VARCHAR(30),
  68. Province_State_Code CHAR(2) DEFAULT 'NS',
  69. Province_State_Other VARCHAR(50),
  70. Country_Code CHAR(2) NOT NULL,
  71. Postal_Code VARCHAR(10) NOT NULL,
  72. Phone_Home_ID INTEGER NOT NULL,
  73. Phone_Work_ID INTEGER,
  74. Phone_Cell_ID INTEGER,
  75. Email VARCHAR(50) NOT NULL,
  76. StudentNumber CHAR(8) UNIQUE,
  77. Citizenship_ID INTEGER NOT NULL,
  78. Citizenship_Other_Country_Code CHAR(2),
  79. Criminal_Conviction CHAR(1) CHECK (Criminal_Conviction IN ('0','1')),
  80. Child_Abuse_Registry CHAR(1) CHECK (Child_Abuse_Registry IN ('0','1')),
  81. Disciplinary_Action CHAR(1) CHECK (Disciplinary_Action IN ('0','1')),
  82. African_Canadian CHAR(1) CHECK (African_Canadian IN ('0','1')),
  83. First_Nations CHAR(1) CHECK (First_Nations IN ('0','1')),
  84. Current_ALP CHAR(1) CHECK (Current_ALP IN ('0','1')),
  85. Has_Disability CHAR(1) CHECK (Has_Disability IN ('0','1')),
  86. FirstLanguage_ID INTEGER NOT NULL,
  87. FirstLanguage_Other VARCHAR(50)
  88. );
  89.  
  90. CREATE TABLE nscc_Application(
  91. Application_ID INTEGER PRIMARY KEY,
  92. Submit_Date DATE NOT NULL,
  93. Application_Fee NUMBER,
  94. Paid CHAR(1) NOT NULL,
  95. Applicant_ID NOT NULL REFERENCES nscc_Applicant(Applicant_ID)
  96. );
  97.  
  98. CREATE TABLE nscc_Program_Choice(
  99. Program_Choice_ID INTEGER PRIMARY KEY,
  100. Preference INTEGER NOT NULL,
  101. Application_ID INTEGER REFERENCES nscc_Application(Application_ID),
  102. Program_ID INTEGER REFERENCES nscc_Program(Program_ID),
  103. Campus_ID INTEGER REFERENCES nscc_Campus(Campus_ID)
  104. );
  105.  
  106. CREATE TABLE nscc_Education(
  107. Education_ID INTEGER PRIMARY KEY,
  108. School_Name VARCHAR(50),
  109. Date_Completed DATE,
  110. Location VARCHAR(100),
  111. School_Type INTEGER REFERENCES nscc_School_Type(School_Type_ID),
  112. Applicant_ID INTEGER REFERENCES nscc_Applicant(Applicant_ID)
  113. );
  114.  
  115. CREATE TABLE nscc_Payment(
  116. Payment_ID INTEGER PRIMARY KEY,
  117. Application_ID INTEGER REFERENCES nscc_Application(Application_ID),
  118. Payment_Date DATE NOT NULL,
  119. Amount NUMBER NOT NULL
  120. );
  121.  
  122. CREATE TABLE nscc_Credit_Card_Company(
  123. CC_Company_ID INTEGER PRIMARY KEY,
  124. Company_Name VARCHAR(20) NOT NULL
  125. );
  126.  
  127. CREATE TABLE Payment_Credit_Card(
  128. Payment_ID INTEGER PRIMARY KEY REFERENCES nscc_Payment(Payment_ID),
  129. CC_Company_ID INTEGER REFERENCES nscc_Credit_Card_Company(CC_Company_ID),
  130. Transaction_ID VARCHAR(100)
  131. );
  132.  
  133. CREATE TABLE nscc_Payment_Cheque(
  134. Payment_ID INTEGER PRIMARY KEY REFERENCES nscc_Payment(Payment_ID),
  135. Cheque_Number VARCHAR(20) NOT NULL,
  136. Transit_Number VARCHAR(20) NOT NULL,
  137. Financial_Institution VARCHAR(20) NOT NULL,
  138. Account_Number VARCHAR(20) NOT NULL
  139. );
  140.  
  141. CREATE TABLE nscc_Payment_Money_Order(
  142. Payment_ID INTEGER PRIMARY KEY REFERENCES nscc_Payment(Payment_ID),
  143. Money_Order_Number VARCHAR(20) NOT NULL
  144. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement