Advertisement
sedni

create

Oct 22nd, 2019
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.06 KB | None | 0 0
  1. CREATE TABLE "user" (
  2. "id" NUMBER(10) NOT NULL,
  3. "name" VARCHAR(255) NOT NULL,
  4. "surname" VARCHAR(255) NOT NULL,
  5. "studyYear" NUMBER(10) NOT NULL,
  6. "login" VARCHAR(255) NOT NULL,
  7. "password" VARCHAR(255) NOT NULL,
  8. "email" VARCHAR(255) NOT NULL,
  9. "titleBefore" VARCHAR(255) NOT NULL,
  10. "titleAfter" VARCHAR(255) NOT NULL,
  11. "blocked" NUMBER(1) NOT NULL,
  12. "roleId" NUMBER(10) NOT NULL,
  13. "address" NUMBER(10) NOT NULL,
  14. CONSTRAINT "pk_user" PRIMARY KEY (
  15. "id"
  16. )
  17. );
  18.  
  19. CREATE TABLE "message" (
  20. "id" NUMBER(10) NOT NULL,
  21. "date" DATE NOT NULL,
  22. "sender" NUMBER(10) NOT NULL,
  23. "receiver" NUMBER(10) NOT NULL,
  24. "text" VARCHAR(255) NOT NULL,
  25. CONSTRAINT "pk_message" PRIMARY KEY (
  26. "id"
  27. )
  28. );
  29.  
  30. CREATE TABLE "group" (
  31. "id" NUMBER(10) NOT NULL,
  32. "name" VARCHAR(255) NOT NULL,
  33. "group_subjectId" NUMBER(10) NOT NULL,
  34. CONSTRAINT "pk_group" PRIMARY KEY (
  35. "id"
  36. )
  37. );
  38.  
  39. CREATE TABLE "user_group" (
  40. "userId" NUMBER(10) NOT NULL,
  41. "groupId" NUMBER(10) NOT NULL,
  42. CONSTRAINT "pk_user_group" PRIMARY KEY (
  43. "userId","groupId"
  44. )
  45. );
  46.  
  47. CREATE TABLE "subject" (
  48. "id" NUMBER(10) NOT NULL,
  49. "name" VARCHAR(255) NOT NULL,
  50. "shortName" VARCHAR(255) NOT NULL,
  51. CONSTRAINT "pk_subject" PRIMARY KEY (
  52. "id"
  53. ),
  54. CONSTRAINT "uc_subject_shortName" UNIQUE (
  55. "shortName"
  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. "postId" NUMBER(10) NOT NULL,
  73. CONSTRAINT "pk_comment" PRIMARY KEY (
  74. "id"
  75. )
  76. );
  77.  
  78. CREATE TABLE "like" (
  79. "userId" NUMBER(10) NOT NULL,
  80. "postId" NUMBER(10) NOT NULL,
  81. CONSTRAINT "pk_like" PRIMARY KEY (
  82. "userId","postId"
  83. )
  84. );
  85.  
  86. CREATE TABLE "post" (
  87. "id" NUMBER(10) NOT NULL,
  88. "text" VARCHAR(255) NOT NULL,
  89. "title" VARCHAR(255) NOT NULL,
  90. "creator_userId" NUMBER(10) NOT NULL,
  91. CONSTRAINT "pk_post" PRIMARY KEY (
  92. "id"
  93. )
  94. );
  95.  
  96. CREATE TABLE "file" (
  97. "id" NUMBER(10) NOT NULL,
  98. "creationDate" DATE NOT NULL,
  99. "name" VARCHAR(255) NOT NULL,
  100. "data" blob NOT NULL,
  101. "userId" NUMBER(10) NOT NULL,
  102. "fileExtId" NUMBER(10) NOT NULL,
  103. CONSTRAINT "pk_file" PRIMARY KEY (
  104. "id"
  105. )
  106. );
  107.  
  108. CREATE TABLE "role" (
  109. "id" NUMBER(10) NOT NULL,
  110. "name" VARCHAR(255) NOT NULL,
  111. CONSTRAINT "pk_role" PRIMARY KEY (
  112. "id"
  113. ),
  114. CONSTRAINT "uc_role_name" UNIQUE (
  115. "name"
  116. )
  117. );
  118.  
  119. CREATE TABLE "address" (
  120. "id" NUMBER(10) NOT NULL,
  121. "city" VARCHAR(255) NOT NULL,
  122. "country" VARCHAR(255) NOT NULL,
  123. CONSTRAINT "pk_address" PRIMARY KEY (
  124. "id"
  125. )
  126. );
  127.  
  128. CREATE TABLE "file_ext" (
  129. "id" NUMBER(10) NOT NULL,
  130. "name" VARCHAR(255) NOT NULL,
  131. CONSTRAINT "pk_file_ext" PRIMARY KEY (
  132. "id"
  133. ),
  134. CONSTRAINT "uc_file_ext_name" UNIQUE (
  135. "name"
  136. )
  137. );
  138.  
  139. ALTER TABLE "user" ADD CONSTRAINT "fk_user_roleId" FOREIGN KEY("roleId")
  140. REFERENCES "role" ("id");
  141.  
  142. ALTER TABLE "user" ADD CONSTRAINT "fk_user_address" FOREIGN KEY("address")
  143. REFERENCES "address" ("id");
  144.  
  145. ALTER TABLE "message" ADD CONSTRAINT "fk_message_sender" FOREIGN KEY("sender")
  146. REFERENCES "user" ("id");
  147.  
  148. ALTER TABLE "message" ADD CONSTRAINT "fk_message_receiver" FOREIGN KEY("receiver")
  149. REFERENCES "user" ("id");
  150.  
  151. ALTER TABLE "group" ADD CONSTRAINT "fk_group_group_subjectId" FOREIGN KEY("group_subjectId")
  152. REFERENCES "subject" ("id");
  153.  
  154. ALTER TABLE "user_group" ADD CONSTRAINT "fk_user_group_userId" FOREIGN KEY("userId")
  155. REFERENCES "user" ("id");
  156.  
  157. ALTER TABLE "user_group" ADD CONSTRAINT "fk_user_group_groupId" FOREIGN KEY("groupId")
  158. REFERENCES "group" ("id");
  159.  
  160. ALTER TABLE "user_subject" ADD CONSTRAINT "fk_user_subject_userId" FOREIGN KEY("userId")
  161. REFERENCES "user" ("id");
  162.  
  163. ALTER TABLE "user_subject" ADD CONSTRAINT "fk_user_subject_subjectId" FOREIGN KEY("subjectId")
  164. REFERENCES "subject" ("id");
  165.  
  166. ALTER TABLE "comment" ADD CONSTRAINT "fk_comment_userId" FOREIGN KEY("userId")
  167. REFERENCES "user" ("id");
  168.  
  169. ALTER TABLE "comment" ADD CONSTRAINT "fk_comment_postId" FOREIGN KEY("postId")
  170. REFERENCES "post" ("id");
  171.  
  172. ALTER TABLE "like" ADD CONSTRAINT "fk_like_userId" FOREIGN KEY("userId")
  173. REFERENCES "user" ("id");
  174.  
  175. ALTER TABLE "like" ADD CONSTRAINT "fk_like_postId" FOREIGN KEY("postId")
  176. REFERENCES "post" ("id");
  177.  
  178. ALTER TABLE "post" ADD CONSTRAINT "fk_post_creator_userId" FOREIGN KEY("creator_userId")
  179. REFERENCES "user" ("id");
  180.  
  181. ALTER TABLE "file" ADD CONSTRAINT "fk_file_userId" FOREIGN KEY("userId")
  182. REFERENCES "user" ("id");
  183.  
  184. ALTER TABLE "file" ADD CONSTRAINT "fk_file_fileExtId" FOREIGN KEY("fileExtId")
  185. REFERENCES "file_ext" ("id");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement