CREATE SCHEMA IF NOT EXISTS ATTENDANCE AUTHORIZATION LMS;CREATE OR REPLACE FUNCTION PUBLIC.CUSTOM_RANDOM(START_NUMBER NUMERIC, END_NUMBER NUMERIC) RETURNS NUMERIC STRICT LANGUAGE PLPGSQL AS $$ BEGIN RETURN TRUNC(RANDOM() * ((END_NUMBER + 1) - START_NUMBER) + START_NUMBER); END; $$; ALTER FUNCTION PUBLIC.CUSTOM_RANDOM(NUMERIC, NUMERIC) OWNER TO LMS;DROP TABLE IF EXISTS ATTENDANCE.DOMAIN_LIST CASCADE; CREATE TABLE ATTENDANCE.DOMAIN_LIST ( DOMAIN_SEQ_ID NUMERIC NOT NULL, DOMAIN_NM CHARACTER VARYING(100), DOMAIN_ADDRS CHARACTER VARYING(200), DOMAIN_DESC CHARACTER VARYING(4000), USE_YN CHARACTER VARYING(1) DEFAULT 'Y', CRT_DTTM TIMESTAMP WITHOUT TIME ZONE DEFAULT (NOW() AT TIME ZONE 'ASIA/SEOUL') ); COMMENT ON COLUMN ATTENDANCE.DOMAIN_LIST.DOMAIN_SEQ_ID IS '도메인순번아이디'; COMMENT ON COLUMN ATTENDANCE.DOMAIN_LIST.DOMAIN_NM IS '도메인명'; COMMENT ON COLUMN ATTENDANCE.DOMAIN_LIST.DOMAIN_ADDRS IS '도메인주소'; COMMENT ON COLUMN ATTENDANCE.DOMAIN_LIST.DOMAIN_DESC IS '도메인설명'; COMMENT ON COLUMN ATTENDANCE.DOMAIN_LIST.USE_YN IS '사용여부'; COMMENT ON COLUMN ATTENDANCE.DOMAIN_LIST.CRT_DTTM IS '생성일시'; COMMENT ON TABLE ATTENDANCE.DOMAIN_LIST IS '도메인목록'; CREATE UNIQUE INDEX DOMAIN_LIST_PK ON ATTENDANCE.DOMAIN_LIST ( DOMAIN_SEQ_ID ); ALTER TABLE ATTENDANCE.DOMAIN_LIST ADD CONSTRAINT DOMAIN_LIST_PK PRIMARY KEY USING INDEX DOMAIN_LIST_PK; CREATE SEQUENCE ATTENDANCE.DOMAIN_LIST_ATTENDANCE_DOMAIN_SEQ_ID_SEQ; ALTER SEQUENCE ATTENDANCE.DOMAIN_LIST_ATTENDANCE_DOMAIN_SEQ_ID_SEQ OWNER TO LMS; ALTER SEQUENCE ATTENDANCE.DOMAIN_LIST_ATTENDANCE_DOMAIN_SEQ_ID_SEQ OWNED BY ATTENDANCE.DOMAIN_LIST.DOMAIN_SEQ_ID;DROP TABLE IF EXISTS ATTENDANCE.DOMAIN_ACCNT_LIST CASCADE; CREATE TABLE ATTENDANCE.DOMAIN_ACCNT_LIST ( DOMAIN_SEQ_ID NUMERIC NOT NULL, DOMAIN_ACCNT_ID CHARACTER VARYING(50) NOT NULL, DOMAIN_ACCNT_PSWRD CHARACTER VARYING(4000), LAST_ATNDNC_DTTM TIMESTAMP, MESRMNT_STRT_TM NUMERIC(2) DEFAULT 8, MESRMNT_END_TM NUMERIC(2) DEFAULT 20, MESRMNT_TM_INCLSN_PRBLTY NUMERIC(3) DEFAULT 95, ATNDNC_STRT_DTTM TIMESTAMP WITHOUT TIME ZONE, ATNDNC_STTS_CD CHARACTER VARYING(1), DOMAIN_ACCNT_DESC CHARACTER VARYING(4000), USE_YN CHARACTER VARYING(1) DEFAULT 'Y', CRT_DTTM TIMESTAMP WITHOUT TIME ZONE DEFAULT (NOW() AT TIME ZONE 'ASIA/SEOUL') ); COMMENT ON COLUMN ATTENDANCE.DOMAIN_ACCNT_LIST.DOMAIN_SEQ_ID IS '도메인순번아이디'; COMMENT ON COLUMN ATTENDANCE.DOMAIN_ACCNT_LIST.DOMAIN_ACCNT_ID IS '도메인계정아이디'; COMMENT ON COLUMN ATTENDANCE.DOMAIN_ACCNT_LIST.DOMAIN_ACCNT_PSWRD IS '도메인계정비밀번호'; COMMENT ON COLUMN ATTENDANCE.DOMAIN_ACCNT_LIST.LAST_ATNDNC_DTTM IS '마지막출석일자'; COMMENT ON COLUMN ATTENDANCE.DOMAIN_ACCNT_LIST.MESRMNT_STRT_TM IS '측정시작시간'; COMMENT ON COLUMN ATTENDANCE.DOMAIN_ACCNT_LIST.MESRMNT_END_TM IS '측정종료시간'; COMMENT ON COLUMN ATTENDANCE.DOMAIN_ACCNT_LIST.MESRMNT_TM_INCLSN_PRBLTY IS '측정시간포함확률'; COMMENT ON COLUMN ATTENDANCE.DOMAIN_ACCNT_LIST.ATNDNC_STRT_DTTM IS '출석시작일시'; COMMENT ON COLUMN ATTENDANCE.DOMAIN_ACCNT_LIST.ATNDNC_STTS_CD IS '출석상태코드'; COMMENT ON COLUMN ATTENDANCE.DOMAIN_ACCNT_LIST.DOMAIN_ACCNT_DESC IS '도메인계정설명'; COMMENT ON COLUMN ATTENDANCE.DOMAIN_ACCNT_LIST.USE_YN IS '사용여부'; COMMENT ON COLUMN ATTENDANCE.DOMAIN_ACCNT_LIST.CRT_DTTM IS '생성일시'; COMMENT ON TABLE ATTENDANCE.DOMAIN_ACCNT_LIST IS '도메인계정목록'; CREATE UNIQUE INDEX DOMAIN_ACCNT_LIST_PK ON ATTENDANCE.DOMAIN_ACCNT_LIST ( DOMAIN_SEQ_ID,DOMAIN_ACCNT_ID ); ALTER TABLE ATTENDANCE.DOMAIN_ACCNT_LIST ADD CONSTRAINT DOMAIN_ACCNT_LIST_PK PRIMARY KEY USING INDEX DOMAIN_ACCNT_LIST_PK;DROP TABLE IF EXISTS ATTENDANCE.ACT_LIST CASCADE; CREATE TABLE ATTENDANCE.ACT_LIST ( DOMAIN_SEQ_ID NUMERIC NOT NULL, ACT_ORD NUMERIC(2) NOT NULL, ACT_TYP_CD CHARACTER VARYING(10), ACT_DTL_JSON JSON, RETRY_YN CHARACTER VARYING(1), CRT_DTTM TIMESTAMP WITHOUT TIME ZONE DEFAULT (NOW() AT TIME ZONE 'ASIA/SEOUL') ); COMMENT ON COLUMN ATTENDANCE.ACT_LIST.DOMAIN_SEQ_ID IS '도메인순번아이디'; COMMENT ON COLUMN ATTENDANCE.ACT_LIST.ACT_ORD IS '행동순서'; COMMENT ON COLUMN ATTENDANCE.ACT_LIST.ACT_TYP_CD IS '행동유형코드'; COMMENT ON COLUMN ATTENDANCE.ACT_LIST.ACT_DTL_JSON IS '행동상세JSON'; COMMENT ON COLUMN ATTENDANCE.ACT_LIST.RETRY_YN IS '재시도여부'; COMMENT ON COLUMN ATTENDANCE.ACT_LIST.CRT_DTTM IS '생성일시'; COMMENT ON TABLE ATTENDANCE.ACT_LIST IS '행동목록'; CREATE UNIQUE INDEX ACT_LIST_PK ON ATTENDANCE.ACT_LIST ( DOMAIN_SEQ_ID,ACT_ORD ); ALTER TABLE ATTENDANCE.ACT_LIST ADD CONSTRAINT ACT_LIST_PK PRIMARY KEY USING INDEX ACT_LIST_PK;DROP TABLE IF EXISTS ATTENDANCE.ATNDNC_LOG CASCADE; CREATE TABLE ATTENDANCE.ATNDNC_LOG ( DOMAIN_SEQ_ID NUMERIC NOT NULL, DOMAIN_ACCNT_ID CHARACTER VARYING(50) NOT NULL, ATNDNC_DT CHARACTER VARYING(8) NOT NULL, LOG_SEQ_ID NUMERIC NOT NULL, LOG_MSG CHARACTER VARYING(4000), LOG_DTTM TIMESTAMP WITHOUT TIME ZONE DEFAULT (NOW() AT TIME ZONE 'ASIA/SEOUL') ); COMMENT ON COLUMN ATTENDANCE.ATNDNC_LOG.DOMAIN_SEQ_ID IS '도메인순번아이디'; COMMENT ON COLUMN ATTENDANCE.ATNDNC_LOG.DOMAIN_ACCNT_ID IS '도메인계정아이디'; COMMENT ON COLUMN ATTENDANCE.ATNDNC_LOG.ATNDNC_DT IS '출석일자'; COMMENT ON COLUMN ATTENDANCE.ATNDNC_LOG.LOG_SEQ_ID IS '로그순번아이디'; COMMENT ON COLUMN ATTENDANCE.ATNDNC_LOG.LOG_MSG IS '로그메시지'; COMMENT ON COLUMN ATTENDANCE.ATNDNC_LOG.LOG_DTTM IS '로그일시'; COMMENT ON TABLE ATTENDANCE.ATNDNC_LOG IS '출석로그'; CREATE UNIQUE INDEX ATNDNC_LOG_PK ON ATTENDANCE.ATNDNC_LOG ( DOMAIN_SEQ_ID,DOMAIN_ACCNT_ID,ATNDNC_DT,LOG_SEQ_ID ); ALTER TABLE ATTENDANCE.ATNDNC_LOG ADD CONSTRAINT ATNDNC_LOG_PK PRIMARY KEY USING INDEX ATNDNC_LOG_PK;