AqueryTool 모든 테이블 생성 SQL

변현섭·2023년 6월 9일
0

3주차 실습에서 배달의 민족의 ERD다이어그램을 AqueryTool로 만들어보았는데요. 결제를 하지 않아 테이블 생성 SQL을 만들 수 없는 분들을 위해 SQL문을 준비해왔습니다. 도움이 많이 되길 바랍니다.

-- 테이블 순서는 관계를 고려하여 한 번에 실행해도 에러가 발생하지 않게 정렬되었습니다.

-- Store Table Create SQL
-- 테이블 생성 SQL - Store
CREATE TABLE Store
(
    `store_id`            BIGINT(20)      NOT NULL    AUTO_INCREMENT, 
    `name`                VARCHAR(255)    NOT NULL, 
    `type`                INT(1)          NOT NULL    DEFAULT 0, 
    `food_category`       VARCHAR(20)     NOT NULL, 
    `address`             VARCHAR(255)    NOT NULL, 
    `phone`               VARCHAR(20)     NOT NULL, 
    `content`             TEXT            NULL, 
    `min_delivery_price`  INT(11)         NOT NULL, 
    `delivery_tip`        INT(11)         NOT NULL    DEFAULT 0, 
    `delivery_time`       INT(3)          NULL, 
    `rating`              DECIMAL(2,1)    NOT NULL    DEFAULT 0, 
    `dibs_count`          INT(11)         NOT NULL    DEFAULT 0, 
    `review_count`        INT(11)         NOT NULL    DEFAULT 0, 
    `operation_hours`     VARCHAR(255)    NULL, 
    `closedDays`          VARCHAR(255)    NULL, 
    `delivery_address`    VARCHAR(255)    NULL, 
    `created_date`        TIMESTAMP       NOT NULL, 
    `modified_date`       TIMESTAMP       NOT NULL, 
    `status`              VARCHAR(255)    NOT NULL, 
     PRIMARY KEY (store_id)
);


-- Menu Table Create SQL
-- 테이블 생성 SQL - Menu
CREATE TABLE Menu
(
    `menu_id`        BIGINT(20)      NOT NULL    AUTO_INCREMENT, 
    `store_id`       BIGINT(20)      NOT NULL, 
    `category`       VARCHAR(100)    NOT NULL, 
    `name`           VARCHAR(255)    NOT NULL, 
    `price`          INT(11)         NOT NULL, 
    `popularity`     TINYINT(1)      NOT NULL    DEFAULT 0, 
    `created_date`   TIMESTAMP       NOT NULL, 
    `modified_date`  TIMESTAMP       NOT NULL, 
    `status`         VARCHAR(255)    NOT NULL    DEFAULT '일반', 
    `menu_url`       TEXT            NULL, 
     PRIMARY KEY (menu_id)
);


-- User Table Create SQL
-- 테이블 생성 SQL - User
CREATE TABLE User
(
    `user_id`          BIGINT(20)      NOT NULL    AUTO_INCREMENT, 
    `login_id`         VARCHAR(100)    NOT NULL, 
    `password`         VARCHAR(255)    NOT NULL, 
    `phone`            VARCHAR(11)     NOT NULL, 
    `email`            VARCHAR(100)    NOT NULL, 
    `grade`            VARCHAR(100)    NOT NULL    DEFAULT '고마운 분', 
    `role`             VARCHAR(100)    NOT NULL    DEFAULT '회원', 
    `current_address`  VARCHAR(255)    NULL, 
    `created_date`     TIMESTAMP       NOT NULL, 
    `modified_date`    TIMESTAMP       NOT NULL, 
    `status`           VARCHAR(255)    NOT NULL    DEFAULT '일반', 
     PRIMARY KEY (user_id)
);


-- Menu_Option Table Create SQL
-- 테이블 생성 SQL - Menu_Option
CREATE TABLE Menu_Option
(
    `menu_option_ID`  BIGINT(20)      NOT NULL    AUTO_INCREMENT, 
    `menu_id`         BIGINT(20)      NOT NULL, 
    `option`          VARCHAR(255)    NOT NULL, 
    `content`         VARCHAR(255)    NOT NULL, 
    `price`           INT(11)         NOT NULL, 
    `created_date`    TIMESTAMP       NOT NULL, 
    `modified_date`   TIMESTAMP       NOT NULL, 
    `status`          VARCHAR(255)    NOT NULL    DEFAULT '일반', 
     PRIMARY KEY (menu_option_ID)
);


-- Place_Order Table Create SQL
-- 테이블 생성 SQL - Place_Order
CREATE TABLE Place_Order
(
    `order_id`        BIGINT(20)      NOT NULL, 
    `store_id`        BIGINT(20)      NOT NULL, 
    `user_id`         BIGINT(20)      NOT NULL, 
    `payment_method`  VARCHAR(255)    NOT NULL, 
    `total_price`     INT(11)         NOT NULL, 
    `requests`        VARCHAR(255)    NULL, 
    `created_date`    TIMESTAMP       NOT NULL, 
    `modified_date`   TIMESTAMP       NOT NULL, 
    `status`          VARCHAR(255)    NOT NULL    DEFAULT '정상'
);


-- Review Table Create SQL
-- 테이블 생성 SQL - Review
CREATE TABLE Review
(
    `review_id`      BIGINT(20)      NOT NULL    AUTO_INCREMENT, 
    `store_id`       BIGINT(20)      NOT NULL, 
    `user_id`        BIGINT(20)      NOT NULL, 
    `menu_id`        BIGINT(20)      NOT NULL, 
    `rating`         INT(1)          NOT NULL, 
    `content`        TEXT            NULL, 
    `created_date`   TIMESTAMP       NOT NULL, 
    `modified_date`  TIMESTAMP       NOT NULL, 
    `status`         VARCHAR(255)    NOT NULL    DEFAULT '일반', 
     PRIMARY KEY (review_id)
);


-- Address Table Create SQL
-- 테이블 생성 SQL - Address
CREATE TABLE Address
(
    `address_id`     BIGINT(20)      NOT NULL    AUTO_INCREMENT, 
    `user_id`        BIGINT(20)      NOT NULL, 
    `address`        VARCHAR(255)    NOT NULL, 
    `created_date`   TIMESTAMP       NOT NULL, 
    `modified_date`  TIMESTAMP       NOT NULL, 
    `status`         VARCHAR(255)    NOT NULL    DEFAULT '일반', 
     PRIMARY KEY (address_id)
);


-- Coupon Table Create SQL
-- 테이블 생성 SQL - Coupon
CREATE TABLE Coupon
(
    `coupon_id`           BIGINT(20)      NOT NULL    AUTO_INCREMENT, 
    `user_id`             BIGINT(20)      NOT NULL, 
    `name`                VARCHAR(255)    NOT NULL, 
    `content`             VARCHAR(255)    NULL, 
    `deducted_price`      INT(11)         NOT NULL, 
    `min_delivery_price`  INT(11)         NOT NULL    DEFAULT 0, 
    `created_date`        TIMESTAMP       NOT NULL, 
    `expired_date`        TIMESTAMP       NOT NULL, 
    `modified_date`       TIMESTAMP       NOT NULL, 
    `status`              VARCHAR(255)    NOT NULL    DEFAULT '가능', 
     PRIMARY KEY (coupon_id)
);


-- Dibs Table Create SQL
-- 테이블 생성 SQL - Dibs
CREATE TABLE Dibs
(
    `dibs_id`        BIGINT(20)      NOT NULL    AUTO_INCREMENT, 
    `user_id`        BIGINT(20)      NOT NULL, 
    `store_id`       BIGINT(20)      NOT NULL, 
    `created_date`   TIMESTAMP       NOT NULL, 
    `modified_date`  TIMESTAMP       NOT NULL, 
    `status`         VARCHAR(255)    NOT NULL    DEFAULT '일반', 
     PRIMARY KEY (dibs_id)
);


-- Order_Menu Table Create SQL
-- 테이블 생성 SQL - Order_Menu
CREATE TABLE Order_Menu
(
    `order_id`        BIGINT(20)    NOT NULL    AUTO_INCREMENT, 
    `menu_id`         BIGINT(20)    NOT NULL, 
    `menu_option_ID`  BIGINT(20)    NOT NULL, 
    `price`           INT(11)       NOT NULL, 
     PRIMARY KEY (order_id)
);


-- Store_Picture_Url Table Create SQL
-- 테이블 생성 SQL - Store_Picture_Url
CREATE TABLE Store_Picture_Url
(
    `picture_id`  BIGINT(20)    NOT NULL    AUTO_INCREMENT, 
    `store_id`    BIGINT(20)    NOT NULL, 
    `url`         TEXT          NOT NULL, 
     PRIMARY KEY (picture_id)
);


-- Review_Picture_Url Table Create SQL
-- 테이블 생성 SQL - Review_Picture_Url
CREATE TABLE Review_Picture_Url
(
    `picture_id`  BIGINT(20)    NOT NULL    AUTO_INCREMENT, 
    `review_id`   BIGINT(20)    NOT NULL, 
    `url`         TEXT          NOT NULL, 
     PRIMARY KEY (picture_id)
);


SQL문의 자세한 사용법이나 DataGrip에서 연동하는 방법에 대해서는 4th UMC Server-Spring 시리즈의 4주차 게시글을 참고해주세요~
>> 4주차 게시글 바로가기

profile
Java Spring, Android Kotlin, Node.js, ML/DL 개발을 공부하는 인하대학교 정보통신공학과 학생입니다.

0개의 댓글