#DB. Database Modeling

gisung2215·2020년 10월 15일
0

👍 DB 개념정리

목록 보기
7/10
post-thumbnail
-- -----------------------------------------------------
-- 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;

0개의 댓글