Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив2 / курсовая docx200 / Kursovaya_rabota_BD.docx
Скачиваний:
48
Добавлен:
07.08.2013
Размер:
348.49 Кб
Скачать
  1. Скрипт на создание бд (sql).

  1. CREATE DATABASE BiblioDKB

  2. CREATE TABLE BOOK

  3. (

  4. ID_BOOK INTEGER NOT NULL,

  5. ID_TEM INTEGER NULL,

  6. PRICE NUMERIC NULL,

  7. NAME_BOOK NCHAR(50) NULL

  8. );

  9. CREATE UNIQUE INDEX IXBOOK ON BOOK

  10. (

  11. ID_BOOK ASC

  12. );

  13. CREATE TABLE AUTHOR

  14. (

  15. ID_AUTHOR INTEGER NOT NULL,

  16. SURNAME_AUTH NCHAR(50) NULL,

  17. NAME_AUTH NCHAR(50) NULL

  18. );

  19. CREATE UNIQUE INDEX IXAUTHOR ON AUTHOR

  20. (

  21. ID_AUTHOR ASC

  22. );

  23. CREATE TABLE IZDATELSTVO

  24. (

  25. ID_IZD INTEGER NOT NULL,

  26. NAME_IZD NCHAR(50) NULL

  27. );

  28. CREATE UNIQUE INDEX IXIZDATELSTVO ON IZDATELSTVO

  29. (

  30. ID_IZD ASC

  31. );

  32. CREATE TABLE JOURNAL

  33. (

  34. ID_JOUR INTEGER NOT NULL,

  35. ID_IZD INTEGER NULL,

  36. ID_TEM INTEGER NULL,

  37. NAME_JOUR NCHAR(50) NULL

  38. );

  39. CREATE UNIQUE INDEX IXJOURNAL ON JOURNAL

  40. (

  41. ID_JOUR ASC

  42. );

  43. CREATE TABLE EKZ_BOOK

  44. (

  45. ID_EXZ_B INTEGER NOT NULL,

  46. ID_P INTEGER NULL,

  47. ID_BOOK INTEGER NULL

  48. );

  49. CREATE UNIQUE INDEX IXEKZ_BOOK ON EKZ_BOOK

  50. (

  51. ID_EXZ_B ASC

  52. );

  53. CREATE TABLE CHITATEL

  54. (

  55. ID_CHIT INTEGER NOT NULL,

  56. NAME_CH NCHAR(50) NULL,

  57. SURNAME_CH NCHAR(50) NULL

  58. );

  59. CREATE UNIQUE INDEX IXCHITATEL ON CHITATEL

  60. (

  61. ID_CHIT ASC

  62. );

  63. CREATE TABLE STELAZH

  64. (

  65. ID_STEL INTEGER NOT NULL,

  66. NOM_ST INTEGER NULL

  67. );

  68. CREATE UNIQUE INDEX IXSTELAZH ON STELAZH

  69. (

  70. ID_STEL ASC

  71. );

  72. CREATE TABLE POLKA

  73. (

  74. ID_P INTEGER NOT NULL,

  75. NOM_P INTEGER NULL,

  76. ID_STEL INTEGER NULL

  77. );

  78. CREATE UNIQUE INDEX IXPOLKA ON POLKA

  79. (

  80. ID_P ASC

  81. );

  82. CREATE TABLE TEMATIKA

  83. (

  84. ID_TEM INTEGER NOT NULL,

  85. NAME_TEM NCHAR(50) NULL

  86. );

  87. CREATE UNIQUE INDEX IXTEMATIKA ON TEMATIKA

  88. (

  89. ID_TEM ASC

  90. );

  91. CREATE TABLE BOOK_AUTHOR

  92. (

  93. ID_AUTHOR INTEGER NOT NULL,

  94. ID_BOOK INTEGER NOT NULL

  95. );

  96. CREATE UNIQUE INDEX IXBOOK_AUTHOR ON BOOK_AUTHOR

  97. (

  98. ID_AUTHOR ASC,

  99. ID_BOOK ASC

  100. );

  101. CREATE TABLE IZDANIE

  102. (

  103. ID_BOOK INTEGER NOT NULL,

  104. GOD_IZD INTEGER NOT NULL,

  105. ID_IZD INTEGER NOT NULL

  106. );

  107. CREATE UNIQUE INDEX IXIZDANIE ON IZDANIE

  108. (

  109. ID_BOOK ASC,

  110. GOD_IZD ASC,

  111. ID_IZD ASC

  112. );

  113. CREATE TABLE E_BOOK

  114. (

  115. ID_BOOK INTEGER NULL,

  116. ID_EBOOK INTEGER NOT NULL

  117. );

  118. CREATE UNIQUE INDEX IXE_BOOK ON E_BOOK

  119. (

  120. ID_EBOOK ASC

  121. );

  122. CREATE TABLE VIDACHA

  123. (

  124. ID_EXZ_J INTEGER NULL,

  125. DATA_ARRR datetime NULL,

  126. ID_CHIT INTEGER NULL,

  127. ID_VID INTEGER NOT NULL,

  128. ID_BLR INTEGER NULL,

  129. ID_EXZ_B INTEGER NULL

  130. );

  131. CREATE UNIQUE INDEX IXVIDACHA ON VIDACHA

  132. (

  133. ID_VID ASC

  134. );

  135. CREATE TABLE NV_JOUR

  136. (

  137. ID_NVJ INTEGER NOT NULL,

  138. ID_JOUR INTEGER NULL,

  139. NOM_VIP INTEGER NULL,

  140. DATE_V DATETIME NULL

  141. );

  142. CREATE UNIQUE INDEX IXNV_JOUR ON NV_JOUR

  143. (

  144. ID_NVJ ASC

  145. );

  146. CREATE TABLE EXZ_JOUR

  147. (

  148. ID_EXZ_J INTEGER NOT NULL,

  149. ID_NVJ INTEGER NULL,

  150. ID_P INTEGER NULL

  151. );

  152. CREATE UNIQUE INDEX IXEXZ_JOUR ON EXZ_JOUR

  153. (

  154. ID_EXZ_J ASC

  155. );

  156. CREATE TABLE STATEY

  157. (

  158. ID_ST INTEGER NOT NULL,

  159. NAME_ST NCHAR(50) NULL,

  160. ID_NVJ INTEGER NULL

  161. );

  162. CREATE UNIQUE INDEX IXSTATEY ON STATEY

  163. (

  164. ID_ST ASC

  165. );

  166. CREATE TABLE ST_AUTH

  167. (

  168. ID_AUTHOR INTEGER NOT NULL,

  169. ID_ST INTEGER NOT NULL

  170. );

  171. CREATE UNIQUE INDEX IXST_AUTH ON ST_AUTH

  172. (

  173. ID_AUTHOR ASC,

  174. ID_ST ASC

  175. );

  176. CREATE TABLE E_NVJ

  177. (

  178. ID_ENVJ INTEGER NOT NULL,

  179. ID_NVJ INTEGER NULL

  180. );

  181. CREATE UNIQUE INDEX IXE_NVJ ON E_NVJ

  182. (

  183. ID_ENVJ ASC

  184. );

  185. CREATE TABLE BIBLIOTEKAR

  186. (

  187. ID_BLR INTEGER NOT NULL,

  188. SURNAME_BLR NCHAR(50) NULL,

  189. NAME_BLR NCHAR(50) NULL

  190. );

  191. CREATE UNIQUE INDEX IXBIBLIOTEKAR ON BIBLIOTEKAR

  192. (

  193. ID_BLR ASC

  194. );

  195. ALTER TABLE BOOK

  196. ADD PRIMARY KEY (ID_BOOK);

  197. ALTER TABLE AUTHOR

  198. ADD PRIMARY KEY (ID_AUTHOR);

  199. ALTER TABLE IZDATELSTVO

  200. ADD PRIMARY KEY (ID_IZD);

  201. ALTER TABLE JOURNAL

  202. ADD PRIMARY KEY (ID_JOUR);

  203. ALTER TABLE EKZ_BOOK

  204. ADD PRIMARY KEY (ID_EXZ_B);

  205. ALTER TABLE CHITATEL

  206. ADD PRIMARY KEY (ID_CHIT);

  207. ALTER TABLE STELAZH

  208. ADD PRIMARY KEY (ID_STEL);

  209. ALTER TABLE POLKA

  210. ADD PRIMARY KEY (ID_P);

  211. ALTER TABLE TEMATIKA

  212. ADD PRIMARY KEY (ID_TEM);

  213. ALTER TABLE BOOK_AUTHOR

  214. ADD PRIMARY KEY (ID_AUTHOR,ID_BOOK);

  215. ALTER TABLE IZDANIE

  216. ADD PRIMARY KEY (ID_BOOK,GOD_IZD,ID_IZD);

  217. ALTER TABLE E_BOOK

  218. ADD PRIMARY KEY (ID_EBOOK);

  219. ALTER TABLE VIDACHA

  220. ADD PRIMARY KEY (ID_VID);

  221. ALTER TABLE NV_JOUR

  222. ADD PRIMARY KEY (ID_NVJ);

  223. ALTER TABLE EXZ_JOUR

  224. ADD PRIMARY KEY (ID_EXZ_J);

  225. ALTER TABLE STATEY

  226. ADD PRIMARY KEY (ID_ST);

  227. ALTER TABLE ST_AUTH

  228. ADD PRIMARY KEY (ID_AUTHOR,ID_ST);

  229. ALTER TABLE E_NVJ

  230. ADD PRIMARY KEY (ID_ENVJ);

  231. ALTER TABLE BIBLIOTEKAR

  232. ADD PRIMARY KEY (ID_BLR);

  233. ALTER TABLE BOOK

  234. ADD FOREIGN KEY (ID_TEM) REFERENCES TEMATIKA;

  235. ALTER TABLE JOURNAL

  236. ADD FOREIGN KEY (ID_IZD) REFERENCES IZDATELSTVO;

  237. ALTER TABLE JOURNAL

  238. ADD FOREIGN KEY (ID_TEM) REFERENCES TEMATIKA;

  239. ALTER TABLE EKZ_BOOK

  240. ADD FOREIGN KEY (ID_P) REFERENCES POLKA;

  241. ALTER TABLE EKZ_BOOK

  242. ADD FOREIGN KEY (ID_BOOK) REFERENCES BOOK;

  243. ALTER TABLE POLKA

  244. ADD FOREIGN KEY (ID_STEL) REFERENCES STELAZH;

  245. ALTER TABLE BOOK_AUTHOR

  246. ADD FOREIGN KEY (ID_AUTHOR) REFERENCES AUTHOR;

  247. ALTER TABLE BOOK_AUTHOR

  248. ADD FOREIGN KEY (ID_BOOK) REFERENCES BOOK;

  249. ALTER TABLE IZDANIE

  250. ADD FOREIGN KEY (ID_BOOK) REFERENCES BOOK;

  251. ALTER TABLE IZDANIE

  252. ADD FOREIGN KEY (ID_IZD) REFERENCES IZDATELSTVO;

  253. ALTER TABLE E_BOOK

  254. ADD FOREIGN KEY (ID_BOOK) REFERENCES BOOK;

  255. ALTER TABLE VIDACHA

  256. ADD FOREIGN KEY (ID_EXZ_J) REFERENCES EXZ_JOUR;

  257. ALTER TABLE VIDACHA

  258. ADD FOREIGN KEY (ID_CHIT) REFERENCES CHITATEL;

  259. ALTER TABLE VIDACHA

  260. ADD FOREIGN KEY (ID_BLR) REFERENCES BIBLIOTEKAR;

  261. ALTER TABLE VIDACHA

  262. ADD FOREIGN KEY (ID_EXZ_B) REFERENCES EKZ_BOOK;

  263. ALTER TABLE NV_JOUR

  264. ADD FOREIGN KEY (ID_JOUR) REFERENCES JOURNAL;

  265. ALTER TABLE EXZ_JOUR

  266. ADD FOREIGN KEY (ID_NVJ) REFERENCES NV_JOUR;

  267. ALTER TABLE EXZ_JOUR

  268. ADD FOREIGN KEY (ID_P) REFERENCES POLKA;

  269. ALTER TABLE STATEY

  270. ADD FOREIGN KEY (ID_NVJ) REFERENCES NV_JOUR;

  271. ALTER TABLE ST_AUTH

  272. ADD FOREIGN KEY (ID_AUTHOR) REFERENCES AUTHOR;

  273. ALTER TABLE ST_AUTH

  274. ADD FOREIGN KEY (ID_ST) REFERENCES STATEY;

  275. ALTER TABLE E_NVJ

  276. ADD FOREIGN KEY (ID_NVJ) REFERENCES NV_JOUR;