CREATE TABLE Users (
usersid NUMBER PRIMARY KEY, --유저번호
firstname VARCHAR2(255), --이름
lastname VARCHAR2(255), --성
email VARCHAR2(255) UNIQUE, --이메일
hashedpassword VARCHAR2(255), --비번
validationtoken VARCHAR2(255) --인증 번호로쓰일칸 혹은 포인트도 가능?
);
CREATE TABLE Usergrant (
userid NUMBER, --유저이름
usergrant NUMBER, --유저가 가지고 있는 권한 --리스트 enum구현
FOREIGN KEY (userid) REFERENCES Users(usersid)
);
CREATE TABLE Item (
itemid NUMBER PRIMARY KEY, --상품 번호
price NUMBER, --가격
name VARCHAR2(255), --이름
image_path VARCHAR2(255), --사진
image_path2 VARCHAR2(255), --사진2
description VARCHAR2(1000), --디테일
stock NUMBER, --재고
sale NUMBER(1, 0), --세일여부
category VARCHAR2(50) --카테고리 -리스트 enum으로
);
CREATE TABLE Qna (
qnaid NUMBER PRIMARY KEY, --질문번호
qnauserid Number, --질문자 또는 답변자
qnaitemid Number,--아이템 번호
question VARCHAR2(500), --질문
answer VARCHAR2(1000), --답변
FOREIGN KEY (qnauserid) REFERENCES Users(usersid),
FOREIGN KEY (qnaitemid) REFERENCES Item(itemid)
);
CREATE TABLE Review (
rvid NUMBER PRIMARY KEY, --리뷰번호
rvuserid Number, -- 리뷰 유저
rvitemid Number, --아이템 번호
contents VARCHAR2(1000), --리뷰내용 -사진??
FOREIGN KEY (rvuserid) REFERENCES Users(usersid),
FOREIGN KEY (rvitemid) REFERENCES Item(itemid)
);
CREATE TABLE Cart (
cartid NUMBER PRIMARY KEY, --카트번호
cartuserid NUMBER, --이 카트 유저
FOREIGN KEY (cartuserid) REFERENCES Users(usersid)
);
CREATE TABLE Cartitem (
cartsid NUMBER PRIMARY KEY, --카트번호
itemsid NUMBER, --상품번호 item map
quantity NUMBER, --수량 item map key
FOREIGN KEY (cartsid) REFERENCES Cart(cartid),
FOREIGN KEY (itemsid) REFERENCES Item(itemid)
);
Create Table Orders(
orderid NUMBER Primary Key, --주문번호
ordercartid Number,--주문 카트 번호
orderuserid NUMBER, --주문자
orderitemid NUMBER, --상품번호
orderquantity NUMBER, --수량
orderprice NUMBER,--결제 총 가격
ordermethod VARCHAR2(255),--결제방식
FOREIGN KEY (orderuserid) REFERENCES Users(usersid),
FOREIGN KEY (orderitemid) REFERENCES Item(itemid),
FOREIGN KEY (ordercartid) REFERENCES Cart(cartid)
);
commit;