create_Oracle_Table_For_MPlus.sql 50 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017
  1. ----------------------------------------------------------------------------------------------
  2. ---------- HOSPITAL TABLE 생성
  3. ----------------------------------------------------------------------------------------------
  4. CREATE TABLE MP_ACCESS_HISTORY
  5. (
  6. HISTORY_SEQ NUMBER(20,0) DEFAULT 0,
  7. USER_ID VARCHAR2 (255),
  8. --- DEVICE_UUID_ID VARCHAR2(255),
  9. MENU_ID VARCHAR2(255),
  10. MENU_NAME VARCHAR2(255),
  11. REQ_URI_ADDR VARCHAR2(1024),
  12. REMOTE_IP_ADDR VARCHAR2(1024),
  13. ACCESS_DT DATE,
  14. PLATFORM_TYPE VARCHAR2(50),
  15. BROWSER_VALUE VARCHAR2(255),
  16. SERVER_IP_ADDR VARCHAR2(1024),
  17. ACCESS_HASH_VALUE VARCHAR2(255)
  18. );
  19. COMMENT ON TABLE MP_ACCESS_HISTORY IS '사용자의 접근 이력';
  20. CREATE SEQUENCE SEQ_MP_ACCESS_HISTORY_HS INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  21. COMMENT ON COLUMN MP_ACCESS_HISTORY.HISTORY_SEQ IS '시퀀스';
  22. COMMENT ON COLUMN MP_ACCESS_HISTORY.USER_ID IS '사용자 ID';
  23. --- COMMENT ON COLUMN MP_ACCESS_HISTORY.DEVICE_UUID_ID IS '장비 고유식별자 or IP';
  24. COMMENT ON COLUMN MP_ACCESS_HISTORY.MENU_ID IS 'access원하는 메뉴식별자';
  25. COMMENT ON COLUMN MP_ACCESS_HISTORY.MENU_NAME IS 'access원하는 메뉴명 (메뉴가 동적으로 바뀔 수 있으므로 이름백업)';
  26. COMMENT ON COLUMN MP_ACCESS_HISTORY.REQ_URI_ADDR IS 'access 주소 (ui의 action)';
  27. COMMENT ON COLUMN MP_ACCESS_HISTORY.REMOTE_IP_ADDR IS 'client의 ip';
  28. COMMENT ON COLUMN MP_ACCESS_HISTORY.ACCESS_DT IS '요청일시';
  29. COMMENT ON COLUMN MP_ACCESS_HISTORY.PLATFORM_TYPE IS 'http 요청의 user agent 분석을 통해 결정되는 플랫폼 유형';
  30. COMMENT ON COLUMN MP_ACCESS_HISTORY.BROWSER_VALUE IS 'http 요청의 user agent 분석을 통해 결정되는 브라우저 유형';
  31. COMMENT ON COLUMN MP_ACCESS_HISTORY.SERVER_IP_ADDR IS '서버주소';
  32. COMMENT ON COLUMN MP_ACCESS_HISTORY.ACCESS_HASH_VALUE IS '접근이력 위변조 방지용';
  33. ----------------------------------------------------------------------------------------------
  34. CREATE TABLE MP_AGG_ACCESS
  35. (
  36. ACCESS_SEQ NUMBER(20,0),
  37. MENU_ID VARCHAR2(255),
  38. MENU_NAME VARCHAR2(255),
  39. REQ_URI_ADDR VARCHAR2(1024),
  40. HIT_CNT NUMBER(*,0),
  41. AGG_DT DATE,
  42. CONSTRAINT UQ_ACCESS_DT_MENU_ID UNIQUE (AGG_DT, MENU_ID)
  43. );
  44. COMMENT ON TABLE MP_AGG_ACCESS IS '메뉴 접근에 대한 통계';
  45. CREATE SEQUENCE SEQ_MP_AGG_ACCESS_AS INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  46. COMMENT ON COLUMN MP_AGG_ACCESS.ACCESS_SEQ IS '시퀀스';
  47. COMMENT ON COLUMN MP_AGG_ACCESS.MENU_ID IS '메뉴ID';
  48. COMMENT ON COLUMN MP_AGG_ACCESS.MENU_NAME IS '메뉴명';
  49. COMMENT ON COLUMN MP_AGG_ACCESS.REQ_URI_ADDR IS 'access 주소 (ui의 action)';
  50. COMMENT ON COLUMN MP_AGG_ACCESS.HIT_CNT IS '방문횟수';
  51. COMMENT ON COLUMN MP_AGG_ACCESS.AGG_DT IS '통계일시 (이 시간에 해당 메뉴에 얼마나 방문했는지)';
  52. ----------------------------------------------------------------------------------------------
  53. CREATE TABLE MP_AGG_DAILY
  54. (
  55. DAILY_SEQ NUMBER(20,0),
  56. AGG_DT DATE,
  57. HIT_CNT NUMBER(*,0),
  58. WEEK_ORDER NUMBER(*,0),
  59. CONSTRAINT UQ_AGG_DT_WEEK_ORDER UNIQUE (AGG_DT, WEEK_ORDER)
  60. );
  61. COMMENT ON TABLE MP_AGG_DAILY IS '날짜별, 요일별 접근 통계';
  62. CREATE SEQUENCE SEQ_MP_AGG_DAILY_DS INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  63. COMMENT ON COLUMN MP_AGG_DAILY.DAILY_SEQ IS '시퀀스';
  64. COMMENT ON COLUMN MP_AGG_DAILY.AGG_DT IS '통계일시 (이 시간에 해당 메뉴에 얼마나 방문했는지)';
  65. COMMENT ON COLUMN MP_AGG_DAILY.HIT_CNT IS '방문횟수';
  66. COMMENT ON COLUMN MP_AGG_DAILY.WEEK_ORDER IS '무슨요일인지';
  67. ----------------------------------------------------------------------------------------------
  68. CREATE TABLE MP_AGG_HOURLY
  69. (
  70. HOURLY_SEQ NUMBER(20,0),
  71. AGG_DT DATE,
  72. HIT_CNT NUMBER(*,0),
  73. TIME_ORDER NUMBER(*,0),
  74. CONSTRAINT UQ_AGG_DT_TIME_ORDER UNIQUE (AGG_DT, TIME_ORDER)
  75. );
  76. COMMENT ON TABLE MP_AGG_HOURLY IS '시간별 접근 통계';
  77. CREATE SEQUENCE SEQ_MP_AGG_HOURLY_HS INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  78. COMMENT ON COLUMN MP_AGG_HOURLY.HOURLY_SEQ IS '시퀀스';
  79. COMMENT ON COLUMN MP_AGG_HOURLY.AGG_DT IS '통계일시 (이 시간에 해당 메뉴에 얼마나 방문했는지)';
  80. COMMENT ON COLUMN MP_AGG_HOURLY.HIT_CNT IS '방문횟수';
  81. COMMENT ON COLUMN MP_AGG_HOURLY.TIME_ORDER IS '몇시인지';
  82. ----------------------------------------------------------------------------------------------
  83. CREATE TABLE MP_AGG_PLATFORM
  84. (
  85. PLATFORM_SEQ NUMBER(20,0),
  86. PLATFORM_TYPE VARCHAR2(50),
  87. HIT_CNT NUMBER(*,0),
  88. AGG_DT DATE,
  89. CONSTRAINT UQ_AGG_DT_PLATFROM_TYPE UNIQUE (AGG_DT, PLATFORM_TYPE)
  90. );
  91. COMMENT ON TABLE MP_AGG_PLATFORM IS '사용자 플랫폼별 접근 통계';
  92. CREATE SEQUENCE SEQ_MP_AGG_PLATFORM_PS INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  93. COMMENT ON COLUMN MP_AGG_PLATFORM.PLATFORM_SEQ IS '시퀀스';
  94. COMMENT ON COLUMN MP_AGG_PLATFORM.PLATFORM_TYPE IS '플랫폼';
  95. COMMENT ON COLUMN MP_AGG_PLATFORM.AGG_DT IS '통계일시 (이 시간에 해당 메뉴에 얼마나 방문했는지)';
  96. COMMENT ON COLUMN MP_AGG_PLATFORM.HIT_CNT IS '방문횟수';
  97. ----------------------------------------------------------------------------------------------
  98. CREATE TABLE MP_API_CATEGORY
  99. (
  100. CAT_SEQ NUMBER(20,0),
  101. CAT_NAME VARCHAR2(255),
  102. CAT_DESC VARCHAR2(500),
  103. PARENT_CAT_SEQ NUMBER(20,0),
  104. PATH_NAME VARCHAR2(255),
  105. CREATE_DT DATE,
  106. CREATE_ID VARCHAR2(255),
  107. UPDATE_DT DATE,
  108. UPDATE_ID VARCHAR2(255),
  109. CONSTRAINT PK_MP_API_CATEGORY PRIMARY KEY (CAT_SEQ),
  110. CONSTRAINT UQ_API_CAT_PATH_NAME UNIQUE(PATH_NAME)
  111. );
  112. COMMENT ON TABLE MP_API_CATEGORY IS 'API를 묶어주는 카테고리';
  113. CREATE SEQUENCE SEQ_MP_API_CATEGORY_CS INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  114. COMMENT ON COLUMN MP_API_CATEGORY.CAT_SEQ IS '시퀀스';
  115. COMMENT ON COLUMN MP_API_CATEGORY.CAT_NAME IS '카테고리명';
  116. COMMENT ON COLUMN MP_API_CATEGORY.CAT_DESC IS '설명';
  117. COMMENT ON COLUMN MP_API_CATEGORY.PARENT_CAT_SEQ IS '부모 시퀀스';
  118. COMMENT ON COLUMN MP_API_CATEGORY.PATH_NAME IS '카테고리 경로';
  119. COMMENT ON COLUMN MP_API_CATEGORY.CREATE_DT IS '생성일시';
  120. COMMENT ON COLUMN MP_API_CATEGORY.CREATE_ID IS '생성자';
  121. COMMENT ON COLUMN MP_API_CATEGORY.UPDATE_DT IS '수정일시';
  122. COMMENT ON COLUMN MP_API_CATEGORY.UPDATE_ID IS '수정자';
  123. ----------------------------------------------------------------------------------------------
  124. CREATE TABLE MP_API
  125. (
  126. API_SEQ NUMBER(20,0),
  127. API_TYPE VARCHAR2(50),
  128. DATA_SOURCE_NAME VARCHAR2(255),
  129. API_DESC VARCHAR2(500),
  130. HTTP_METHOD_TYPE VARCHAR2(50),
  131. API_NAME VARCHAR2(255),
  132. TARGET_NAME VARCHAR2(255),
  133. QUERY_MSG VARCHAR2(2048),
  134. RESULT_TYPE VARCHAR2(50),
  135. REQ_URL_ADDR VARCHAR2(1024),
  136. TARGET_URL_ADDR VARCHAR2(1024),
  137. RES_SAMPLE_CL CLOB,
  138. CAT_SEQ NUMBER(20,0),
  139. CAT_PATH_NAME VARCHAR2(255),
  140. CREATE_DT DATE,
  141. CREATE_ID VARCHAR2(255),
  142. UPDATE_DT DATE,
  143. UPDATE_ID VARCHAR2(255),
  144. CONSTRAINT PK_MP_API PRIMARY KEY (API_SEQ),
  145. CONSTRAINT UQ_API_CAT_SEQ UNIQUE (CAT_PATH_NAME, REQ_URL_ADDR),
  146. CONSTRAINT FK_API_CAT_SEQ FOREIGN KEY (CAT_SEQ) REFERENCES MP_API_CATEGORY (CAT_SEQ)
  147. );
  148. COMMENT ON TABLE MP_API IS 'API정보';
  149. CREATE SEQUENCE SEQ_MP_API_AS INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  150. COMMENT ON COLUMN MP_API.API_SEQ IS '시퀀스';
  151. COMMENT ON COLUMN MP_API.API_TYPE IS '유형 (SQL, WEB SERVICE..)';
  152. COMMENT ON COLUMN MP_API.DATA_SOURCE_NAME IS 'SQL타입인 경우 사용할 DataSource명';
  153. COMMENT ON COLUMN MP_API.API_DESC IS '설명';
  154. COMMENT ON COLUMN MP_API.HTTP_METHOD_TYPE IS 'HTTP통신이 사용되는 경우 메소드 유형 (GET/PUT/POST/DELETE)';
  155. COMMENT ON COLUMN MP_API.API_NAME IS '이름';
  156. COMMENT ON COLUMN MP_API.TARGET_NAME IS '프로시저명';
  157. COMMENT ON COLUMN MP_API.QUERY_MSG IS 'DB연동인 경우 질의문';
  158. COMMENT ON COLUMN MP_API.RESULT_TYPE IS '결과유형 (MAP, LIST, INT..)';
  159. COMMENT ON COLUMN MP_API.REQ_URL_ADDR IS '요청과 맵핑되는 주소 (category가 제외된 형태)';
  160. COMMENT ON COLUMN MP_API.TARGET_URL_ADDR IS 'HTTP 통신인 경우, API가 호출해야 하는 상대편 웹 서비스 주소 (파라미터 포함)';
  161. COMMENT ON COLUMN MP_API.RES_SAMPLE_CL IS '응답샘플';
  162. COMMENT ON COLUMN MP_API.CAT_SEQ IS 'API가 어느 카테고리에 포함되는지 시퀀스';
  163. COMMENT ON COLUMN MP_API.CAT_PATH_NAME IS 'API가 포함되는 카테고리 경로명 (반정규화)';
  164. COMMENT ON COLUMN MP_API.CREATE_DT IS '생성일시';
  165. COMMENT ON COLUMN MP_API.CREATE_ID IS '생성자';
  166. COMMENT ON COLUMN MP_API.UPDATE_DT IS '수정일시';
  167. COMMENT ON COLUMN MP_API.UPDATE_ID IS '수정자';
  168. ----------------------------------------------------------------------------------------------
  169. CREATE TABLE MP_API_HEADER
  170. (
  171. HEADER_SEQ NUMBER(20,0),
  172. API_SEQ NUMBER(20,0),
  173. HEADER_NAME VARCHAR2(255),
  174. HEADER_VALUE VARCHAR2(255),
  175. CONSTRAINT FK_API_HEADER_API_SEQ FOREIGN KEY (API_SEQ) REFERENCES MP_API (API_SEQ)
  176. );
  177. COMMENT ON TABLE MP_API_HEADER IS 'API 헤더 정보';
  178. CREATE SEQUENCE SEQ_MP_API_HEADER_HS INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  179. COMMENT ON COLUMN MP_API_HEADER.HEADER_SEQ IS '시퀀스';
  180. COMMENT ON COLUMN MP_API_HEADER.API_SEQ IS '어떤 API의 헤더인지에 대한 시퀀스';
  181. COMMENT ON COLUMN MP_API_HEADER.HEADER_NAME IS '헤더명';
  182. COMMENT ON COLUMN MP_API_HEADER.HEADER_VALUE IS '헤더값';
  183. ----------------------------------------------------------------------------------------------
  184. CREATE TABLE MP_API_PARAM
  185. (
  186. PARAM_SEQ NUMBER(20,0),
  187. API_SEQ NUMBER(20,0),
  188. DATA_TYPE VARCHAR2(50),
  189. PARAM_DESC VARCHAR2(500),
  190. PARAM_NAME VARCHAR2(255),
  191. SAMPLE_VALUE VARCHAR2(4000),
  192. CONSTRAINT FK_API_PARAM_API_SEQ FOREIGN KEY (API_SEQ) REFERENCES MP_API (API_SEQ)
  193. );
  194. COMMENT ON TABLE MP_API_PARAM IS 'API 파라미터 정보';
  195. CREATE SEQUENCE SEQ_MP_API_PARAM_PS INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  196. COMMENT ON COLUMN MP_API_PARAM.PARAM_SEQ IS '시퀀스';
  197. COMMENT ON COLUMN MP_API_PARAM.API_SEQ IS '어떤 API에 대한 파라미터인지';
  198. COMMENT ON COLUMN MP_API_PARAM.DATA_TYPE IS '파라미터의 데이터 타입';
  199. COMMENT ON COLUMN MP_API_PARAM.PARAM_DESC IS '설명';
  200. COMMENT ON COLUMN MP_API_PARAM.PARAM_NAME IS '이름';
  201. COMMENT ON COLUMN MP_API_PARAM.SAMPLE_VALUE IS '샘플 값';
  202. ----------------------------------------------------------------------------------------------
  203. CREATE TABLE MP_MENU
  204. (
  205. MENU_ID VARCHAR2(255),
  206. PARENT_MENU_ID VARCHAR2(255),
  207. MENU_ORDER NUMBER(*,0),
  208. MENU_TYPE VARCHAR2(50) DEFAULT 'MAIN',
  209. MENU_NAME VARCHAR2(255),
  210. ENABLED_YN CHAR(1) DEFAULT 'N',
  211. ACCESS_URI_ADDR VARCHAR2(1024),
  212. IMAGE_URI_ADDR VARCHAR2(1024),
  213. MENU_DESC VARCHAR2(500),
  214. AUTH_YN CHAR(1) DEFAULT 'Y',
  215. AUTH_VIEW_YN CHAR(1) DEFAULT 'N',
  216. AGG_YN CHAR(1) DEFAULT 'N',
  217. CONSTRAINT PK_MP_MENU PRIMARY KEY (MENU_ID)
  218. );
  219. COMMENT ON TABLE MP_MENU IS '메뉴정보';
  220. COMMENT ON COLUMN MP_MENU.MENU_ID IS '식별자';
  221. COMMENT ON COLUMN MP_MENU.PARENT_MENU_ID IS '부모메뉴 식별자';
  222. COMMENT ON COLUMN MP_MENU.MENU_ORDER IS '표시순서';
  223. COMMENT ON COLUMN MP_MENU.MENU_TYPE IS '메뉴유형 (NAVI, SIDE, CONT..)';
  224. COMMENT ON COLUMN MP_MENU.MENU_NAME IS '메뉴명 (사용자가 보는 text)';
  225. COMMENT ON COLUMN MP_MENU.ENABLED_YN IS '사용되는지 여부';
  226. COMMENT ON COLUMN MP_MENU.ACCESS_URI_ADDR IS '접근주소';
  227. COMMENT ON COLUMN MP_MENU.IMAGE_URI_ADDR IS '이미지 주소';
  228. COMMENT ON COLUMN MP_MENU.MENU_DESC IS '설명';
  229. COMMENT ON COLUMN MP_MENU.AUTH_YN IS '로그인한 사용자만 쓰는지 여부';
  230. COMMENT ON COLUMN MP_MENU.AUTH_VIEW_YN IS '로그인한 사용자에게 보일지 여부';
  231. COMMENT ON COLUMN MP_MENU.AGG_YN IS '통계대상인지 여부 ';
  232. ----------------------------------------------------------------------------------------------
  233. CREATE TABLE MP_MENU_PARAM
  234. (
  235. MENU_PARAM_SEQ NUMBER(20,0),
  236. MENU_ID VARCHAR2(255),
  237. PARAM_NAME VARCHAR2(255) NOT NULL,
  238. DATA_TYPE VARCHAR2(50) NOT NULL,
  239. PARAM_VALUE VARCHAR2(4000),
  240. PARAM_DESC VARCHAR2(500),
  241. CONSTRAINT FK_PARAM_MENU_ID FOREIGN KEY(MENU_ID) REFERENCES MP_MENU(MENU_ID),
  242. CONSTRAINT UQ_PARAM_PARAM_NAME UNIQUE (MENU_ID, PARAM_NAME)
  243. );
  244. COMMENT ON TABLE MP_MENU_PARAM IS '메뉴 파라미터 정보';
  245. CREATE SEQUENCE SEQ_MP_MENU_PARAM_SEQ_MPS INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  246. COMMENT ON COLUMN MP_MENU_PARAM.MENU_PARAM_SEQ IS '파라미터 SEQ';
  247. COMMENT ON COLUMN MP_MENU_PARAM.MENU_ID IS '메뉴 ID';
  248. COMMENT ON COLUMN MP_MENU_PARAM.PARAM_NAME IS '파라미터명';
  249. COMMENT ON COLUMN MP_MENU_PARAM.DATA_TYPE IS '데이터 타입';
  250. COMMENT ON COLUMN MP_MENU_PARAM.PARAM_VALUE IS '파라미터 값';
  251. COMMENT ON COLUMN MP_MENU_PARAM.PARAM_DESC IS '파라미터 설명';
  252. ----------------------------------------------------------------------------------------------
  253. CREATE TABLE MP_I18N
  254. (
  255. MENU_ID VARCHAR2(255),
  256. I18N_CD CHAR(2),
  257. CD_TEXT VARCHAR2(255),
  258. CONSTRAINT UQ_I18N_MENU_ID_I18N_CD UNIQUE (MENU_ID, I18N_CD),
  259. CONSTRAINT FK_I18N_MENU_ID FOREIGN KEY (MENU_ID) REFERENCES MP_MENU (MENU_ID)
  260. );
  261. COMMENT ON TABLE MP_MENU_PARAM IS '메뉴에 적용되는 다국어 정보';
  262. COMMENT ON COLUMN MP_I18N.MENU_ID IS '메뉴 ID';
  263. COMMENT ON COLUMN MP_I18N.I18N_CD IS '언어코드';
  264. COMMENT ON COLUMN MP_I18N.CD_TEXT IS '코드에 대핟되는 문자열';
  265. ----------------------------------------------------------------------------------------------
  266. CREATE TABLE MP_MANAGER
  267. (
  268. USER_ID VARCHAR2(255),
  269. USER_NAME VARCHAR2(255),
  270. ENABLED_YN CHAR(1) DEFAULT 'N',
  271. DEPT_NAME VARCHAR2(255),
  272. PWD_VALUE VARCHAR2(255),
  273. CREATE_DT DATE,
  274. CREATE_ID VARCHAR2(255),
  275. UPDATE_DT DATE,
  276. UPDATE_ID VARCHAR2(255),
  277. CONSTRAINT PK_MP_MANAGER PRIMARY KEY (USER_ID)
  278. );
  279. COMMENT ON TABLE MP_MANAGER IS '관리자 계정';
  280. COMMENT ON COLUMN MP_MANAGER.USER_ID IS '로그인 ID';
  281. COMMENT ON COLUMN MP_MANAGER.USER_NAME IS '이름';
  282. COMMENT ON COLUMN MP_MANAGER.ENABLED_YN IS '활성화 여부';
  283. COMMENT ON COLUMN MP_MANAGER.PWD_VALUE IS '로그인 암호';
  284. COMMENT ON COLUMN MP_MANAGER.CREATE_DT IS '생성일시';
  285. COMMENT ON COLUMN MP_MANAGER.CREATE_ID IS '생성자';
  286. COMMENT ON COLUMN MP_MANAGER.UPDATE_DT IS '수정일시';
  287. COMMENT ON COLUMN MP_MANAGER.UPDATE_ID IS '수정자';
  288. ----------------------------------------------------------------------------------------------
  289. CREATE TABLE MP_TELNO
  290. (
  291. TELNO_SEQ NUMBER(20,0),
  292. BUILDING_DESC VARCHAR2(500),
  293. ROOM_DESC VARCHAR2(500),
  294. TEL_VALUE VARCHAR2(255),
  295. TELNO_ORDER NUMBER(*,0) DEFAULT 1
  296. );
  297. COMMENT ON TABLE MP_TELNO IS '병원 전화번호';
  298. CREATE SEQUENCE SEQ_MP_TELNO_TS INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  299. COMMENT ON COLUMN MP_TELNO.TELNO_SEQ IS '시퀀스';
  300. COMMENT ON COLUMN MP_TELNO.BUILDING_DESC IS '건물';
  301. COMMENT ON COLUMN MP_TELNO.ROOM_DESC IS '건물내의 방';
  302. COMMENT ON COLUMN MP_TELNO.TEL_VALUE IS '전화번호';
  303. COMMENT ON COLUMN MP_TELNO.TELNO_ORDER IS '표시순서';
  304. ----------------------------------------------------------------------------------------------
  305. CREATE TABLE MP_INF_NURSE (
  306. NURSE_SEQ NUMBER (20),
  307. USER_ID VARCHAR2 (255),
  308. REQ_CODE_VALUE VARCHAR2(255),
  309. REQ_VALUE VARCHAR2(255),
  310. REQ_ETC_VALUE VARCHAR2(255),
  311. REG_DT DATE DEFAULT SYSDATE,
  312. UPDATE_DT DATE,
  313. RECEIVE_DT DATE
  314. );
  315. COMMENT ON TABLE MP_INF_NURSE IS '간호요청';
  316. CREATE SEQUENCE SEQ_MP_IF_NURSE_SEQ INCREMENT BY 1 START WITH 1 NOORDER;
  317. COMMENT ON COLUMN MP_INF_NURSE.NURSE_SEQ IS '시퀀스';
  318. COMMENT ON COLUMN MP_INF_NURSE.USER_ID IS '사용자 ID';
  319. COMMENT ON COLUMN MP_INF_NURSE.REQ_CODE_VALUE IS '요청코드나열 (화면에서 사용하기 편한 형태로)';
  320. COMMENT ON COLUMN MP_INF_NURSE.REQ_VALUE IS '요청을 문자료 표시 (부산대 요구사항)';
  321. COMMENT ON COLUMN MP_INF_NURSE.REQ_ETC_VALUE IS '주관식 요청 ';
  322. COMMENT ON COLUMN MP_INF_NURSE.REG_DT IS '요청일과 시간';
  323. COMMENT ON COLUMN MP_INF_NURSE.UPDATE_DT IS '기간계에서 요청을 가져간 시간';
  324. COMMENT ON COLUMN MP_INF_NURSE.RECEIVE_DT IS '간호에서 요청을 접수한 시간. 부산대에서 요구하니까 추가는 해주는데 과연 값이 제대로 들어올 것인가 의심하고 있음';
  325. ----------------------------------------------------------------------------------------------
  326. CREATE TABLE MP_PUSH_FORM (
  327. FORM_ID VARCHAR2(255),
  328. FORM_TYPE VARCHAR2(50),
  329. USE_YN CHAR(1),
  330. MENU_ID VARCHAR2(255),
  331. INCLUDE_NAME_YN CHAR(1),
  332. FORM_DESC VARCHAR2(500),
  333. REG_DT DATE DEFAULT SYSDATE,
  334. CONSTRAINT PK_MP_PUSH_FORM PRIMARY KEY (FORM_ID),
  335. CONSTRAINT FK_PUSH_FORM_MENU_ID FOREIGN KEY (MENU_ID) REFERENCES MP_MENU (MENU_ID)
  336. );
  337. COMMENT ON TABLE MP_PUSH_FORM IS '사용자에게 전송될 메시지 형식';
  338. COMMENT ON COLUMN MP_PUSH_FORM.FORM_ID IS '메시지 형식에 대한 식별자';
  339. COMMENT ON COLUMN MP_PUSH_FORM.FORM_TYPE IS '유형 : PAGE, MAP, GUIDE';
  340. COMMENT ON COLUMN MP_PUSH_FORM.USE_YN IS '사용여부 (PUSH_MSG쪽에서 FK로 참조될꺼라서 삭제기능이 없을것임)';
  341. COMMENT ON COLUMN MP_PUSH_FORM.MENU_ID IS '유형이 PAGE인 경우 메뉴 식별자. 확장자가 page인 메뉴만 가능';
  342. COMMENT ON COLUMN MP_PUSH_FORM.INCLUDE_NAME_YN IS '메시지에 이름포함 여부';
  343. COMMENT ON COLUMN MP_PUSH_FORM.FORM_DESC IS '형식에 대한 설명';
  344. COMMENT ON COLUMN MP_PUSH_FORM.REG_DT IS '추가된 시간';
  345. ----------------------------------------------------------------------------------------------
  346. CREATE TABLE MP_EVENT_LOG (
  347. LOG_SEQ NUMBER(20) DEFAULT 0,
  348. USER_ID VARCHAR2 (255),
  349. --- DEVICE_UUID_ID VARCHAR2(255),
  350. EVENT_NAME VARCHAR2(255) NOT NULL,
  351. LOG_DT DATE DEFAULT SYSDATE
  352. );
  353. COMMENT ON TABLE MP_EVENT_LOG IS '비콘 이벤트';
  354. CREATE SEQUENCE SEQ_MP_EVENT_LOG_LS INCREMENT BY 1 START WITH 1 NOORDER;
  355. COMMENT ON COLUMN MP_EVENT_LOG.LOG_SEQ IS '시퀀스';
  356. COMMENT ON COLUMN MP_EVENT_LOG.USER_ID IS '사용자 ID (NULL일 수 있음)';
  357. --- COMMENT ON COLUMN MP_EVENT_LOG.DEVICE_UUID_ID IS '토큰ID (NULL일 수 있음)';
  358. COMMENT ON COLUMN MP_EVENT_LOG.EVENT_NAME IS '이벤트 이름';
  359. COMMENT ON COLUMN MP_EVENT_LOG.LOG_DT IS '이벤트 수신 시간 (발생시간이 아님)';
  360. ----------------------------------------------------------------------------------------------
  361. CREATE TABLE MP_AGG_EVENT (
  362. AGG_SEQ NUMBER(20) DEFAULT 0,
  363. EVENT_NAME VARCHAR2(255) NOT NULL,
  364. HIT_CNT NUMBER(*,0),
  365. AGG_DT DATE DEFAULT SYSDATE
  366. );
  367. COMMENT ON TABLE MP_AGG_EVENT IS '비콘 이벤트 집계';
  368. CREATE SEQUENCE SEQ_MP_AGG_EVENT_AS INCREMENT BY 1 START WITH 1 NOORDER;
  369. COMMENT ON COLUMN MP_AGG_EVENT.AGG_SEQ IS '시퀀스';
  370. COMMENT ON COLUMN MP_AGG_EVENT.EVENT_NAME IS '발생된 이벤트명';
  371. COMMENT ON COLUMN MP_AGG_EVENT.HIT_CNT IS '발생횟수';
  372. COMMENT ON COLUMN MP_AGG_EVENT.AGG_DT IS '집계기준시간';
  373. ----------------------------------------------------------------------------------------------
  374. ---------- COMMON TABLE 생성
  375. ----------------------------------------------------------------------------------------------
  376. CREATE TABLE MP_VERSION
  377. (
  378. PLATFORM_TYPE VARCHAR2(50),
  379. CERT_TYPE VARCHAR2(50) DEFAULT 'InHouse',
  380. VERSION_ORDER NUMBER(*,0),
  381. APP_NAME VARCHAR2(255),
  382. MARKET_URL VARCHAR2(1024),
  383. CONSTRAINT UQ_MP_VERSION UNIQUE (PLATFORM_TYPE, CERT_TYPE, APP_NAME)
  384. );
  385. COMMENT ON TABLE MP_VERSION IS '앱 버전정보';
  386. COMMENT ON COLUMN MP_VERSION.PLATFORM_TYPE IS '플랫폼 유형';
  387. COMMENT ON COLUMN MP_VERSION.CERT_TYPE IS '인증유형 구분 (InHouse, AppStore 등..)';
  388. COMMENT ON COLUMN MP_VERSION.VERSION_ORDER IS '현재 최신버전. 이 버전보다 이전 버전들은 업데이트를 해야함. 이후버전(지금 심사중인 버전)들은 안해도됨. ';
  389. COMMENT ON COLUMN MP_VERSION.APP_NAME IS '배포된 이름';
  390. COMMENT ON COLUMN MP_VERSION.MARKET_URL IS '앱을 다운로드 받기 위한 마켓 주소';
  391. ----------------------------------------------------------------------------------------------
  392. CREATE TABLE MP_USER
  393. (
  394. USER_SEQ NUMBER (20),
  395. USER_ID VARCHAR2 (255),
  396. USER_NAME VARCHAR2 (255),
  397. LOGIN_FAIL_CNT NUMBER (10),
  398. PASSWORD_VALUE VARCHAR2 (255),
  399. PASSWORD_UPDATE_DT DATE,
  400. REGISTER_DT DATE,
  401. LOCAL_CIPHER_KEY_VALUE VARCHAR2 (255),
  402. USE_ATTR_ORDER NUMBER (20),
  403. CONSTRAINT PK_USER_ID PRIMARY KEY (USER_ID)
  404. );
  405. COMMENT ON TABLE MP_USER IS '사용자 정보';
  406. CREATE SEQUENCE SEQ_MP_USER_US INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  407. COMMENT ON COLUMN MP_USER.USER_SEQ IS '시퀀스';
  408. COMMENT ON COLUMN MP_USER.USER_ID IS '사용자 ID';
  409. COMMENT ON COLUMN MP_USER.USER_NAME IS '사용자 이름';
  410. COMMENT ON COLUMN MP_USER.LOGIN_FAIL_CNT IS '로그인 실패 횟수';
  411. COMMENT ON COLUMN MP_USER.PASSWORD_VALUE IS '로그인 암호 (sha-256)';
  412. COMMENT ON COLUMN MP_USER.REGISTER_DT IS '등록일';
  413. ----------------------------------------------------------------------------------------------
  414. CREATE TABLE MP_AGREEMENT
  415. (
  416. AGREEMENT_SEQ NUMBER(20,0),
  417. AGREEMENT_ORDER NUMBER(*,0),
  418. AGREEMENT_NAME VARCHAR2(255) NOT NULL,
  419. AGREEMENT_CL CLOB NOT NULL,
  420. AGREEMENT_ID VARCHAR2(255 BYTE),
  421. TYPE_NAME VARCHAR2(255) NOT NULL,
  422. VERSION_NUMBER NUMBER(20,0),
  423. REQUIRED_YN CHAR(1) DEFAULT 'N',
  424. ENABLED_YN CHAR(1) DEFAULT 'N',
  425. NEW_YN CHAR(1) DEFAULT 'Y',
  426. CONSTRAINT PK_AGREEMENT_SEQ PRIMARY KEY (AGREEMENT_SEQ)
  427. );
  428. COMMENT ON TABLE MP_AGREEMENT IS '서비스 약관(동의서) 정보';
  429. CREATE SEQUENCE SEQ_MP_AGREEMENT INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  430. COMMENT ON COLUMN MP_AGREEMENT.AGREEMENT_SEQ IS '시퀀스';
  431. COMMENT ON COLUMN MP_AGREEMENT.AGREEMENT_ORDER IS '동의서 순서';
  432. COMMENT ON COLUMN MP_AGREEMENT.AGREEMENT_NAME IS '동의서 이름';
  433. COMMENT ON COLUMN MP_AGREEMENT.AGREEMENT_CL IS '동의서 내용';
  434. COMMENT ON COLUMN MP_AGREEMENT.AGREEMENT_ID IS '동의서 식별자 ';
  435. COMMENT ON COLUMN MP_AGREEMENT.TYPE_NAME IS '동의서유형(ALL, MINOR). 현재는 일반/미성년자만 있지만 조만간 외국인도 생길듯하여 NAME으로함';
  436. COMMENT ON COLUMN MP_AGREEMENT.VERSION_NUMBER IS '동의서 버전 ';
  437. COMMENT ON COLUMN MP_AGREEMENT.REQUIRED_YN IS '필수 여부';
  438. COMMENT ON COLUMN MP_AGREEMENT.ENABLED_YN IS '활성화 여부';
  439. COMMENT ON COLUMN MP_AGREEMENT.REQUIRED_YN IS '필수 여부';
  440. COMMENT ON COLUMN MP_AGREEMENT.NEW_YN IS '최신 동의서 여부';
  441. ----------------------------------------------------------------------------------------------
  442. CREATE TABLE MP_USER_AGREEMENT
  443. (
  444. USER_AGREEMENT_SEQ NUMBER (20),
  445. AGREEMENT_SEQ NUMBER (20) NOT NULL,
  446. AGREEMENT_ID VARCHAR2(255) NOT NULL,
  447. USER_ID VARCHAR2(255) NOT NULL,
  448. AGREEMENT_YN CHAR (1) DEFAULT 'N',
  449. REGISTER_DT DATE,
  450. CONSTRAINT PK_USER_AGREEMENT_SEQ PRIMARY KEY (USER_AGREEMENT_SEQ),
  451. CONSTRAINT FK_USER_AGREEMENT_SEQ FOREIGN KEY (AGREEMENT_SEQ) REFERENCES MP_AGREEMENT(AGREEMENT_SEQ),
  452. CONSTRAINT FK_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES MP_USER(USER_ID)
  453. );
  454. COMMENT ON TABLE MP_USER_AGREEMENT IS '서비스 약관(동의서) 동의여부';
  455. CREATE SEQUENCE SEQ_MP_USER_AGREEMENT_UA INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  456. COMMENT ON COLUMN MP_USER_AGREEMENT.USER_AGREEMENT_SEQ IS '시퀀스';
  457. COMMENT ON COLUMN MP_USER_AGREEMENT.AGREEMENT_SEQ IS '동의서 시퀀스';
  458. COMMENT ON COLUMN MP_USER_AGREEMENT.AGREEMENT_ID IS '동의서 ID';
  459. COMMENT ON COLUMN MP_USER_AGREEMENT.USER_ID IS '사용자 ID';
  460. COMMENT ON COLUMN MP_USER_AGREEMENT.AGREEMENT_YN IS '동의여부 (Y/N)';
  461. COMMENT ON COLUMN MP_USER_AGREEMENT.REGISTER_DT IS '등록일시';
  462. ----------------------------------------------------------------------------------------------
  463. CREATE TABLE MNS_RECEIVER_DEVICE
  464. (
  465. RECEIVER_ID VARCHAR2(255) NOT NULL,
  466. DEVICE_TOKEN_ID VARCHAR2(255),
  467. PLATFORM_TYPE VARCHAR2(50) NOT NULL,
  468. CERT_TYPE VARCHAR2(50) DEFAULT '',
  469. REGISTER_DT DATE DEFAULT SYSDATE,
  470. UPDATE_DT DATE DEFAULT SYSDATE,
  471. CONSTRAINT UQ_RECEIVER_TOKEN_ID UNIQUE (RECEIVER_ID, DEVICE_TOKEN_ID, PLATFORM_TYPE)
  472. );
  473. COMMENT ON TABLE MNS_RECEIVER_DEVICE IS 'device token 정보';
  474. COMMENT ON COLUMN MNS_RECEIVER_DEVICE.RECEIVER_ID IS '수신자 아이디 (예 : 사용자ID)';
  475. COMMENT ON COLUMN MNS_RECEIVER_DEVICE.DEVICE_TOKEN_ID IS '토큰';
  476. COMMENT ON COLUMN MNS_RECEIVER_DEVICE.PLATFORM_TYPE IS '플랫폼 구분 (A : Android, I : iPhone)';
  477. COMMENT ON COLUMN MNS_RECEIVER_DEVICE.CERT_TYPE IS '인증유형 구분 (InHouse, AppStore 등..)';
  478. COMMENT ON COLUMN MNS_RECEIVER_DEVICE.REGISTER_DT IS '토큰 등록일';
  479. COMMENT ON COLUMN MNS_RECEIVER_DEVICE.UPDATE_DT IS '토큰 수정일';
  480. ----------------------------------------------------------------------------------------------
  481. CREATE TABLE MNS_CONTENTS
  482. (
  483. CONTENTS_SEQ NUMBER(20,0),
  484. CONTENTS_MSG VARCHAR2(4000) NOT NULL,
  485. SENDER_ID VARCHAR2(100) NOT NULL,
  486. CREATE_DT DATE DEFAULT SYSDATE,
  487. RESERVE_SEND_DT DATE DEFAULT SYSDATE,
  488. CONSTRAINT PK_MNS_CONTENTS PRIMARY KEY (CONTENTS_SEQ)
  489. );
  490. COMMENT ON TABLE MNS_CONTENTS IS '전송될 메시지 정보';
  491. CREATE SEQUENCE SEQ_MNS_CONTENTS INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  492. COMMENT ON COLUMN MNS_CONTENTS.CONTENTS_SEQ IS '시퀀스';
  493. COMMENT ON COLUMN MNS_CONTENTS.CONTENTS_MSG IS '메시지 내용';
  494. COMMENT ON COLUMN MNS_CONTENTS.SENDER_ID IS '발송자아이디';
  495. COMMENT ON COLUMN MNS_CONTENTS.CREATE_DT IS '레코드 등록일시';
  496. COMMENT ON COLUMN MNS_CONTENTS.RESERVE_SEND_DT IS '예약전송일시';
  497. ----------------------------------------------------------------------------------------------
  498. CREATE TABLE MNS_CONTENTS_RESULT
  499. (
  500. CONTENTS_SEQ NUMBER(20,0),
  501. COMPLETE_DT DATE NOT NULL,
  502. CONSTRAINT FK_CONTENTS_SEQ FOREIGN KEY (CONTENTS_SEQ) REFERENCES MNS_CONTENTS (CONTENTS_SEQ),
  503. CONSTRAINT UQ_CONTENTS_SEQ UNIQUE (CONTENTS_SEQ)
  504. );
  505. COMMENT ON TABLE MNS_CONTENTS_RESULT IS '메시지 전송결과';
  506. COMMENT ON COLUMN MNS_CONTENTS_RESULT.CONTENTS_SEQ IS '발송순서';
  507. COMMENT ON COLUMN MNS_CONTENTS_RESULT.COMPLETE_DT IS '전체 수신자에 대한 발송완료 일시';
  508. ----------------------------------------------------------------------------------------------
  509. CREATE TABLE MNS_RECEIVER
  510. (
  511. CONTENTS_SEQ NUMBER(20,0) ,
  512. RECEIVER_ID VARCHAR2(255) NOT NULL,
  513. CONSTRAINT FK_RC_CONTENTS_SEQ FOREIGN KEY (CONTENTS_SEQ) REFERENCES MNS_CONTENTS (CONTENTS_SEQ),
  514. CONSTRAINT UQ_RC_CONTENTS_SEQ_RECEIVER_ID UNIQUE (CONTENTS_SEQ, RECEIVER_ID) VALIDATE
  515. );
  516. COMMENT ON TABLE MNS_RECEIVER IS '메시지 수신자';
  517. COMMENT ON COLUMN MNS_RECEIVER.CONTENTS_SEQ IS '발송순서';
  518. COMMENT ON COLUMN MNS_RECEIVER.RECEIVER_ID IS '수신자 아이디';
  519. ----------------------------------------------------------------------------------------------
  520. CREATE TABLE MNS_RECEIVER_RESULT
  521. (
  522. CONTENTS_SEQ NUMBER(20,0),
  523. RECEIVER_ID VARCHAR2(255),
  524. DEVICE_TOKEN_ID VARCHAR2(255),
  525. PLATFORM_TYPE VARCHAR2(50),
  526. SEND_DT DATE NOT NULL,
  527. SUCCESS_YN CHAR(1) NOT NULL,
  528. ERROR_TYPE VARCHAR2(50),
  529. DELETE_YN CHAR(1),
  530. READ_YN CHAR(1),
  531. CONSTRAINT FK_CONTENTS_SEQ_RECEIVER_ID FOREIGN KEY (CONTENTS_SEQ, RECEIVER_ID)
  532. REFERENCES MNS_RECEIVER (CONTENTS_SEQ, RECEIVER_ID)
  533. );
  534. COMMENT ON TABLE MNS_RECEIVER_RESULT IS '메시지 수신자별 전송결과';
  535. COMMENT ON COLUMN MNS_RECEIVER_RESULT.CONTENTS_SEQ IS '발송순서';
  536. COMMENT ON COLUMN MNS_RECEIVER_RESULT.RECEIVER_ID IS '수신자 아이디';
  537. COMMENT ON COLUMN MNS_RECEIVER_RESULT.DEVICE_TOKEN_ID IS '토큰';
  538. COMMENT ON COLUMN MNS_RECEIVER_RESULT.PLATFORM_TYPE IS '플랫폼 구분';
  539. COMMENT ON COLUMN MNS_RECEIVER_RESULT.SEND_DT IS '발송일시';
  540. COMMENT ON COLUMN MNS_RECEIVER_RESULT.SUCCESS_YN IS '발송 성공여부';
  541. COMMENT ON COLUMN MNS_RECEIVER_RESULT.ERROR_TYPE IS '발송실패 에러응답코드';
  542. COMMENT ON COLUMN MNS_RECEIVER_RESULT.DELETE_YN IS '메시지 삭제여부 (삭제예정필드)';
  543. COMMENT ON COLUMN MNS_RECEIVER_RESULT.READ_YN IS '메시지 읽음여부 (삭제예정필드)';
  544. ----------------------------------------------------------------------------------------------
  545. CREATE TABLE MP_AGG_MSG (
  546. AGG_SEQ NUMBER(20) DEFAULT 0,
  547. AGG_DT DATE DEFAULT SYSDATE,
  548. TOTAL_CNT NUMBER(*, 0),
  549. SUCCESS_CNT NUMBER(*, 0)
  550. );
  551. COMMENT ON TABLE MP_AGG_MSG IS '메시지 전송 결과 집계정보';
  552. CREATE SEQUENCE SEQ_MP_AGG_MSG_MS INCREMENT BY 1 START WITH 1 NOORDER;
  553. COMMENT ON COLUMN MP_AGG_MSG.AGG_SEQ IS '시퀀스';
  554. COMMENT ON COLUMN MP_AGG_MSG.AGG_DT IS '집계날짜';
  555. COMMENT ON COLUMN MP_AGG_MSG.TOTAL_CNT IS '전송횟수';
  556. COMMENT ON COLUMN MP_AGG_MSG.SUCCESS_CNT IS '성공횟수';
  557. ----------------------------------------------------------------------------------------------
  558. CREATE TABLE MP_AGG_USER_AGE
  559. (
  560. AGG_SEQ NUMBER(20, 0),
  561. AGE_ORDER NUMBER(*, 0),
  562. DATA_CNT NUMBER(*,0),
  563. AGG_DT DATE
  564. );
  565. COMMENT ON TABLE MP_AGG_USER_AGE IS '가입자 연령별 통계';
  566. CREATE SEQUENCE SEQ_MP_AGG_USER_AU INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  567. COMMENT ON COLUMN MP_AGG_USER_AGE.AGG_SEQ IS '시퀀스';
  568. COMMENT ON COLUMN MP_AGG_USER_AGE.AGE_ORDER IS '연령대';
  569. COMMENT ON COLUMN MP_AGG_USER_AGE.DATA_CNT IS '인원수';
  570. COMMENT ON COLUMN MP_AGG_USER_AGE.AGG_DT IS '통계일시';
  571. ----------------------------------------------------------------------------------------------
  572. CREATE TABLE MP_AGG_USER_TMP --- 사용자 연령대와 우편번호 통계데이터 마련을 위한 임시 테이블. 지우고, 데이터 추가
  573. (
  574. AGE_ORDER NUMBER(*, 0),
  575. POSTNO_VALUE VARCHAR2(255)
  576. );
  577. COMMENT ON TABLE MP_AGG_USER_TMP IS '가입자 통계를 위한 임시 테이블';
  578. COMMENT ON COLUMN MP_AGG_USER_TMP.AGE_ORDER IS '연령대';
  579. COMMENT ON COLUMN MP_AGG_USER_TMP.POSTNO_VALUE IS '우편번호';
  580. commit;
  581. ----------------------------------------------------------------------------------------------
  582. CREATE TABLE MP_AGG_USER_POSTNO
  583. (
  584. AGG_SEQ NUMBER(20, 0) NOT NULL,
  585. POSTNO_VALUE VARCHAR2(255) NOT NULL,
  586. DATA_CNT NUMBER(*, 0) NOT NULL,
  587. AGG_DT DATE NOT NULL
  588. );
  589. COMMENT ON TABLE MP_AGG_USER_POSTNO IS '위치별 가입자 통계';
  590. CREATE SEQUENCE SEQ_MP_AGG_POSTNO_AP INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  591. COMMENT ON COLUMN MP_AGG_USER_POSTNO.AGG_SEQ IS '시퀀스';
  592. COMMENT ON COLUMN MP_AGG_USER_POSTNO.POSTNO_VALUE IS '우편번호에 해당하는 시 정보';
  593. COMMENT ON COLUMN MP_AGG_USER_POSTNO.DATA_CNT IS '인원수';
  594. COMMENT ON COLUMN MP_AGG_USER_POSTNO.AGG_DT IS '통계일시';
  595. ----------------------------------------------------------------------------------------------
  596. CREATE TABLE MP_AGG_USER_REGISTER
  597. (
  598. REG_SEQ NUMBER(20, 0) NOT NULL,
  599. REG_CNT NUMBER(*, 0) NOT NULL,
  600. AGG_DT DATE NOT NULL
  601. );
  602. COMMENT ON TABLE MP_AGG_USER_REGISTER IS '날짜별 가입인원 통계';
  603. CREATE SEQUENCE SEQ_MP_USER_REGISTER_UR INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  604. COMMENT ON COLUMN MP_AGG_USER_REGISTER.REG_SEQ IS '시퀀스';
  605. COMMENT ON COLUMN MP_AGG_USER_REGISTER.REG_CNT IS '인원수';
  606. COMMENT ON COLUMN MP_AGG_USER_REGISTER.AGG_DT IS '통계일시';
  607. ----------------------------------------------------------------------------------------------
  608. CREATE TABLE MP_ZIPCODE
  609. (
  610. ZIP_SEQ NUMBER(20, 0) DEFAULT 0,
  611. ZIP_ID VARCHAR2(255) NOT NULL,
  612. SI_ID VARCHAR2(255) NOT NULL,
  613. SI_VALUE VARCHAR2(255) NOT NULL,
  614. GUNGU_VALUE VARCHAR2(255)
  615. );
  616. COMMENT ON TABLE MP_ZIPCODE IS '통계를 위한 우편번호 정보';
  617. CREATE SEQUENCE SEQ_MP_ZIPCODE_ZC INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  618. COMMENT ON COLUMN MP_ZIPCODE.ZIP_SEQ IS '시퀀스';
  619. COMMENT ON COLUMN MP_ZIPCODE.ZIP_ID IS '시군구우편번호 (5자리체계에서 앞에 3자리)';
  620. COMMENT ON COLUMN MP_ZIPCODE.SI_ID IS '시군구우편번호 (5자리체계에서 앞에 2자리)';
  621. COMMENT ON COLUMN MP_ZIPCODE.SI_VALUE IS '시';
  622. COMMENT ON COLUMN MP_ZIPCODE.GUNGU_VALUE IS '군/구';
  623. ----------------------------------------------------------------------------------------------
  624. CREATE TABLE MP_HELPER_CONTENTS
  625. (
  626. HELPER_SEQ NUMBER(20, 0),
  627. USER_ID VARCHAR2 (255) NOT NULL,
  628. USER_MSG VARCHAR2(4000) NOT NULL,
  629. MENU_ID VARCHAR2(255),
  630. SEND_DT DATE DEFAULT SYSDATE
  631. );
  632. COMMENT ON TABLE MP_HELPER_CONTENTS IS '도우미 메시지';
  633. CREATE INDEX IDX_HELPER_CONTENTS ON MP_HELPER_CONTENTS(USER_ID, SEND_DT);
  634. CREATE SEQUENCE SEQ_MP_HELPER_HS INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  635. COMMENT ON COLUMN MP_HELPER_CONTENTS.HELPER_SEQ IS '시퀀스';
  636. COMMENT ON COLUMN MP_HELPER_CONTENTS.USER_ID IS '사용자 ID';
  637. COMMENT ON COLUMN MP_HELPER_CONTENTS.USER_MSG IS '도우미 화면에 보일 메시지';
  638. COMMENT ON COLUMN MP_HELPER_CONTENTS.MENU_ID IS '어느 메뉴에 붙는지 메뉴 ID (분석용)';
  639. COMMENT ON COLUMN MP_HELPER_CONTENTS.SEND_DT IS '보낸시간. Push를 통해서는 전송실패되었을 수 있으나 어쨌든 서버는 보낸 메시지';
  640. ----------------------------------------------------------------------------------------------
  641. CREATE TABLE MP_LOGIN_HISTORY
  642. (
  643. LOGIN_SEQ NUMBER(20,0),
  644. USER_ID VARCHAR2(255),
  645. LOGIN_DT DATE,
  646. REMEMBER_ME_YN CHAR(1),
  647. LOGIN_HASH_VALUE VARCHAR2 (255)
  648. );
  649. COMMENT ON TABLE MP_LOGIN_HISTORY IS '사용자 로그인 이력';
  650. CREATE SEQUENCE SEQ_MP_LOGIN_HISTORY_LS INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  651. COMMENT ON COLUMN MP_LOGIN_HISTORY.LOGIN_SEQ IS '시퀀스';
  652. COMMENT ON COLUMN MP_LOGIN_HISTORY.USER_ID IS '사용자 ID';
  653. COMMENT ON COLUMN MP_LOGIN_HISTORY.LOGIN_DT IS '로그인 일시';
  654. COMMENT ON COLUMN MP_LOGIN_HISTORY.REMEMBER_ME_YN IS '자동 로그인 여부';
  655. COMMENT ON COLUMN MP_LOGIN_HISTORY.LOGIN_HASH_VALUE IS '로그인 해쉬';
  656. ----------------------------------------------------------------------------------------------
  657. CREATE TABLE MP_MNS_MSGMAPPING
  658. (
  659. USER_ID VARCHAR2 (255) NOT NULL,
  660. CONTENTS_SEQ NUMBER(20,0) NOT NULL,
  661. FORM_ID VARCHAR2(255) NOT NULL,
  662. MESSAGE_VALUE VARCHAR2(255) NOT NULL,
  663. LOG_DT DATE DEFAULT SYSDATE
  664. );
  665. COMMENT ON TABLE MP_HELPER_CONTENTS IS '메시지 추적을 위한 맵핑정보';
  666. CREATE INDEX IDX_MSGMAPPING_CONTENTS ON MP_MNS_MSGMAPPING(USER_ID);
  667. COMMENT ON COLUMN MP_MNS_MSGMAPPING.USER_ID IS '사용자 ID (검색용)';
  668. COMMENT ON COLUMN MP_MNS_MSGMAPPING.CONTENTS_SEQ IS 'PUSH 메시지 구분자';
  669. COMMENT ON COLUMN MP_MNS_MSGMAPPING.FORM_ID IS '메시지 유형';
  670. COMMENT ON COLUMN MP_MNS_MSGMAPPING.MESSAGE_VALUE IS '메시지 본문 내용';
  671. COMMENT ON COLUMN MP_MNS_MSGMAPPING.LOG_DT IS '로그 남기는 시간';
  672. ---------------------------------------------------------------------------------------------- 병원마다 메뉴 구조가 다를 수 있어서 별도의 FORM이 만들어지기 때문에 공통이 될 수 없어서 병원구분이 들어갔음
  673. CREATE TABLE MP_INF_PUSH_MSG (
  674. PUSH_SEQ NUMBER(20),
  675. FORM_ID VARCHAR2(255) NOT NULL,
  676. HOSPITAL_VALUE VARCHAR2(255) NOT NULL,
  677. USER_ID VARCHAR2(255) NOT NULL,
  678. USER_NAME VARCHAR2(255),
  679. MESSAGE_VALUE VARCHAR2(255) NOT NULL,
  680. PARAM_VALUE VARCHAR2(255),
  681. STAGE_ORDER NUMBER(2) DEFAULT 40,
  682. REQ_DT DATE DEFAULT SYSDATE,
  683. SENDER_ID VARCHAR2(255) DEFAULT 'UNKNOWN',
  684. PUMPING_DT DATE,
  685. SEND_YN CHAR(1) DEFAULT 'N',
  686. RESERVE_SEND_DT DATE DEFAULT SYSDATE
  687. );
  688. COMMENT ON TABLE MP_INF_PUSH_MSG IS '기간계의 메시지 전송 요청내역';
  689. CREATE SEQUENCE SEQ_MP_INF_FORM_PUSH_PS INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  690. COMMENT ON COLUMN MP_INF_PUSH_MSG.PUSH_SEQ IS '시퀀스';
  691. COMMENT ON COLUMN MP_INF_PUSH_MSG.FORM_ID IS '[기간계] 메시지 형식 (DB가 달라서 FK를 걸어둘 수 없음)';
  692. COMMENT ON COLUMN MP_INF_PUSH_MSG.HOSPITAL_VALUE IS '[기간계] 어느병원에서 쏘는 메시지인지 구분. 이 병원에 등록된 FORM_ID 대로 PUSH가 나갈것임';
  693. COMMENT ON COLUMN MP_INF_PUSH_MSG.USER_ID IS '[기간계] 메시지 수신자';
  694. COMMENT ON COLUMN MP_INF_PUSH_MSG.USER_NAME IS '[기간계/옵션] 메시지 수신자 이름';
  695. COMMENT ON COLUMN MP_INF_PUSH_MSG.MESSAGE_VALUE IS '[기간계] 메시지 내용';
  696. COMMENT ON COLUMN MP_INF_PUSH_MSG.PARAM_VALUE IS '[기간계/옵션] 메시지 형식이 필요로 하는 파라미터. 예) MAP-목적지 (옵션)';
  697. COMMENT ON COLUMN MP_INF_PUSH_MSG.STAGE_ORDER IS '[기간계/필수] 접수(10)-진료(20)-수납(30)-귀가(40).';
  698. COMMENT ON COLUMN MP_INF_PUSH_MSG.SENDER_ID IS '[기간계/옵션] 누가 메시지 전송을 의뢰했는지 확인용';
  699. COMMENT ON COLUMN MP_INF_PUSH_MSG.REQ_DT IS '전송 요청시간';
  700. COMMENT ON COLUMN MP_INF_PUSH_MSG.PUMPING_DT IS '요청을 꺼낸시간';
  701. COMMENT ON COLUMN MP_INF_PUSH_MSG.SEND_YN IS '전송의뢰 성공여부';
  702. COMMENT ON COLUMN MP_INF_PUSH_MSG.RESERVE_SEND_DT IS '[기간계/옵션] 예약전송시간';
  703. ----------------------------------------------------------------------------------------------
  704. CREATE TABLE MP_PAYMENT_MASTER
  705. (
  706. HOSPITAL_VALUE VARCHAR2(255) NOT NULL,
  707. MSG_SEQ NUMBER(9) NOT NULL,
  708. MSG_TYPE VARCHAR2(50) NOT NULL,
  709. ORDER_ID NUMBER(13) NOT NULL,
  710. USER_ID VARCHAR2(255) NOT NULL,
  711. DEPARTMENT_TYPE VARCHAR2(50),
  712. ORDER_TYPE VARCHAR2(50),
  713. EXAM_DT DATE,
  714. REQ_DT DATE DEFAULT SYSDATE,
  715. PG_TYPE VARCHAR2(50) NOT NULL,
  716. CARD_COMPANY_TYPE VARCHAR2(50),
  717. CARD_TYPE VARCHAR2(50),
  718. CARD_NO_VALUE VARCHAR2(255),
  719. CARD_QUOTA_VALUE VARCHAR2(255),
  720. CARD_INTEREST_VALUE VARCHAR2(255),
  721. TRANS_DT DATE,
  722. TRANS_VALUE VARCHAR2(255),
  723. TRANS_ID_VALUE VARCHAR2(255),
  724. AMOUNT_VALUE VARCHAR2(255) NOT NULL,
  725. CANCEL_ORIGIN_ORDER_ID VARCHAR2(255),
  726. CANCEL_ORIGIN_TRANS_DT DATE,
  727. SEND_DT DATE,
  728. SEND_ERROR_YN VARCHAR2(255),
  729. SEND_RETRY_CNT NUMBER (10) DEFAULT 0,
  730. AUTH_REQ_VALUE VARCHAR2(255),
  731. REMARK_VALUE VARCHAR2(255),
  732. CONSTRAINT PK_PAYMENT_ORDER_ID PRIMARY KEY (ORDER_ID)
  733. );
  734. COMMENT ON TABLE MP_PAYMENT_MASTER IS '거래마스터';
  735. CREATE SEQUENCE SEQ_MP_PAYMENT_MSG_PM INCREMENT BY 1 START WITH 1 MAXVALUE 999999999 ORDER CYCLE;
  736. CREATE SEQUENCE SEQ_MP_PAYMENT_ORDER_PO INCREMENT BY 1 START WITH 1 MAXVALUE 9999999999999 ORDER NOCYCLE;
  737. COMMENT ON COLUMN MP_PAYMENT_MASTER.HOSPITAL_VALUE IS '병원코드 (031, 032)';
  738. COMMENT ON COLUMN MP_PAYMENT_MASTER.MSG_SEQ IS '전송일자별로 unique한 전문번호. KIS전문 제한에 따라 10자리';
  739. COMMENT ON COLUMN MP_PAYMENT_MASTER.MSG_TYPE IS '승인인지 취소인지여부 (승인 02, 취소12)';
  740. COMMENT ON COLUMN MP_PAYMENT_MASTER.ORDER_ID IS 'PK. 주문번호. Nice의 주문번호, KIS전문의 거래일련번호.';
  741. COMMENT ON COLUMN MP_PAYMENT_MASTER.USER_ID IS '사용자번호';
  742. COMMENT ON COLUMN MP_PAYMENT_MASTER.DEPARTMENT_TYPE IS '진료과코드 (15자리 정도)';
  743. COMMENT ON COLUMN MP_PAYMENT_MASTER.ORDER_TYPE IS '진료유형 (I:입원, O:외래, E:응급)';
  744. COMMENT ON COLUMN MP_PAYMENT_MASTER.EXAM_DT IS '진료일 (시간은 없음)';
  745. COMMENT ON COLUMN MP_PAYMENT_MASTER.REQ_DT IS '거래요청시간. MSG_TYPE에 따라 승인 혹은 취소 요청시간';
  746. COMMENT ON COLUMN MP_PAYMENT_MASTER.PG_TYPE IS 'PG사 유형 (SSG, R2P)';
  747. COMMENT ON COLUMN MP_PAYMENT_MASTER.CARD_COMPANY_TYPE IS '카드사코드 (PG사에서 받은 그대로 추가됨)';
  748. COMMENT ON COLUMN MP_PAYMENT_MASTER.CARD_TYPE IS '카드타입(01:신용카드, 02:체크카드, 03:해외). 해외는 넣을 수 없음. ';
  749. COMMENT ON COLUMN MP_PAYMENT_MASTER.CARD_NO_VALUE IS '카드번호';
  750. COMMENT ON COLUMN MP_PAYMENT_MASTER.CARD_QUOTA_VALUE IS '할부개월 (00:일시불, 03:3개월)';
  751. COMMENT ON COLUMN MP_PAYMENT_MASTER.CARD_INTEREST_VALUE IS '가맹점 무이자 유무 (0:일반, 1:가맹점부담 무이자 사용)';
  752. COMMENT ON COLUMN MP_PAYMENT_MASTER.TRANS_DT IS '거래완료 일시. 승인이면 승인일시, 취소면 취소일시';
  753. COMMENT ON COLUMN MP_PAYMENT_MASTER.TRANS_VALUE IS '거래결과번호. 승인이면 승인번호, 취소이면 취소번호';
  754. COMMENT ON COLUMN MP_PAYMENT_MASTER.TRANS_ID_VALUE IS '거래식별자(NicePay의 T_ID). 취소 요청시 필요함';
  755. COMMENT ON COLUMN MP_PAYMENT_MASTER.AMOUNT_VALUE IS '승인/취소 금액';
  756. COMMENT ON COLUMN MP_PAYMENT_MASTER.CANCEL_ORIGIN_ORDER_ID IS '취소 시 원거래번호';
  757. COMMENT ON COLUMN MP_PAYMENT_MASTER.CANCEL_ORIGIN_TRANS_DT IS '취소 시 원거래 승인일시';
  758. COMMENT ON COLUMN MP_PAYMENT_MASTER.SEND_DT IS '실시간 배치 전송 시간';
  759. COMMENT ON COLUMN MP_PAYMENT_MASTER.SEND_ERROR_YN IS '실시간 배치 전송 에러 여부';
  760. COMMENT ON COLUMN MP_PAYMENT_MASTER.SEND_RETRY_CNT IS '실패 재전송 횟수';
  761. COMMENT ON COLUMN MP_PAYMENT_MASTER.AUTH_REQ_VALUE IS '요청의 유효성 검증 코드';
  762. COMMENT ON COLUMN MP_PAYMENT_MASTER.REMARK_VALUE IS '참고용 ';
  763. ----------------------------------------------------------------------------------------------
  764. ---------------------------- MP_AUTH 관련 테이블 --------------------------
  765. CREATE TABLE MP_ATTR_TYPE
  766. (
  767. ATTR_TYPE_SEQ NUMBER(20),
  768. ATTR_TYPE VARCHAR2(255) NOT NULL,
  769. ATTR_TYPE_NAME VARCHAR2(255) NOT NULL,
  770. CONSTRAINT PK_MP_ATTR_TYPE PRIMARY KEY (ATTR_TYPE),
  771. CONSTRAINT UQ_MP_ATTR_TYPE UNIQUE (ATTR_TYPE, ATTR_TYPE_NAME)
  772. );
  773. CREATE SEQUENCE SEQ_MP_ATTR_TYPE INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  774. COMMENT ON TABLE MP_ATTR_TYPE IS '업무 속 타입';
  775. COMMENT ON COLUMN MP_ATTR_TYPE.ATTR_TYPE_SEQ IS '업무 속성 타입 SEQ';
  776. COMMENT ON COLUMN MP_ATTR_TYPE.ATTR_TYPE IS '업무 속성 타입';
  777. COMMENT ON COLUMN MP_ATTR_TYPE.ATTR_TYPE_NAME IS '업무 속성 타입 이름';
  778. CREATE TABLE MP_ATTR
  779. (
  780. ATTR_SEQ NUMBER(20),
  781. ATTR_TYPE VARCHAR2(255) NOT NULL,
  782. ATTR_ID VARCHAR2(255) NOT NULL,
  783. ATTR_NAME VARCHAR2(255) NOT NULL,
  784. UPPER_ATTR VARCHAR2(255) DEFAULT 'none',
  785. CONSTRAINT UQ_MP_ATTR UNIQUE (ATTR_TYPE, ATTR_ID),
  786. CONSTRAINT FK_MP_ATTR_ATTR_TYPE FOREIGN KEY (ATTR_TYPE) REFERENCES MP_ATTR_TYPE(ATTR_TYPE)
  787. );
  788. CREATE SEQUENCE SEQ_MP_ATTR INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  789. COMMENT ON TABLE MP_ATTR IS '업무 속성';
  790. COMMENT ON COLUMN MP_ATTR.ATTR_SEQ IS '업무 속성 SEQ';
  791. COMMENT ON COLUMN MP_ATTR.ATTR_TYPE IS '업무 속성 타입';
  792. COMMENT ON COLUMN MP_ATTR.ATTR_ID IS '업무 속성 ID';
  793. COMMENT ON COLUMN MP_ATTR.ATTR_NAME IS '업무 속성 이름';
  794. CREATE TABLE MP_USER_ATTR
  795. (
  796. USER_ATTR_SEQ NUMBER (20),
  797. USER_ATTR_ORDER NUMBER (*,0) NOT NULL,
  798. USER_ID VARCHAR2(255) NOT NULL,
  799. HOSPITAL_ID VARCHAR2(255) NOT NULL,
  800. DUTY_ID VARCHAR2(255) NOT NULL,
  801. WORK_ID VARCHAR2(255) NOT NULL,
  802. CONSTRAINT PK_USER_ATTR_SEQ PRIMARY KEY (USER_ATTR_SEQ),
  803. CONSTRAINT FK_USER_ATTR_USER_ID FOREIGN KEY (USER_ID) REFERENCES MP_USER(USER_ID),
  804. CONSTRAINT UQ_MP_USER_ATTR UNIQUE (USER_ID, HOSPITAL_ID, DUTY_ID, WORK_ID),
  805. CONSTRAINT UQ_MP_USER_ATTR_ORDER UNIQUE(USER_ID, USER_ATTR_ORDER )
  806. );
  807. COMMENT ON TABLE MP_USER_ATTR IS '사용자 업무 테이블';
  808. CREATE SEQUENCE SEQ_MP_USER_ATTR INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  809. COMMENT ON COLUMN MP_USER_ATTR.USER_ATTR_SEQ IS '사용자 업무 SEQ';
  810. COMMENT ON COLUMN MP_USER_ATTR.USER_ATTR_ORDER IS '사용자 업무 우선 순위';
  811. COMMENT ON COLUMN MP_USER_ATTR.USER_ID IS '사용자 ID';
  812. COMMENT ON COLUMN MP_USER_ATTR.HOSPITAL_ID IS '소속 ID';
  813. COMMENT ON COLUMN MP_USER_ATTR.DUTY_ID IS '직무 ID';
  814. COMMENT ON COLUMN MP_USER_ATTR.WORK_ID IS '업무 ID';
  815. CREATE TABLE MP_EXTRA_ATTR
  816. (
  817. EXTRA_ATTR_SEQ NUMBER(20),
  818. EXTRA_ATTR_ID VARCHAR2(255) NOT NULL,
  819. EXTRA_ATTR_NAME VARCHAR2(255) NOT NULL,
  820. EXTRA_ATTR_DESC VARCHAR2(500),
  821. CONSTRAINT PK_EXTRA_WORK_ID PRIMARY KEY (EXTRA_ATTR_ID),
  822. CONSTRAINT UQ_MP_EXTRA_ATTR UNIQUE (EXTRA_ATTR_ID, EXTRA_ATTR_NAME)
  823. );
  824. COMMENT ON TABLE MP_EXTRA_ATTR IS '확장 속성';
  825. CREATE SEQUENCE SEQ_MP_EXTRA_ATTR INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  826. COMMENT ON COLUMN MP_EXTRA_ATTR.EXTRA_ATTR_SEQ IS ' 업무 SEQ';
  827. COMMENT ON COLUMN MP_EXTRA_ATTR.EXTRA_ATTR_ID IS '확장 업무 ID';
  828. COMMENT ON COLUMN MP_EXTRA_ATTR.EXTRA_ATTR_NAME IS '확장 업무 이름';
  829. COMMENT ON COLUMN MP_EXTRA_ATTR.EXTRA_ATTR_DESC IS '확장 업무 설명';
  830. CREATE TABLE MP_EXTRA_ATTR_USER
  831. (
  832. EXTRA_ATTR_USER_SEQ NUMBER(20),
  833. EXTRA_ATTR_ID VARCHAR2(255) NOT NULL,
  834. USER_ID VARCHAR2(255) NOT NULL,
  835. EXTRA_ATTR_USER_ORDER NUMBER(*,0),
  836. CONSTRAINT PK_EXTRA_ATTR_USER_SEQ PRIMARY KEY (EXTRA_ATTR_USER_SEQ),
  837. CONSTRAINT FK_EXTRA_ATTR_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES MP_USER(USER_ID),
  838. CONSTRAINT FK_EXTRA_ATTR_ID FOREIGN KEY (EXTRA_ATTR_ID) REFERENCES MP_EXTRA_ATTR(EXTRA_ATTR_ID)
  839. );
  840. COMMENT ON TABLE MP_EXTRA_ATTR_USER IS '확장 업무 사용자';
  841. CREATE SEQUENCE SEQ_MP_EXTRA_ATTR_USER INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  842. COMMENT ON COLUMN MP_EXTRA_ATTR_USER.EXTRA_ATTR_USER_SEQ IS '확장 업무 사용자 SEQ';
  843. COMMENT ON COLUMN MP_EXTRA_ATTR_USER.EXTRA_ATTR_ID IS '확장 업무 ID';
  844. COMMENT ON COLUMN MP_EXTRA_ATTR_USER.USER_ID IS '확장 업무 사용자 ID';
  845. CREATE TABLE MP_AUTH
  846. (
  847. AUTH_SEQ NUMBER(20),
  848. AUTH_ID VARCHAR2(255) NOT NULL,
  849. AUTH_NAME VARCHAR2(255) NOT NULL,
  850. AUTH_DESC VARCHAR2(500),
  851. CONSTRAINT PK_AUTH_ID PRIMARY KEY (AUTH_ID),
  852. CONSTRAINT UQ_MP_AUTH UNIQUE (AUTH_ID, AUTH_NAME)
  853. );
  854. COMMENT ON TABLE MP_AUTH IS '권한';
  855. CREATE SEQUENCE SEQ_MP_AUTH INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  856. COMMENT ON COLUMN MP_AUTH.AUTH_SEQ IS '권한 SEQ';
  857. COMMENT ON COLUMN MP_AUTH.AUTH_ID IS '권한 ID';
  858. COMMENT ON COLUMN MP_AUTH.AUTH_NAME IS '권한 이름';
  859. CREATE TABLE MP_AUTH_ATTR
  860. (
  861. AUTH_ATTR_SEQ NUMBER(20),
  862. AUTH_ID VARCHAR2(255) NOT NULL,
  863. AUTH_TYPE VARCHAR2(255) NOT NULL,
  864. AUTH_ATTR_TYPE VARCHAR2(255) NOT NULL,
  865. AUTH_ATTR_ID VARCHAR2(255) NOT NULL,
  866. CONSTRAINT FK_AUTH_ID FOREIGN KEY (AUTH_ID) REFERENCES MP_AUTH(AUTH_ID)
  867. );
  868. COMMENT ON TABLE MP_AUTH_ATTR IS '권한 속성';
  869. CREATE INDEX MP_AUTH_ATTR_IDX1 ON MP_AUTH_ATTR(AUTH_ATTR_ID, AUTH_ATTR_TYPE, AUTH_TYPE);
  870. CREATE SEQUENCE SEQ_MP_AUTH_ATTR INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  871. COMMENT ON COLUMN MP_AUTH_ATTR.AUTH_ATTR_SEQ IS '권한 속성 SEQ';
  872. COMMENT ON COLUMN MP_AUTH_ATTR.AUTH_ID IS '권한 ID';
  873. COMMENT ON COLUMN MP_AUTH_ATTR.AUTH_TYPE IS '권한 타입 (ADD, MINUS)';
  874. COMMENT ON COLUMN MP_AUTH_ATTR.AUTH_ATTR_TYPE IS '권한 속성 타입';
  875. COMMENT ON COLUMN MP_AUTH_ATTR.AUTH_ATTR_ID IS '권한 속성 ID';
  876. ----------------------------------------------------------------------------------------------
  877. CREATE TABLE MP_MENU_AUTH
  878. (
  879. MENU_AUTH_SEQ NUMBER(20),
  880. MENU_ID VARCHAR2(255) NOT NULL,
  881. AUTH_ID VARCHAR2(255) NOT NULL,
  882. CONSTRAINT FK_MENU_AUTH_MENU_ID FOREIGN KEY (MENU_ID) REFERENCES MP_MENU(MENU_ID),
  883. CONSTRAINT FK_MENU_AUTH_AUTH_ID FOREIGN KEY (AUTH_ID) REFERENCES MP_AUTH(AUTH_ID),
  884. CONSTRAINT UQ_MP_MENU_AUTH UNIQUE (MENU_ID, AUTH_ID)
  885. );
  886. COMMENT ON TABLE MP_MENU_AUTH IS '메뉴 권한 속성';
  887. CREATE SEQUENCE SEQ_MP_MENU_AUTH INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  888. COMMENT ON COLUMN MP_MENU_AUTH.MENU_AUTH_SEQ IS '메뉴 권한 SEQ';
  889. COMMENT ON COLUMN MP_MENU_AUTH.MENU_ID IS '메뉴 ID';
  890. COMMENT ON COLUMN MP_MENU_AUTH.AUTH_ID IS '권한 ID';
  891. CREATE TABLE MP_USER_DEVICE
  892. (
  893. DEVICE_SEQ NUMBER(20),
  894. USER_ID VARCHAR2(255) NOT NULL,
  895. DEVICE_ID VARCHAR2(255) NOT NULL,
  896. DEVICE_MODEL VARCHAR2(255) NOT NULL,
  897. DEVICE_TYPE VARCHAR2(255) NOT NULL,
  898. DEVICE_ALIAS VARCHAR2(255) NOT NULL,
  899. CONSTRAINT FK_MP_USER_DEVICE_USER_ID FOREIGN KEY (USER_ID) REFERENCES MP_USER(USER_ID),
  900. CONSTRAINT UQ_MP_USER_DEVICE UNIQUE (USER_ID, DEVICE_ID)
  901. );
  902. COMMENT ON TABLE MP_USER_DEVICE IS '사용자 Device';
  903. CREATE SEQUENCE SEQ_MP_USER_DEVICE INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  904. COMMENT ON COLUMN MP_USER_DEVICE.DEVICE_SEQ IS '사용자 Device SEQ';
  905. COMMENT ON COLUMN MP_USER_DEVICE.USER_ID IS '사용자 ID';
  906. COMMENT ON COLUMN MP_USER_DEVICE.DEVICE_ID IS 'Device ID';
  907. COMMENT ON COLUMN MP_USER_DEVICE.DEVICE_MODEL IS 'Device Model(iPhone6s, 갤럭시s6)';
  908. COMMENT ON COLUMN MP_USER_DEVICE.DEVICE_TYPE IS 'Device Type (iOS, android)';
  909. COMMENT ON COLUMN MP_USER_DEVICE.DEVICE_ALIAS IS '사용자 장비 별칭';
  910. CREATE TABLE MP_PUBLIC_DEVICE
  911. (
  912. PUBLICE_DEVICE_SEQ NUMBER(20),
  913. DEVICE_ID VARCHAR2(255) NOT NULL,
  914. DEVICE_MODEL VARCHAR2(255) NOT NULL,
  915. DEVICE_TYPE VARCHAR2(255) NOT NULL,
  916. DEVICE_ALIAS VARCHAR2(255) NOT NULL,
  917. CONSTRAINT UQ_MP_PUBLICE_DEVICE UNIQUE (DEVICE_ID)
  918. );
  919. COMMENT ON TABLE MP_PUBLIC_DEVICE IS '공용 Device';
  920. CREATE SEQUENCE SEQ_MP_PUBLIC_DEVICE INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 NOORDER;
  921. COMMENT ON COLUMN MP_PUBLIC_DEVICE.PUBLICE_DEVICE_SEQ IS '공용 Device SEQ';
  922. COMMENT ON COLUMN MP_PUBLIC_DEVICE.DEVICE_ID IS 'Device ID';
  923. COMMENT ON COLUMN MP_PUBLIC_DEVICE.DEVICE_MODEL IS 'Device Model(iPhone6s, 갤럭시s6)';
  924. COMMENT ON COLUMN MP_PUBLIC_DEVICE.DEVICE_TYPE IS 'Device Type (iOS, android)';
  925. COMMENT ON COLUMN MP_PUBLIC_DEVICE.DEVICE_ALIAS IS '공용 장비 별칭';
  926. CREATE TABLE MP_DEMO_USER
  927. (
  928. USER_ID VARCHAR2(255 BYTE),
  929. USER_NAME VARCHAR2(255 BYTE),
  930. TELNO_VALUE VARCHAR2(255 BYTE) DEFAULT NULL,
  931. INHOSPITAL_YN CHAR(1 BYTE) DEFAULT 'N',
  932. CARNO_VALUE VARCHAR2(255 BYTE),
  933. HEIGHT_VALUE VARCHAR2(255 BYTE) DEFAULT '0.0',
  934. WEIGHT_VALUE VARCHAR2(255 BYTE) DEFAULT '0.0',
  935. CHECK_DT DATE DEFAULT NULL,
  936. BIRTHDAY_DT DATE,
  937. GENDER_VALUE VARCHAR2(255 BYTE) DEFAULT 'M',
  938. ZIPCODE_VALUE VARCHAR2(255 BYTE),
  939. ZIPCODE_TXT_VALUE VARCHAR2(255 BYTE),
  940. ADDR_VALUE VARCHAR2(255 BYTE),
  941. CONSTRAINT PK_MCARE_DEMO_USER PRIMARY KEY (USER_ID)
  942. );
  943. COMMENT ON COLUMN MP_DEMO_USER.USER_ID IS '사용자 ID';
  944. COMMENT ON COLUMN MP_DEMO_USER.USER_NAME IS '사용자 이름';
  945. COMMENT ON COLUMN MP_DEMO_USER.TELNO_VALUE IS '전화번호';
  946. COMMENT ON COLUMN MP_DEMO_USER.INHOSPITAL_YN IS '재원여부(병원에 있는지 여부)';
  947. COMMENT ON COLUMN MP_DEMO_USER.CARNO_VALUE IS '차량번호';
  948. COMMENT ON COLUMN MP_DEMO_USER.HEIGHT_VALUE IS '키';
  949. COMMENT ON COLUMN MP_DEMO_USER.WEIGHT_VALUE IS '몸무게';
  950. COMMENT ON COLUMN MP_DEMO_USER.CHECK_DT IS '키/몸무게 측정일시';
  951. COMMENT ON COLUMN MP_DEMO_USER.BIRTHDAY_DT IS '생년월일';
  952. COMMENT ON COLUMN MP_DEMO_USER.GENDER_VALUE IS '성별 (1,3:남, 2,4:여, 5,7:외국인남, 6,8:외국인여)';
  953. COMMENT ON COLUMN MP_DEMO_USER.ZIPCODE_VALUE IS '우편번호';
  954. COMMENT ON COLUMN MP_DEMO_USER.ZIPCODE_TXT_VALUE IS '우편번호 대응주소';
  955. COMMENT ON COLUMN MP_DEMO_USER.ADDR_VALUE IS '우편번호 나머지 ';
  956. COMMIT;