<aside> ✅

postgresql 날짜 시간 관련 타입

</aside>

1. 사용자 테이블 (p_user)

필드 이름 데이터 타입 설명 제약 조건
username VARCHAR 사용자 테이블 PK값, 사용자명 NOT NULL, PK
adress_id UUID 사용자의 현재(기본) 주소 FK
email VARCHAR 사용자 이메일 NOT NULL
password VARCHAR 비밀번호 NOT NULL
phone_number VARCHAR(15) 사용자 전화번호 NOT NULL
role VARCHAR(255) 사용자 권한 NOT NULL
public_profile BOOLEAN 사용자 정보가 공개된 상태인지 여부 NOT NULL
default = true
image_url VARCHAR(255) 사용자 프로필 사진
created_at TIMESTAMP 사용자 계정 생성일
created_by VARCHAR(100) 생성한 사용자 username
updated_at TIMESTAMP 사용자 계정 수정일
updated_by VARCHAR(100) 수정한 사용자 username
deleted_at TIMESTAMP 사용자 계정 삭제일
deleted_by VARCHAR(100) 삭제한 사용자 username

2. 점포 (p_stores)

필드 이름 데이터 타입 설명 제약 조건
store_id UUID 점포 테이블 PK값 NOT NULL, PK
user_name VARCHAR(255) 사용자 이름 NOT NULL, FK
store_name VARCHAR(255) 점포 이름 NOT NULL, UNIQUE
phone_number VARCHAR(15) 점포 전화번호 NOT NULL
status BOOLEAN 매장 운영 여부 NOT NULL
open_time TIME 매장 여는 시간 NOT NULL
close_time TIME 매장 닫는 시간 NOT NULL
rating INTEGER 매장 평점 합산 NOT NULL
review_cnt INTEGER 리뷰 개수 NOT NULL
img_url VARCHAR(255) 점포 이미지 NULL
zip_num VARCHAR(255) 매장 주소 우편번호 NOT NULL
city VARCHAR(255) 매장 주소 시도 NOT NULL
district VARCHAR(255) 매장 주소 군/구 NOT NULL
street_name VARCHAR(255) 매장 도로명 NOT NULL
street_num VARCHAR(255) 매장 도로번호 NOT NULL
detail_addr VARCHAR(255) 매장 상세주소 NOT NULL
store_intro TEXT 매장 소개글 NOT NULL
is_public BOOLEAN 매장 승인 여부 NOT NULL
created_at TIMESTAMP 생성일 NOT NULL
created_by VARCHAR(100) 생성자 BIGINT NOT NULL
updated_at TIMESTAMP 수정일 NULL
updated_by VARCHAR(100) 수정한 사용자 BIGINT NULL
deleted_at TIMESTAMP 삭제일 NULL
deleted_by VARCHAR(100) 삭제한 사용자 BIGINT NULL

3. 음식 (p_product)

필드 이름 데이터 타입 설명 제약 조건 비고
product_id UUID 음식 테이블 PK값 NOT NULL, PK
store_id UUID 외래키 (점포 PK값) NOT NULL, FK
name VARCHAR(255) 음식 이름 NOT NULL, UNIQUE 같은 가게에 한해서 이름 unique
price INTEGER 음식 가격 NOT NULL
is_public BOOLEAN 음식 숨김 여부 NOT NULL
img_url VARCHAR(255) 음식 이미지 NOT NULL
product_intro TEXT 음식 소개 NOT NULL
created_at TIMESTAMP 생성일 NOT NULL
created_by VARCHAR(100) 생성자 BIGINT NOT NULL
updated_at TIMESTAMP 수정일 NULL
updated_by VARCHAR(100) 수정한 사용자 BIGINT NULL
deleted_at TIMESTAMP 삭제일 NULL
deleted_by VARCHAR(100) 삭제한 사용자 BIGINT NULL

4. 주문(p_order)

필드 이름 데이터 타입 설명 제약 조건
order_id UUID 주문 목록 테이블 PK값 NOT NULL, PK
user_name VARCHAR 주문한 사용자의 username NOT NULL, FK
store_id UUID 주문 점포의 uuid NOT NULL, FK
fianl_pay INTEGER 주문 결제 금액 NOT NULL
discount_rate INTEGER 할인율 NOT NULL
discount_amount INTEGER 할인 금액 NOT NULL
status VARCHAR(255) 주문 상태 NOT NULL
created_at TIMESTAMP 생성일
created_by VARCHAR(100) 생성한 사용자 username
updated_at TIMESTAMP 수정일
updated_by VARCHAR(100) 수정한 사용자 username
deleted_at TIMESTAMP 삭제일
deleted_by VARCHAR(100) 삭제한 사용자 username

5. 주문_음식 관계 테이블 (p_order_product)

필드 이름 데이터 타입 설명 제약 조건
order_product_id UUID 주문_음식 테이블 PK값 NOT NULL, PK
product_id UUID 주문한 음식 uuid NOT NULL, FK
order_id UUID 주문 uuid NOT NULL, FK
quantity INTEGER 수량 NOT NULL
price INTEGER 주문한 당시 가격 NOT NULL
created_at TIMESTAMP 생성일
created_by VARCHAR(100) 생성한 사용자 username
updated_at TIMESTAMP 수정일
updated_by VARCHAR(100) 수정한 사용자 username
deleted_at TIMESTAMP 삭제일
deleted_by VARCHAR(100) 삭제한 사용자 username

6. 결제 (p_pays)

| --- | --- | --- | --- |

7. 주소(p_address)

| --- | --- | --- | --- |

8. 장바구니(p_basket)

| --- | --- | --- | --- |

9. 리뷰(p_review)

| --- | --- | --- | --- |

10. 점포-카테고리(p_store_category)