Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.68 KB | None | 0 0
  1. CREATE TABLE "basiclecture" (
  2. "id" INTEGER NOT NULL,
  3. "course_code" TEXT NOT NULL,
  4. "name" TEXT NOT NULL,
  5. PRIMARY KEY ("id", "course_code")
  6. );
  7.  
  8. CREATE TABLE "faculty" (
  9. "id" INTEGER NOT NULL,
  10. "name" TEXT NOT NULL,
  11. "faculty_code" TEXT NOT NULL,
  12. PRIMARY KEY ("id", "faculty_code")
  13. );
  14.  
  15. CREATE TABLE "department" (
  16. "id" INTEGER NOT NULL,
  17. "name" TEXT NOT NULL,
  18. "department_code" TEXT NOT NULL,
  19. "faculty_id" INTEGER NOT NULL,
  20. "faculty_faculty_code" TEXT NOT NULL,
  21. PRIMARY KEY ("id", "department_code")
  22. );
  23.  
  24. CREATE INDEX "idx_department__faculty_id_faculty_faculty_code" ON "department" ("faculty_id", "faculty_faculty_code");
  25.  
  26. ALTER TABLE "department" ADD CONSTRAINT "fk_department__faculty_id__faculty_faculty_code" FOREIGN KEY ("faculty_id", "faculty_faculty_code") REFERENCES "faculty" ("id", "faculty_code");
  27.  
  28. CREATE TABLE "lecturer" (
  29. "id" INTEGER NOT NULL,
  30. "first_name" TEXT NOT NULL,
  31. "last_name" TEXT NOT NULL,
  32. "lecturer_code" TEXT NOT NULL,
  33. "department_id" INTEGER NOT NULL,
  34. "department_department_code" TEXT NOT NULL,
  35. PRIMARY KEY ("id", "lecturer_code")
  36. );
  37.  
  38. CREATE INDEX "idx_lecturer__department_id_department_department_code" ON "lecturer" ("department_id", "department_department_code");
  39.  
  40. ALTER TABLE "lecturer" ADD CONSTRAINT "fk_lecturer__department_id__department_department_code" FOREIGN KEY ("department_id", "department_department_code") REFERENCES "department" ("id", "department_code");
  41.  
  42. CREATE TABLE "lecture" (
  43. "id" SERIAL PRIMARY KEY,
  44. "section_no" TEXT NOT NULL,
  45. "lecturer_id" INTEGER NOT NULL,
  46. "lecturer_lecturer_code" TEXT NOT NULL,
  47. "basic_lecture_id" INTEGER NOT NULL,
  48. "basic_lecture_course_code" TEXT NOT NULL,
  49. "term" TEXT NOT NULL,
  50. "year" TIME NOT NULL
  51. );
  52.  
  53. CREATE INDEX "idx_lecture__basic_lecture_id_basic_lecture_course_code" ON "lecture" ("basic_lecture_id", "basic_lecture_course_code");
  54.  
  55. CREATE INDEX "idx_lecture__lecturer_id_lecturer_lecturer_code" ON "lecture" ("lecturer_id", "lecturer_lecturer_code");
  56.  
  57. ALTER TABLE "lecture" ADD CONSTRAINT "fk_lecture__basic_lecture_id__basic_lecture_course_code" FOREIGN KEY ("basic_lecture_id", "basic_lecture_course_code") REFERENCES "basiclecture" ("id", "course_code");
  58.  
  59. ALTER TABLE "lecture" ADD CONSTRAINT "fk_lecture__lecturer_id__lecturer_lecturer_code" FOREIGN KEY ("lecturer_id", "lecturer_lecturer_code") REFERENCES "lecturer" ("id", "lecturer_code");
  60.  
  61. CREATE TABLE "principle" (
  62. "id" SERIAL PRIMARY KEY,
  63. "content" TEXT NOT NULL,
  64. "importance" INTEGER NOT NULL,
  65. "basic_lecture_id" INTEGER NOT NULL,
  66. "basic_lecture_course_code" TEXT NOT NULL
  67. );
  68.  
  69. CREATE INDEX "idx_principle__basic_lecture_id_basic_lecture_course_code" ON "principle" ("basic_lecture_id", "basic_lecture_course_code");
  70.  
  71. ALTER TABLE "principle" ADD CONSTRAINT "fk_principle__basic_lecture_id__basic_lecture_course_code" FOREIGN KEY ("basic_lecture_id", "basic_lecture_course_code") REFERENCES "basiclecture" ("id", "course_code");
  72.  
  73. CREATE TABLE "student" (
  74. "id" INTEGER NOT NULL,
  75. "student_code" TEXT NOT NULL,
  76. "first_name" TEXT NOT NULL,
  77. "last_name" TEXT NOT NULL,
  78. "department_id" INTEGER NOT NULL,
  79. "department_department_code" TEXT NOT NULL,
  80. PRIMARY KEY ("id", "student_code")
  81. );
  82.  
  83. CREATE INDEX "idx_student__department_id_department_department_code" ON "student" ("department_id", "department_department_code");
  84.  
  85. ALTER TABLE "student" ADD CONSTRAINT "fk_student__department_id__department_department_code" FOREIGN KEY ("department_id", "department_department_code") REFERENCES "department" ("id", "department_code");
  86.  
  87. CREATE TABLE "lecture_student" (
  88. "lecture" INTEGER NOT NULL,
  89. "student_id" INTEGER NOT NULL,
  90. "student_student_code" TEXT NOT NULL,
  91. PRIMARY KEY ("lecture", "student_id", "student_student_code")
  92. );
  93.  
  94. CREATE INDEX "idx_lecture_student" ON "lecture_student" ("student_id", "student_student_code");
  95.  
  96. ALTER TABLE "lecture_student" ADD CONSTRAINT "fk_lecture_student__lecture" FOREIGN KEY ("lecture") REFERENCES "lecture" ("id");
  97.  
  98. ALTER TABLE "lecture_student" ADD CONSTRAINT "fk_lecture_student__student_id__student_student_code" FOREIGN KEY ("student_id", "student_student_code") REFERENCES "student" ("id", "student_code");
  99.  
  100. CREATE TABLE "vote" (
  101. "id" SERIAL PRIMARY KEY,
  102. "lecture" INTEGER NOT NULL,
  103. "student_id" INTEGER NOT NULL,
  104. "student_student_code" TEXT NOT NULL,
  105. "value" INTEGER NOT NULL
  106. );
  107.  
  108. CREATE INDEX "idx_vote__lecture" ON "vote" ("lecture");
  109.  
  110. CREATE INDEX "idx_vote__student_id_student_student_code" ON "vote" ("student_id", "student_student_code");
  111.  
  112. ALTER TABLE "vote" ADD CONSTRAINT "fk_vote__lecture" FOREIGN KEY ("lecture") REFERENCES "lecture" ("id");
  113.  
  114. ALTER TABLE "vote" ADD CONSTRAINT "fk_vote__student_id__student_student_code" FOREIGN KEY ("student_id", "student_student_code") REFERENCES "student" ("id", "student_code")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement