--				商品マスタ

--commodity_no	int		PRI	商品-NO
--commodity_name	varchar	255		商品名称
--price_nb	decimal			個数
--delete_ku	char	1		削除区分（0：正常データ、1：削除済み）
--insert_at	datetime			登録日時
--update_at	datetime			更新日時


CREATE TABLE instrument_mst(
  commodity_no INT NOT NULL,          -- 상품 번호 (기본 키)
  commodity_name VARCHAR(255) NOT NULL, -- 상품 이름
  price_nb DECIMAL NOT NULL,          -- 상품 가격
  delete_ku CHAR(1) NOT NULL,         -- 삭제 구분 (0: 정상 데이터, 1: 삭제된 데이터)
  insert_at DATETIME NOT NULL,        -- 등록 일시
  update_at DATETIME NOT NULL,        -- 수정 일시
  PRIMARY KEY (commodity_no)          -- 기본 키: 상품 번호
);


-- 	顧客マスタ
--consumer_no	int		PRI	顧客NO
--consumer_name	varchar	255		顧客名
--delete_ku	char	1		削除区分（0：正常データ、1：削除済み）
--insert_at	datetime			登録日時
--update_at	datetime			更新日時


CREATE TABLE consumer_mst(
  consumer_no INT NOT NULL,           -- 고객 번호 (기본 키)
  consumer_name VARCHAR(255) NOT NULL, -- 고객 이름
  delete_ku CHAR(1) NOT NULL,         -- 삭제 구분 (0: 정상 데이터, 1: 삭제된 데이터)
  insert_at DATETIME NOT NULL,        -- 등록 일시
  update_at DATETIME NOT NULL,        -- 수정 일시
  PRIMARY KEY (consumer_no)           -- 기본 키: 고객 번호
);

--  明細テーブル
-- detail_no	int		PRI	明細NO
--date_nb	datetime			購入日付
--consumer_no	int			顧客NO
--delete_ku	char	1		削除区分（0：正常データ、1：削除済み）
--insert_at	datetime			登録日時
--update_at	datetime			更新日時


CREATE TABLE details_tbl(
  detail_no INT NOT NULL,             -- 구매 내역 번호 (기본 키)
  date_nb DATETIME NOT NULL,          -- 구매 일시
  consumer_no INT NOT NULL,           -- 고객 번호 (외래 키)
  delete_ku CHAR(1) NOT NULL,         -- 삭제 구분 (0: 정상 데이터, 1: 삭제된 데이터)
  insert_at DATETIME NOT NULL,        -- 등록 일시
  update_at DATETIME NOT NULL,        -- 수정 일시
  PRIMARY KEY (detail_no)             -- 기본 키: 구매 내역 번호
);

--  明細サブテーブル
-- detail_no	int		KEY	明細NO
--instrument_no	int		KEY	商品NO
--delete_ku	char	1		削除区分（0：正常データ、1：削除済み）
--insert_at	datetime			登録日時
--update_at	datetime			更新日時



CREATE TABLE details_sub_tbl(
  detail_no INT NOT NULL,             -- 구매 내역 번호 (외래 키)
  commodity_no INT NOT NULL,          -- 상품 번호 (외래 키)
  delete_ku CHAR(1) NOT NULL,         -- 삭제 구분 (0: 정상 데이터, 1: 삭제된 데이터)
  insert_at DATETIME NOT NULL,        -- 등록 일시
  update_at DATETIME NOT NULL,        -- 수정 일시
  PRIMARY KEY (detail_no, commodity_no) -- 복합 기본 키: 구매 내역 번호 + 상품 번호
);