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주차 게시글 바로가기