create_tables.sql 18 KB

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