create_tables.sql 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523
  1. CONNECT 'jdbc:derby://localhost:1527/UDDIDB;create=true';
  2. CREATE TABLE OPERATIONAL_INFO (
  3. CREATED TIMESTAMP NOT NULL,
  4. MODIFIED TIMESTAMP,
  5. MODIFIED_INCLUDING_CHILDREN TIMESTAMP,
  6. NODE_ID VARCHAR(255),
  7. AUTHORIZED_NAME VARCHAR(255),
  8. ENTITY_KEY VARCHAR(255) NOT NULL,
  9. FORMAT_KEY VARCHAR(255) NOT NULL,
  10. DELETED VARCHAR(5),
  11. PRIMARY KEY (ENTITY_KEY)
  12. );
  13. CREATE TABLE BUSINESS_ENTITY (
  14. BUSINESS_KEY VARCHAR(255) NOT NULL,
  15. AUTHORIZED_NAME VARCHAR(255) NOT NULL,
  16. PUBLISHER_ID VARCHAR(20),
  17. OPERATOR VARCHAR(255) NOT NULL,
  18. LAST_UPDATE TIMESTAMP NOT NULL,
  19. DELETED VARCHAR(5),
  20. PRIMARY KEY (BUSINESS_KEY)
  21. );
  22. CREATE TABLE BUSINESS_DESCR (
  23. BUSINESS_KEY VARCHAR(255) NOT NULL,
  24. BUSINESS_DESCR_ID INT NOT NULL,
  25. LANG_CODE VARCHAR(5),
  26. DESCR VARCHAR(255) NOT NULL,
  27. PRIMARY KEY (BUSINESS_KEY, BUSINESS_DESCR_ID),
  28. FOREIGN KEY (BUSINESS_KEY)
  29. REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
  30. );
  31. CREATE TABLE BUSINESS_CATEGORY (
  32. BUSINESS_KEY VARCHAR(255) NOT NULL,
  33. CATEGORY_ID INT NOT NULL,
  34. TMODEL_KEY_REF VARCHAR(255),
  35. KEY_NAME VARCHAR(255),
  36. KEY_VALUE VARCHAR(255) NOT NULL,
  37. PRIMARY KEY (BUSINESS_KEY, CATEGORY_ID),
  38. FOREIGN KEY (BUSINESS_KEY)
  39. REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
  40. );
  41. CREATE TABLE BUSINESS_CATEGORY_KEY_REF_GRP (
  42. KEY_REF_GROUP_ID INT NOT NULL,
  43. TMODEL_KEY_REF VARCHAR(255),
  44. BUSINESS_KEY VARCHAR(255) NOT NULL,
  45. PRIMARY KEY (BUSINESS_KEY, KEY_REF_GROUP_ID),
  46. FOREIGN KEY (BUSINESS_KEY)
  47. REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
  48. );
  49. CREATE TABLE BUSINESS_CATEGORY_REF_GRP_KEY (
  50. TMODEL_KEY_REF VARCHAR(255),
  51. KEY_NAME VARCHAR(255),
  52. KEY_VALUE VARCHAR(255) NOT NULL,
  53. KEY_REF_GROUP_KEY_ID INT NOT NULL,
  54. KEY_REF_GROUP_ID INT NOT NULL,
  55. BUSINESS_KEY VARCHAR(255) NOT NULL,
  56. PRIMARY KEY (BUSINESS_KEY, KEY_REF_GROUP_ID, KEY_REF_GROUP_KEY_ID),
  57. FOREIGN KEY (BUSINESS_KEY, KEY_REF_GROUP_ID)
  58. REFERENCES BUSINESS_CATEGORY_KEY_REF_GRP (BUSINESS_KEY, KEY_REF_GROUP_ID)
  59. );
  60. CREATE TABLE BUSINESS_IDENTIFIER (
  61. BUSINESS_KEY VARCHAR(255) NOT NULL,
  62. IDENTIFIER_ID INT NOT NULL,
  63. TMODEL_KEY_REF VARCHAR(255),
  64. KEY_NAME VARCHAR(255),
  65. KEY_VALUE VARCHAR(255) NOT NULL,
  66. PRIMARY KEY (BUSINESS_KEY, IDENTIFIER_ID),
  67. FOREIGN KEY (BUSINESS_KEY)
  68. REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
  69. );
  70. CREATE TABLE BUSINESS_NAME (
  71. BUSINESS_KEY VARCHAR(255) NOT NULL,
  72. BUSINESS_NAME_ID INT NOT NULL,
  73. LANG_CODE VARCHAR(5),
  74. NAME VARCHAR(255) NOT NULL,
  75. PRIMARY KEY (BUSINESS_KEY, BUSINESS_NAME_ID),
  76. FOREIGN KEY (BUSINESS_KEY)
  77. REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
  78. );
  79. CREATE TABLE CONTACT (
  80. BUSINESS_KEY VARCHAR(255) NOT NULL,
  81. CONTACT_ID INT NOT NULL,
  82. USE_TYPE VARCHAR(255),
  83. PERSON_NAME VARCHAR(255) NOT NULL,
  84. PRIMARY KEY (BUSINESS_KEY, CONTACT_ID),
  85. FOREIGN KEY (BUSINESS_KEY)
  86. REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
  87. );
  88. CREATE TABLE CONTACT_DESCR (
  89. BUSINESS_KEY VARCHAR(255) NOT NULL,
  90. CONTACT_ID INT NOT NULL,
  91. CONTACT_DESCR_ID INT NOT NULL,
  92. LANG_CODE VARCHAR(5),
  93. DESCR VARCHAR(255) NOT NULL,
  94. PRIMARY KEY (BUSINESS_KEY, CONTACT_ID, CONTACT_DESCR_ID),
  95. FOREIGN KEY (BUSINESS_KEY, CONTACT_ID)
  96. REFERENCES CONTACT (BUSINESS_KEY, CONTACT_ID)
  97. );
  98. CREATE TABLE PERSON_NAME (
  99. NAME VARCHAR(255),
  100. PERSON_NAME_ID INT NOT NULL,
  101. BUSINESS_KEY VARCHAR(255) NOT NULL,
  102. CONTACT_ID INT NOT NULL,
  103. LANG_CODE VARCHAR(5),
  104. PRIMARY KEY (BUSINESS_KEY, CONTACT_ID, PERSON_NAME_ID),
  105. FOREIGN KEY (BUSINESS_KEY, CONTACT_ID)
  106. REFERENCES CONTACT (BUSINESS_KEY, CONTACT_ID)
  107. );
  108. CREATE TABLE ADDRESS (
  109. BUSINESS_KEY VARCHAR(255) NOT NULL,
  110. CONTACT_ID INT NOT NULL,
  111. ADDRESS_ID INT NOT NULL,
  112. LANG_CODE VARCHAR(5),
  113. USE_TYPE VARCHAR(255),
  114. SORT_CODE VARCHAR(10),
  115. TMODEL_KEY VARCHAR(255),
  116. PRIMARY KEY (BUSINESS_KEY, CONTACT_ID, ADDRESS_ID),
  117. FOREIGN KEY (BUSINESS_KEY, CONTACT_ID)
  118. REFERENCES CONTACT (BUSINESS_KEY, CONTACT_ID)
  119. );
  120. CREATE TABLE ADDRESS_LINE (
  121. BUSINESS_KEY VARCHAR(255) NOT NULL,
  122. CONTACT_ID INT NOT NULL,
  123. ADDRESS_ID INT NOT NULL,
  124. ADDRESS_LINE_ID INT NOT NULL,
  125. LINE VARCHAR(80) NOT NULL,
  126. KEY_NAME VARCHAR(255),
  127. KEY_VALUE VARCHAR(255),
  128. PRIMARY KEY (BUSINESS_KEY, CONTACT_ID, ADDRESS_ID, ADDRESS_LINE_ID),
  129. FOREIGN KEY (BUSINESS_KEY, CONTACT_ID, ADDRESS_ID)
  130. REFERENCES ADDRESS (BUSINESS_KEY, CONTACT_ID, ADDRESS_ID)
  131. );
  132. CREATE TABLE EMAIL (
  133. BUSINESS_KEY VARCHAR(255) NOT NULL,
  134. CONTACT_ID INT NOT NULL,
  135. EMAIL_ID INT NOT NULL,
  136. USE_TYPE VARCHAR(255),
  137. EMAIL_ADDRESS VARCHAR(255) NOT NULL,
  138. PRIMARY KEY (BUSINESS_KEY, CONTACT_ID, EMAIL_ID),
  139. FOREIGN KEY (BUSINESS_KEY, CONTACT_ID)
  140. REFERENCES CONTACT (BUSINESS_KEY, CONTACT_ID)
  141. );
  142. CREATE TABLE PHONE (
  143. BUSINESS_KEY VARCHAR(255) NOT NULL,
  144. CONTACT_ID INT NOT NULL,
  145. PHONE_ID INT NOT NULL,
  146. USE_TYPE VARCHAR(255),
  147. PHONE_NUMBER VARCHAR(50) NOT NULL,
  148. PRIMARY KEY (BUSINESS_KEY, CONTACT_ID, PHONE_ID),
  149. FOREIGN KEY (BUSINESS_KEY, CONTACT_ID)
  150. REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
  151. );
  152. CREATE TABLE DISCOVERY_URL (
  153. BUSINESS_KEY VARCHAR(255) NOT NULL,
  154. DISCOVERY_URL_ID INT NOT NULL,
  155. USE_TYPE VARCHAR(255) NOT NULL,
  156. URL VARCHAR(255) NOT NULL,
  157. PRIMARY KEY (BUSINESS_KEY, DISCOVERY_URL_ID),
  158. FOREIGN KEY (BUSINESS_KEY)
  159. REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
  160. );
  161. CREATE TABLE BUSINESS_SERVICE (
  162. BUSINESS_KEY VARCHAR(255) NOT NULL,
  163. SERVICE_KEY VARCHAR(255) NOT NULL,
  164. LAST_UPDATE TIMESTAMP NOT NULL,
  165. DELETED VARCHAR(5),
  166. PRIMARY KEY (SERVICE_KEY),
  167. FOREIGN KEY (BUSINESS_KEY)
  168. REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
  169. );
  170. CREATE TABLE SERVICE_DESCR (
  171. SERVICE_KEY VARCHAR(255) NOT NULL,
  172. SERVICE_DESCR_ID INT NOT NULL,
  173. LANG_CODE VARCHAR(5),
  174. DESCR VARCHAR(255) NOT NULL,
  175. PRIMARY KEY (SERVICE_KEY, SERVICE_DESCR_ID),
  176. FOREIGN KEY (SERVICE_KEY)
  177. REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
  178. );
  179. CREATE TABLE SERVICE_CATEGORY (
  180. SERVICE_KEY VARCHAR(255) NOT NULL,
  181. CATEGORY_ID INT NOT NULL,
  182. TMODEL_KEY_REF VARCHAR(255),
  183. KEY_NAME VARCHAR(255),
  184. KEY_VALUE VARCHAR(255) NOT NULL,
  185. PRIMARY KEY (SERVICE_KEY, CATEGORY_ID),
  186. FOREIGN KEY (SERVICE_KEY)
  187. REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
  188. );
  189. CREATE TABLE SERVICE_CATEGORY_KEY_REF_GRP (
  190. KEY_REF_GROUP_ID INT NOT NULL,
  191. TMODEL_KEY_REF VARCHAR(255),
  192. SERVICE_KEY VARCHAR(255) NOT NULL,
  193. PRIMARY KEY (KEY_REF_GROUP_ID, SERVICE_KEY),
  194. FOREIGN KEY (SERVICE_KEY)
  195. REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
  196. );
  197. CREATE TABLE SERVICE_CATEGORY_REF_GRP_KEY (
  198. TMODEL_KEY_REF VARCHAR(255),
  199. KEY_NAME VARCHAR(255),
  200. KEY_VALUE VARCHAR(255) NOT NULL,
  201. KEY_REF_GROUP_KEY_ID INT NOT NULL,
  202. KEY_REF_GROUP_ID INT NOT NULL,
  203. SERVICE_KEY VARCHAR(255) NOT NULL,
  204. PRIMARY KEY (KEY_REF_GROUP_ID, KEY_REF_GROUP_KEY_ID, SERVICE_KEY),
  205. FOREIGN KEY (KEY_REF_GROUP_ID, SERVICE_KEY)
  206. REFERENCES SERVICE_CATEGORY_KEY_REF_GRP (KEY_REF_GROUP_ID, SERVICE_KEY)
  207. );
  208. CREATE TABLE SERVICE_NAME (
  209. SERVICE_KEY VARCHAR(255) NOT NULL,
  210. SERVICE_NAME_ID INT NOT NULL,
  211. LANG_CODE VARCHAR(5),
  212. NAME VARCHAR(255) NOT NULL,
  213. PRIMARY KEY (SERVICE_KEY, SERVICE_NAME_ID),
  214. FOREIGN KEY (SERVICE_KEY)
  215. REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
  216. );
  217. CREATE TABLE BINDING_TEMPLATE (
  218. SERVICE_KEY VARCHAR(255) NOT NULL,
  219. BINDING_KEY VARCHAR(255) NOT NULL,
  220. ACCESS_POINT_TYPE VARCHAR(20),
  221. ACCESS_POINT_URL VARCHAR(255),
  222. HOSTING_REDIRECTOR VARCHAR(255),
  223. LAST_UPDATE TIMESTAMP NOT NULL,
  224. DELETED VARCHAR(5),
  225. PRIMARY KEY (BINDING_KEY),
  226. FOREIGN KEY (SERVICE_KEY)
  227. REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
  228. );
  229. CREATE TABLE BINDING_CATEGORY (
  230. BINDING_KEY VARCHAR(255) NOT NULL,
  231. CATEGORY_ID INT NOT NULL,
  232. TMODEL_KEY_REF VARCHAR(255),
  233. KEY_NAME VARCHAR(255),
  234. KEY_VALUE VARCHAR(255) NOT NULL,
  235. PRIMARY KEY (BINDING_KEY, CATEGORY_ID),
  236. FOREIGN KEY (BINDING_KEY)
  237. REFERENCES BINDING_TEMPLATE (BINDING_KEY)
  238. );
  239. CREATE TABLE BINDING_CATEGORY_KEY_REF_GRP (
  240. KEY_REF_GROUP_ID INT NOT NULL,
  241. TMODEL_KEY_REF VARCHAR(255),
  242. BINDING_KEY VARCHAR(255) NOT NULL,
  243. PRIMARY KEY (BINDING_KEY, KEY_REF_GROUP_ID),
  244. FOREIGN KEY (BINDING_KEY)
  245. REFERENCES BINDING_TEMPLATE (BINDING_KEY)
  246. );
  247. CREATE TABLE BINDING_CATEGORY_REF_GRP_KEY (
  248. TMODEL_KEY_REF VARCHAR(255),
  249. KEY_NAME VARCHAR(255),
  250. KEY_VALUE VARCHAR(255) NOT NULL,
  251. KEY_REF_GROUP_KEY_ID INT NOT NULL,
  252. KEY_REF_GROUP_ID INT NOT NULL,
  253. BINDING_KEY VARCHAR(255) NOT NULL,
  254. PRIMARY KEY (BINDING_KEY, KEY_REF_GROUP_ID, KEY_REF_GROUP_KEY_ID),
  255. FOREIGN KEY (BINDING_KEY, KEY_REF_GROUP_ID)
  256. REFERENCES BINDING_CATEGORY_KEY_REF_GRP (BINDING_KEY, KEY_REF_GROUP_ID)
  257. );
  258. CREATE TABLE BINDING_DESCR (
  259. BINDING_KEY VARCHAR(255) NOT NULL,
  260. BINDING_DESCR_ID INT NOT NULL,
  261. LANG_CODE VARCHAR(5),
  262. DESCR VARCHAR(255) NOT NULL,
  263. PRIMARY KEY (BINDING_KEY, BINDING_DESCR_ID),
  264. FOREIGN KEY (BINDING_KEY)
  265. REFERENCES BINDING_TEMPLATE (BINDING_KEY)
  266. );
  267. CREATE TABLE TMODEL_INSTANCE_INFO (
  268. BINDING_KEY VARCHAR(255) NOT NULL,
  269. TMODEL_INSTANCE_INFO_ID INT NOT NULL,
  270. TMODEL_KEY VARCHAR(255) NOT NULL,
  271. OVERVIEW_URL VARCHAR(255),
  272. INSTANCE_PARMS VARCHAR(255),
  273. PRIMARY KEY (BINDING_KEY, TMODEL_INSTANCE_INFO_ID),
  274. FOREIGN KEY (BINDING_KEY)
  275. REFERENCES BINDING_TEMPLATE (BINDING_KEY)
  276. );
  277. CREATE TABLE TMODEL_INSTANCE_INFO_DESCR (
  278. BINDING_KEY VARCHAR(255) NOT NULL,
  279. TMODEL_INSTANCE_INFO_ID INT NOT NULL,
  280. TMODEL_INSTANCE_INFO_DESCR_ID INT NOT NULL,
  281. LANG_CODE VARCHAR(5),
  282. DESCR VARCHAR(255) NOT NULL,
  283. PRIMARY KEY (BINDING_KEY, TMODEL_INSTANCE_INFO_ID, TMODEL_INSTANCE_INFO_DESCR_ID),
  284. FOREIGN KEY (BINDING_KEY, TMODEL_INSTANCE_INFO_ID)
  285. REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY, TMODEL_INSTANCE_INFO_ID)
  286. );
  287. CREATE TABLE INSTANCE_DETAILS_DESCR (
  288. BINDING_KEY VARCHAR(255) NOT NULL,
  289. TMODEL_INSTANCE_INFO_ID INT NOT NULL,
  290. INSTANCE_DETAILS_DESCR_ID INT NOT NULL,
  291. LANG_CODE VARCHAR(5),
  292. DESCR VARCHAR(255) NOT NULL,
  293. PRIMARY KEY (BINDING_KEY, TMODEL_INSTANCE_INFO_ID, INSTANCE_DETAILS_DESCR_ID),
  294. FOREIGN KEY (BINDING_KEY, TMODEL_INSTANCE_INFO_ID)
  295. REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY, TMODEL_INSTANCE_INFO_ID)
  296. );
  297. CREATE TABLE INSTANCE_DETAILS_DOC (
  298. INSTANCE_DETAILS_DOC_ID INT NOT NULL,
  299. USE_TYPE VARCHAR(255),
  300. OVERVIEW_URL VARCHAR(255) NOT NULL,
  301. BINDING_KEY VARCHAR(255) NOT NULL,
  302. TMODEL_INSTANCE_INFO_ID INT NOT NULL,
  303. PRIMARY KEY (BINDING_KEY, TMODEL_INSTANCE_INFO_ID, INSTANCE_DETAILS_DOC_ID),
  304. FOREIGN KEY (BINDING_KEY, TMODEL_INSTANCE_INFO_ID)
  305. REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY, TMODEL_INSTANCE_INFO_ID)
  306. );
  307. CREATE TABLE INSTANCE_DETAILS_DOC_DESCR (
  308. BINDING_KEY VARCHAR(255) NOT NULL,
  309. TMODEL_INSTANCE_INFO_ID INT NOT NULL,
  310. INSTANCE_DETAILS_DOC_DESCR_ID INT NOT NULL,
  311. LANG_CODE VARCHAR(5),
  312. DESCR VARCHAR(255) NOT NULL,
  313. INSTANCE_DETAILS_DOC_ID INT NOT NULL,
  314. PRIMARY KEY (BINDING_KEY, TMODEL_INSTANCE_INFO_ID, INSTANCE_DETAILS_DOC_ID, INSTANCE_DETAILS_DOC_DESCR_ID),
  315. FOREIGN KEY (BINDING_KEY, TMODEL_INSTANCE_INFO_ID, INSTANCE_DETAILS_DOC_ID)
  316. REFERENCES INSTANCE_DETAILS_DOC (BINDING_KEY, TMODEL_INSTANCE_INFO_ID, INSTANCE_DETAILS_DOC_ID)
  317. );
  318. CREATE TABLE TMODEL (
  319. TMODEL_KEY VARCHAR(255) NOT NULL,
  320. AUTHORIZED_NAME VARCHAR(255) NOT NULL,
  321. PUBLISHER_ID VARCHAR(20),
  322. OPERATOR VARCHAR(255) NOT NULL,
  323. NAME VARCHAR(255) NOT NULL,
  324. OVERVIEW_URL VARCHAR(255),
  325. LAST_UPDATE TIMESTAMP NOT NULL,
  326. DELETED VARCHAR(5),
  327. PRIMARY KEY (TMODEL_KEY)
  328. );
  329. CREATE TABLE TMODEL_DESCR (
  330. TMODEL_KEY VARCHAR(255) NOT NULL,
  331. TMODEL_DESCR_ID INT NOT NULL,
  332. LANG_CODE VARCHAR(5),
  333. DESCR VARCHAR(255) NOT NULL,
  334. PRIMARY KEY (TMODEL_KEY, TMODEL_DESCR_ID),
  335. FOREIGN KEY (TMODEL_KEY)
  336. REFERENCES TMODEL (TMODEL_KEY)
  337. );
  338. CREATE TABLE TMODEL_CATEGORY (
  339. TMODEL_KEY VARCHAR(255) NOT NULL,
  340. CATEGORY_ID INT NOT NULL,
  341. TMODEL_KEY_REF VARCHAR(255),
  342. KEY_NAME VARCHAR(255),
  343. KEY_VALUE VARCHAR(255) NOT NULL,
  344. PRIMARY KEY (TMODEL_KEY, CATEGORY_ID),
  345. FOREIGN KEY (TMODEL_KEY)
  346. REFERENCES TMODEL (TMODEL_KEY)
  347. );
  348. CREATE TABLE TMODEL_CATEGORY_KEY_REF_GRP (
  349. KEY_REF_GROUP_ID INT NOT NULL,
  350. TMODEL_KEY_REF VARCHAR(255),
  351. TMODEL_KEY VARCHAR(255) NOT NULL,
  352. PRIMARY KEY (TMODEL_KEY, KEY_REF_GROUP_ID),
  353. FOREIGN KEY (TMODEL_KEY)
  354. REFERENCES TMODEL (TMODEL_KEY)
  355. );
  356. CREATE TABLE TMODEL_CATEGORY_REF_GRP_KEY (
  357. TMODEL_KEY_REF VARCHAR(255),
  358. KEY_NAME VARCHAR(255),
  359. KEY_VALUE VARCHAR(255) NOT NULL,
  360. KEY_REF_GROUP_KEY_ID INT NOT NULL,
  361. KEY_REF_GROUP_ID INT NOT NULL,
  362. TMODEL_KEY VARCHAR(255) NOT NULL,
  363. PRIMARY KEY (TMODEL_KEY, KEY_REF_GROUP_ID, KEY_REF_GROUP_KEY_ID),
  364. FOREIGN KEY (TMODEL_KEY, KEY_REF_GROUP_ID)
  365. REFERENCES TMODEL_CATEGORY_KEY_REF_GRP (TMODEL_KEY, KEY_REF_GROUP_ID)
  366. );
  367. CREATE TABLE TMODEL_IDENTIFIER (
  368. TMODEL_KEY VARCHAR(255) NOT NULL,
  369. IDENTIFIER_ID INT NOT NULL,
  370. TMODEL_KEY_REF VARCHAR(255),
  371. KEY_NAME VARCHAR(255),
  372. KEY_VALUE VARCHAR(255) NOT NULL,
  373. PRIMARY KEY (TMODEL_KEY, IDENTIFIER_ID),
  374. FOREIGN KEY (TMODEL_KEY)
  375. REFERENCES TMODEL (TMODEL_KEY)
  376. );
  377. CREATE TABLE TMODEL_DOC (
  378. TMODEL_KEY VARCHAR(255) NOT NULL,
  379. TMODEL_DOC_ID INT NOT NULL,
  380. OVERVIEW_URL VARCHAR(255),
  381. USE_TYPE VARCHAR(255),
  382. PRIMARY KEY (TMODEL_KEY, TMODEL_DOC_ID),
  383. FOREIGN KEY (TMODEL_KEY)
  384. REFERENCES TMODEL (TMODEL_KEY)
  385. );
  386. CREATE TABLE TMODEL_DOC_DESCR (
  387. TMODEL_KEY VARCHAR(255) NOT NULL,
  388. TMODEL_DOC_DESCR_ID INT NOT NULL,
  389. LANG_CODE VARCHAR(5),
  390. DESCR VARCHAR(255) NOT NULL,
  391. TMODEL_DOC_ID INT NOT NULL,
  392. PRIMARY KEY (TMODEL_KEY, TMODEL_DOC_ID, TMODEL_DOC_DESCR_ID),
  393. FOREIGN KEY (TMODEL_KEY, TMODEL_DOC_ID)
  394. REFERENCES TMODEL_DOC (TMODEL_KEY, TMODEL_DOC_ID)
  395. );
  396. CREATE TABLE PUBLISHER_ASSERTION (
  397. FROM_KEY VARCHAR(255) NOT NULL,
  398. TO_KEY VARCHAR(255) NOT NULL,
  399. TMODEL_KEY VARCHAR(255) NOT NULL,
  400. KEY_NAME VARCHAR(255) NOT NULL,
  401. KEY_VALUE VARCHAR(255) NOT NULL,
  402. FROM_CHECK VARCHAR(5) NOT NULL,
  403. TO_CHECK VARCHAR(5) NOT NULL,
  404. LAST_UPDATE TIMESTAMP NOT NULL,
  405. FOREIGN KEY (FROM_KEY)
  406. REFERENCES BUSINESS_ENTITY (BUSINESS_KEY),
  407. FOREIGN KEY (TO_KEY)
  408. REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
  409. );
  410. CREATE TABLE PUBLISHER (
  411. PUBLISHER_ID VARCHAR(20) NOT NULL,
  412. PUBLISHER_NAME VARCHAR(255) NOT NULL,
  413. EMAIL_ADDRESS VARCHAR(255),
  414. IS_ADMIN VARCHAR(5),
  415. IS_ENABLED VARCHAR(5),
  416. PRIMARY KEY (PUBLISHER_ID)
  417. );
  418. CREATE TABLE AUTH_TOKEN (
  419. AUTH_TOKEN VARCHAR(51) NOT NULL,
  420. PUBLISHER_ID VARCHAR(20) NOT NULL,
  421. PUBLISHER_NAME VARCHAR(255) NOT NULL,
  422. CREATED TIMESTAMP NOT NULL,
  423. LAST_USED TIMESTAMP NOT NULL,
  424. NUMBER_OF_USES INT NOT NULL,
  425. TOKEN_STATE INT NOT NULL,
  426. PRIMARY KEY (AUTH_TOKEN)
  427. );
  428. CREATE TABLE ENTITY_SIGNATURE (
  429. ENTITY_KEY VARCHAR(255) NOT NULL,
  430. SIG_ID INT NOT NULL,
  431. SIGNATURE BLOB
  432. );
  433. CREATE TABLE PUBLISHER_ASSERTION_SIGNATURE (
  434. ENTITY_KEY VARCHAR(255) NOT NULL,
  435. SIG_ID INT NOT NULL,
  436. SIGNATURE BLOB,
  437. FROM_CHECK VARCHAR(5) NOT NULL,
  438. TO_CHECK VARCHAR(5) NOT NULL
  439. );
  440. CREATE TABLE SUBSCRIPTION (
  441. SUBSCRIPTION_KEY VARCHAR(255) NOT NULL,
  442. PUBLISHER_ID VARCHAR(20),
  443. SUBSCRIPTION_FILTER BLOB,
  444. BINDING_KEY VARCHAR(255),
  445. NOTIFICATION_INTERVAL VARCHAR(20),
  446. MAX_ENTITIES INT,
  447. EXPIRES_AFTER TIMESTAMP,
  448. BRIEF VARCHAR(5),
  449. PRIMARY KEY (SUBSCRIPTION_KEY)
  450. );
  451. CREATE TABLE NOTIFICATION (
  452. SUBSCRIPTION_KEY VARCHAR(255) NOT NULL,
  453. LAST_NOTIFICATION TIMESTAMP,
  454. LAST_UPDATE TIMESTAMP,
  455. FOREIGN KEY (SUBSCRIPTION_KEY)
  456. REFERENCES SUBSCRIPTION (SUBSCRIPTION_KEY)
  457. );
  458. CREATE TABLE HIGHWATERMARK (
  459. NODE_ID VARCHAR(255) NOT NULL,
  460. LAST_UPDATE TIMESTAMP,
  461. HIGHWATERMARKS BLOB,
  462. PRIMARY KEY (NODE_ID)
  463. );
  464. CREATE TABLE CHANGERECORD (
  465. LOCAL_USN INT NOT NULL,
  466. NODE_ID VARCHAR(255) NOT NULL,
  467. OPERATING_USN INT NOT NULL,
  468. LAST_UPDATE TIMESTAMP,
  469. CHANGERECORD_TYPE INT NOT NULL,
  470. CHANGERECORD_ENTITY_KEY VARCHAR(255) NOT NULL,
  471. CHANGERECORD_BYTES BLOB,
  472. CONSTRAINT NIOU UNIQUE (NODE_ID,OPERATING_USN),
  473. PRIMARY KEY (LOCAL_USN)
  474. );