-- -----------------------------------------------------
-- hw_201015
-- -----------------------------------------------------
-- 상품을 주문하는 주문 시스템을 구축하려 한다
-- 한 번 주문 시 여러 상품을 한꺼번에 주문하여 결제가 가능하다
-- 아래와 같은 정보를 저장하고 관리하고자 할 때 정규화를 적용하여 테이블 설계를 구현하세요
-- 필요하다면 제시된 정보 이외에 필요한 데이터항목을 자유롭게 추가하여 설계한다
-- * 기본정보
-- 주문번호, 주문금액 , 결제여부 , 배송여부 ,
-- 상품코드, 상품명 , 가격 , 수량 ,
-- 고객번호, 고객명 , 고객주소 , 고객 연락처 1, 고객연락처 2
-- -----------------------------------------------------
-- Table `mydb`.`member`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`member` (
`memberNO` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(20) NOT NULL,
`address` VARCHAR(45) NOT NULL,
`phone1` VARCHAR(20) NOT NULL,
`phone2` VARCHAR(20) NULL,
PRIMARY KEY (`memberNO`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`product`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`product` (
`productNo` INT NOT NULL,
`productName` VARCHAR(45) NOT NULL,
`price` INT NOT NULL,
`quantity` INT NOT NULL,
PRIMARY KEY (`productNo`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`order`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`order` (
`orderNo` INT NOT NULL AUTO_INCREMENT,
`memberNO` INT NOT NULL,
`payment` CHAR(1) NOT NULL,
`delivery` CHAR(1) NOT NULL,
`dateOfOrder` TIMESTAMP NULL DEFAULT current_timestamp,
PRIMARY KEY (`orderNo`),
INDEX `member_order_memberNo_fk_idx` (`memberNO` ASC) VISIBLE,
CONSTRAINT `member_order_memberNo_fk`
FOREIGN KEY (`memberNO`)
REFERENCES `mydb`.`member` (`memberNO`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`orderDetail`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`orderDetail` (
`orderNo` INT NOT NULL,
`productNo` INT NOT NULL,
`quantity` INT NULL,
PRIMARY KEY (`orderNo`, `productNo`),
INDEX `product_orderDetail_productNo_fk_idx` (`productNo` ASC) VISIBLE,
CONSTRAINT `order_orderDetail_orderNo_fk`
FOREIGN KEY (`orderNo`)
REFERENCES `mydb`.`order` (`orderNo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `product_orderDetail_productNo_fk`
FOREIGN KEY (`productNo`)
REFERENCES `mydb`.`product` (`productNo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;