Advertisement
Guest User

1488_5x5

a guest
Oct 22nd, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.14 KB | None | 0 0
  1. -- Exported from QuickDBD: https://www.quickdatabasediagrams.com/
  2. -- Link to schema: https://app.quickdatabasediagrams.com/#/d/6MgXHU
  3. -- NOTE! If you have used non-SQL datatypes in your design, you will have to change these here.
  4.  
  5.  
  6. CREATE TABLE "user" (
  7. "id" NUMBER(10) NOT NULL,
  8. "name" VARCHAR(255) NOT NULL,
  9. "surname" VARCHAR(255) NOT NULL,
  10. "studyYear" NUMBER(10) NOT NULL,
  11. "login" VARCHAR(255) NOT NULL,
  12. "password" VARCHAR(255) NOT NULL,
  13. "email" VARCHAR(255) NOT NULL,
  14. "titleBefore" VARCHAR(255) NOT NULL,
  15. "titleAfter" VARCHAR(255) NOT NULL,
  16. "blocked" NUMBER(1) NOT NULL,
  17. "roleId" NUMBER(10) NOT NULL,
  18. CONSTRAINT "pk_user" PRIMARY KEY (
  19. "id"
  20. )
  21. );
  22.  
  23. CREATE TABLE "message" (
  24. "id" NUMBER(10) NOT NULL,
  25. "date" DATE NOT NULL,
  26. "sender" NUMBER(10) NOT NULL,
  27. "receiver" NUMBER(10) NOT NULL,
  28. "text" VARCHAR(255) NOT NULL,
  29. CONSTRAINT "pk_message" PRIMARY KEY (
  30. "id"
  31. )
  32. );
  33.  
  34. CREATE TABLE "group" (
  35. "id" NUMBER(10) NOT NULL,
  36. "name" VARCHAR(255) NOT NULL,
  37. CONSTRAINT "pk_group" PRIMARY KEY (
  38. "id"
  39. )
  40. );
  41.  
  42. CREATE TABLE "user_group" (
  43. "userId" NUMBER(10) NOT NULL,
  44. "groupId" NUMBER(10) NOT NULL,
  45. CONSTRAINT "pk_user_group" PRIMARY KEY (
  46. "userId","groupId"
  47. )
  48. );
  49.  
  50. CREATE TABLE "subject" (
  51. "id" NUMBER(10) NOT NULL,
  52. "name" VARCHAR(255) NOT NULL,
  53. "shortName" VARCHAR(255) NOT NULL,
  54. CONSTRAINT "pk_subject" PRIMARY KEY (
  55. "id"
  56. )
  57. );
  58.  
  59. CREATE TABLE "user_subject" (
  60. "userId" NUMBER(10) NOT NULL,
  61. "subjectId" NUMBER(10) NOT NULL,
  62. CONSTRAINT "pk_user_subject" PRIMARY KEY (
  63. "userId","subjectId"
  64. )
  65. );
  66.  
  67. CREATE TABLE "comment" (
  68. "id" NUMBER(10) NOT NULL,
  69. "content" VARCHAR(255) NOT NULL,
  70. "date" DATE NOT NULL,
  71. "userId" NUMBER(10) NOT NULL,
  72. CONSTRAINT "pk_comment" PRIMARY KEY (
  73. "id"
  74. )
  75. );
  76.  
  77. CREATE TABLE "user_comment" (
  78. "userId" NUMBER(10) NOT NULL,
  79. "commentId" NUMBER(10) NOT NULL
  80. );
  81.  
  82. CREATE TABLE "post_like" (
  83. "userId" NUMBER(10) NOT NULL,
  84. "postId" NUMBER(10) NOT NULL,
  85. CONSTRAINT "pk_post_like" PRIMARY KEY (
  86. "userId","postId"
  87. )
  88. );
  89.  
  90. CREATE TABLE "post" (
  91. "id" NUMBER(10) NOT NULL,
  92. "text" VARCHAR(255) NOT NULL,
  93. "title" VARCHAR(255) NOT NULL,
  94. "userId" NUMBER(10) NOT NULL,
  95. CONSTRAINT "pk_post" PRIMARY KEY (
  96. "id","userId"
  97. )
  98. );
  99.  
  100. CREATE TABLE "file" (
  101. "id" NUMBER(10) NOT NULL,
  102. "creationDate" DATE NOT NULL,
  103. "name" VARCHAR(255) NOT NULL,
  104. "data" blob NOT NULL,
  105. "userId" NUMBER(10) NOT NULL,
  106. "fileExtId" NUMBER(10) NOT NULL,
  107. CONSTRAINT "pk_file" PRIMARY KEY (
  108. "id"
  109. )
  110. );
  111.  
  112. CREATE TABLE "role" (
  113. "id" NUMBER(10) NOT NULL,
  114. "name" VARCHAR(255) NOT NULL,
  115. CONSTRAINT "pk_role" PRIMARY KEY (
  116. "id"
  117. )
  118. );
  119.  
  120. CREATE TABLE "address" (
  121. "id" NUMBER(10) NOT NULL,
  122. "city" VARCHAR(255) NULL,
  123. "country" VARCHAR(255) NOT NULL,
  124. "userId" NUMBER(10) NOT NULL,
  125. CONSTRAINT "pk_address" PRIMARY KEY (
  126. "id"
  127. )
  128. );
  129.  
  130. CREATE TABLE "file_ext" (
  131. "id" NUMBER(10) NOT NULL,
  132. "name" VARCHAR(255) NOT NULL,
  133. CONSTRAINT "pk_file_ext" PRIMARY KEY (
  134. "id"
  135. )
  136. );
  137.  
  138. ALTER TABLE "user" ADD CONSTRAINT "fk_user_roleId" FOREIGN KEY("roleId")
  139. REFERENCES "role" ("id");
  140.  
  141. ALTER TABLE "message" ADD CONSTRAINT "fk_message_sender" FOREIGN KEY("sender")
  142. REFERENCES "user" ("id");
  143.  
  144. ALTER TABLE "message" ADD CONSTRAINT "fk_message_receiver" FOREIGN KEY("receiver")
  145. REFERENCES "user" ("id");
  146.  
  147. ALTER TABLE "user_group" ADD CONSTRAINT "fk_user_group_userId" FOREIGN KEY("userId")
  148. REFERENCES "user" ("id");
  149.  
  150. ALTER TABLE "user_group" ADD CONSTRAINT "fk_user_group_groupId" FOREIGN KEY("groupId")
  151. REFERENCES "group" ("id");
  152.  
  153. ALTER TABLE "user_subject" ADD CONSTRAINT "fk_user_subject_userId" FOREIGN KEY("userId")
  154. REFERENCES "user" ("id");
  155.  
  156. ALTER TABLE "user_subject" ADD CONSTRAINT "fk_user_subject_subjectId" FOREIGN KEY("subjectId")
  157. REFERENCES "subject" ("id");
  158.  
  159. ALTER TABLE "comment" ADD CONSTRAINT "fk_comment_userId" FOREIGN KEY("userId")
  160. REFERENCES "user" ("id");
  161.  
  162. ALTER TABLE "user_comment" ADD CONSTRAINT "fk_user_comment_userId" FOREIGN KEY("userId")
  163. REFERENCES "user" ("id");
  164.  
  165. ALTER TABLE "user_comment" ADD CONSTRAINT "fk_user_comment_commentId" FOREIGN KEY("commentId")
  166. REFERENCES "comment" ("id");
  167.  
  168. ALTER TABLE "post_like" ADD CONSTRAINT "fk_post_like_userId" FOREIGN KEY("userId")
  169. REFERENCES "user" ("id");
  170.  
  171. ALTER TABLE "post_like" ADD CONSTRAINT "fk_post_like_postId" FOREIGN KEY("postId")
  172. REFERENCES "post" ("id");
  173.  
  174. ALTER TABLE "post" ADD CONSTRAINT "fk_post_userId" FOREIGN KEY("userId")
  175. REFERENCES "user" ("id");
  176.  
  177. ALTER TABLE "file" ADD CONSTRAINT "fk_file_userId" FOREIGN KEY("userId")
  178. REFERENCES "user" ("id");
  179.  
  180. ALTER TABLE "file" ADD CONSTRAINT "fk_file_fileExtId" FOREIGN KEY("fileExtId")
  181. REFERENCES "file_ext" ("id");
  182.  
  183. ALTER TABLE "address" ADD CONSTRAINT "fk_address_userId" FOREIGN KEY("userId")
  184. REFERENCES "user" ("id");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement