| 필드 이름 | 데이터 타입 | 설명 |
|---|---|---|
| id | Long | PK, AI |
| VARCHAR(100) | 이메일 형식 | |
| password | VARCHAR(100) | 사용자 비밀번호 / 최소 8자 이상 15자 이하의 알파벳 대소문자(a~z, A~Z)와 숫자(0~9), 특수문자로 구성 |
| user_role | ENUM | ADMIN, CUSTOMER |
| name | VARCHAR(20) | 사용자 이름 |
| birth_date | DATETIME | 생년월일 |
| phone_number | VARCHAR(13) | 사용자 전화번호 |
| is_deleted | boolean | 삭제 여부 Column |
| created_at | TIMESTAMP | 레코드 생성 시간 |
| created_by | VARCHAR(100) | 레코드 생성자 (username) |
| updated_at | TIMESTAMP | 레코드 수정 시간 |
| updated_by | VARCHAR(100) | 레코드 수정자 (username) |
| deleted_at | TIMESTAMP | 레코드 삭제 시간 |
| deleted_by | VARCHAR(100) | 레코드 삭제자 (username) |
| 필드 이름 | 데이터 타입 | 설명 |
|---|---|---|
| id | UUID | Primary Key |
| coupon_id | UUID | 쿠폰 ID |
| user_id | Long | 유저 ID |
| usage_count | Integer | 사용 횟수 default:0 |
| is_usable | Boolean | 사용 가능 여부 |
| is_deleted | Boolean | 삭제 여부 |
| created_at | TIMESTAMP | 레코드 생성 시간 |
| created_by | VARCHAR(100) | 레코드 생성자 (user_id) |
| updated_at | TIMESTAMP | 레코드 수정 시간 |
| updated_by | VARCHAR(100) | 레코드 수정자 (user_id) |
| deleted_at | TIMESTAMP | 레코드 삭제 시간 |
| deleted_by | VARCHAR(100) | 레코드 삭제자 (user_id) |
| 필드 이름 | 데이터 타입 | 설명 |
|---|---|---|
| id | UUID | Primary Key |
| name | VARCHAR(255) | 쿠폰 이름 |
| discount_amount | INTEGER | 할인율, 할인금액(0보다 큰 값) |
| discount_policy | VARCHAR(30) | ENUM: 비율할인, 고정할인 |
| target | VARCHAR(30) | ENUM: 모든 공연, 특정 공연, 특정 등급, 특정 좌석 |
| start_date | TIMESTAMP | 쿠폰 사용 가능 시작 날짜 |
| expiration_date | TIMESTAMP | 쿠폰 사용 가능 만료 날짜 |
| min_spend_amount | INTEGER | 최소 사용 금액 |
| max_quantity | INTEGER | 발급 가능한 최대 수량, 무제한: -1 |
| issued_quantity | INTEGER | 발급된 쿠폰 수 default : 0 |
| is_limited_quantity | BOOLEAN | 발급 수량 제한 존재 여부. true: 제한 존재, false: 무제한 |
| usage_limit | INTEGER | 한 사용자가 쿠폰을 사용할 수 있는 최대 횟수, 무제한 : -1 |
| is_limited_usage | BOOLEAN | 한 사용자가 동일 쿠폰 재사용 가능 여부 true: 제한 존재, false: 무제한 |
| is_deleted | BOOLEAN | 삭제 여부 |
| created_at | TIMESTAMP | 레코드 생성 시간 |
| created_by | BIGINT | 레코드 생성자 (user_id) |
| updated_at | TIMESTAMP | 레코드 수정 시간 |
| updated_by | BIGINT | 레코드 수정자 (user_id) |
| deleted_at | TIMESTAMP | 레코드 삭제 시간 |
| deleted_by | BIGINT | 레코드 삭제자 (user_id) |
| 필드 이름 | 데이터 타입 | 설명 |
|---|---|---|
| id | UUID | Primary Key |
| coupon_id | UUID | 쿠폰ID |
| concert_id | UUID | 공연ID |
| 필드 이름 | 데이터 타입 | 설명 |
|---|---|---|
| id | UUID | Primary Key |
| venue_id | UUID | 공연의 공연장, FK |
| concert_name | VARCHAR(255) | 공연 이름 |
| concert_start_time | TIMESTAMP | 공연 시작 날짜 및 시간 |
| concert_playtime | INTEGER | 공연 진행 시간 |
| description | TEXT | 공연 설명 |
| is_deleted | BOOLEAN | 삭제 여부 |
| created_at | TIMESTAMP | 레코드 생성 시간 |
| created_by | BIGINT | 레코드 생성자 (user_id) |
| updated_at | TIMESTAMP | 레코드 수정 시간 |
| updated_by | BIGINT | 레코드 수정자 (user_id) |
| deleted_at | TIMESTAMP | 레코드 삭제 시간 |
| deleted_by | BIGINT | 레코드 삭제자 (user_id) |
| 필드 이름 | 데이터 타입 | 설명 |
|---|---|---|
| id | Long | Primary Key |
| venue_name | VARCHAR(255) | 공연장 이름 |
| venue_address | VARCHAR(255) | 공연장 주소 |
| seat_capacity | Integer | 총 좌석 수 |
| is_deleted | BOOLEAN | 삭제 여부 |
| created_at | TIMESTAMP | 레코드 생성 시간 |
| created_by | BIGINT | 레코드 생성자 (user_id) |
| updated_at | TIMESTAMP | 레코드 수정 시간 |
| updated_by | BIGINT | 레코드 수정자 (user_id) |
| deleted_at | TIMESTAMP | 레코드 삭제 시간 |
| deleted_by | BIGINT | 레코드 삭제자 (user_id) |
| --- | --- | --- |
| --- | --- | --- |