테이블 정의서

1. member 테이블 (회원)

테이블명 설명 풀네임 (Logical) 컬럼명 (Physical) 자료형 PK FK NULL 허용 기본값 비고
member 고유번호 id id NUMBER O X X PK, 시퀀스 사용
member 이름(한글) name name VARCHAR2(50) X X X
member 아이디 user_id user_id VARCHAR2(50) X X X UNIQUE
member 비밀번호 해시 password_hash pw_hash VARCHAR2(255) X X X BCrypt 암호화
member 이메일 email email VARCHAR2(100) X X X UNIQUE
member 정보 수집 동의(’Y’, ‘N’) agree_privacy agree CHAR(1) X X X 'N' Y/N 여부
member 알림 동의 notification notif CHAR(1) X X X 'N' Y/N 여부
member 영어 이름 (이름) english_first en_first VARCHAR2(50) X X X 카드발급용 필수
member 영어 이름 (성) english_last en_last VARCHAR2(50) X X X 카드발급용 필수
member 연동 은행명 bank_name bank_name VARCHAR2(50) X X X
member 개인 계좌번호 personal_account_no pers_acct_no VARCHAR2(255) X X X AES-256 암호화
member 가입 일시 created_at created_at TIMESTAMP X X X SYSTIMESTAMP
member 수정 일시 updated_at updated_at TIMESTAMP X X O
member 계정 상태(’Y’, ‘N’) active active CHAR(1) X X X 'Y' Y/N 여부
member 집주소 address address VARCHAR2(255) X X X
member 권한(’USER’, ADMIN’) role role VARCHAR2(20) X X X 'USER' USER, ADMIN
member 전화번호(- 포함) phone_number phone_no VARCHAR2(20) X X X 평문 저장
member 개인 프로필 이미지 profile_img profile_img VARCHAR2(500) X X O S3 또는 서버 저장 경로
member 주민등록번호 resident_reg_number rrn VARCHAR2(255) X X X AES-256 암호화

2. account 테이블 (계좌)

테이블명 설명 풀네임 (Logical) 컬럼명 (Physical) 자료형 PK FK NULL 허용 기본값 비고
account 계좌 고유번호 id id NUMBER O X X
account 계좌 번호 account_number acct_no VARCHAR2(30) X X X UNIQUE
account 비밀번호 해시 password_hash pw_hash VARCHAR2(255) X X O BCrypt 암호화
account 계좌 상태 status status VARCHAR2(20) X X X 'ACTIVE' ACTIVE, FREEZE, CLOSED
account 원장 총 잔액 balance bal NUMBER X X X 0
account 실제 사용가능 금액 available_balance avail_bal NUMBER X X X 0 출금 가능 금액
account 소비 제한 한도 spend_limit_amount limit_amt NUMBER X X O FIN-04 알림용
account 배송 주소 delivery_address deliv_addr VARCHAR2(255) X X O 카드 배송지 등
account 직업 정보 job_info job_info VARCHAR2(100) X X O 금융법 요건
account 거래 목적 trade_purpose trade_purp VARCHAR2(100) X X O 금융법 요건
account 자금 출처 fund_source fund_src VARCHAR2(100) X X O 금융법 요건
account 생성 일시 created_at created_at TIMESTAMP X X X SYSTIMESTAMP
account 수정 일시 updated_at updated_at TIMESTAMP X X O

3. account_member 테이블 (계좌-회원 매핑)

테이블명 설명 풀네임 (Logical) 컬럼명 (Physical) 자료형 PK FK NULL 허용 기본값 비고
account_member 매핑 고유번호 id id NUMBER O X X
account_member 계좌 고유번호 account_id acct_id NUMBER X O X FK(account)
account_member 회원 고유번호 member_id mem_id NUMBER X O X FK(member)
account_member 해지 동의 여부 agree_close agree_cl CHAR(1) X X X 'N' 2인 모두 Y시 해지
account_member 초대 상태 invite_status inv_status VARCHAR2(20) X X X 'WAIT' WAIT, ACCEPT, REJECT
account_member 총 입금 누적액 total_deposit tot_depo NUMBER X X X 0 해지 시 정산 기준
account_member 초대 일시 created_at created_at TIMESTAMP X X X SYSTIMESTAMP 초대/수락 시점
account_member 초대 수락 및 상태 변경 일시 updated_at updated_at TIMESTAMP X X O 상태 변경 시점

4. card 테이블 (카드)

테이블명 설명 풀네임 (Logical) 컬럼명 (Physical) 자료형 PK FK NULL 허용 기본값 비고
card 카드 고유번호 id id NUMBER O X X
card 연결 계좌 번호 account_id acct_id NUMBER X O X FK(account)
card 카드 소유자 번호 member_id mem_id NUMBER X O X FK(member)
card 카드 번호 card_number card_no VARCHAR2(255) X X X UNIQUE, AES-256 암호화
card 유효기간 expiry_date exp_date VARCHAR2(5) X X X MM/YY 형식
card 카드 상태 status status VARCHAR2(20) X X X 'ACTIVE' ACTIVE, LOST, STOPPED
card 발급 일시 created_at created_at TIMESTAMP X X X SYSTIMESTAMP
card 수정 일시 updated_at updated_at TIMESTAMP X X O 카드 상태 변경(분실 등) 추적용

5. transaction 테이블 (금액 기록)

테이블명 설명 풀네임 (Logical) 컬럼명 (Physical) 자료형 PK FK NULL 허용 기본값 비고
transaction 거래 고유번호 id id NUMBER O X X
transaction 계좌 고유번호 account_id acct_id NUMBER X O X FK(account)
transaction 결제 카드 번호 card_id card_id NUMBER X O O FK(card), 송금 시 NULL
transaction 거래자 고유번호 member_id mem_id NUMBER X O X FK(member)
transaction 거래 유형 transaction_type tx_type VARCHAR2(20) X X X DEPOSIT, WITHDRAW, PAYMENT
transaction 소비 카테고리 category category VARCHAR2(50) X X O 식비, 쇼핑 등 분석용
transaction 거래 금액 amount amt NUMBER X X X
transaction 거래 후 잔액 after_balance aft_bal NUMBER X X X
transaction 가맹점명 merchant_name merch_nm VARCHAR2(100) X X O 결제 시 상호명 기록
transaction 거래 일시 created_at created_at TIMESTAMP X X X SYSTIMESTAMP

6. spend_record 테이블 (이미지 및 메모)

1 결제당 1 사진으로 해야 할 지 논의 필요!

테이블명 설명 풀네임 (Logical) 컬럼명 (Physical) 자료형 PK FK NULL 허용 기본값 비고
spend_record 기록 고유번호 id id NUMBER O X X
spend_record 거래 고유번호 transaction_id tx_id NUMBER X O X FK(trans), UNIQUE
spend_record 이미지 경로 image_url img_url VARCHAR2(500) X X O 영수증/음식 사진 등
spend_record 한 줄 메모 memo memo VARCHAR2(1000) X X O
spend_record 사용 이모티콘 emoticon emoticon VARCHAR2(50) X X O
spend_record 작성 일시 created_at created_at TIMESTAMP X X X SYSTIMESTAMP
spend_record 수정 일시 updated_at updated_at TIMESTAMP X X O

7. comment 테이블 (댓글)