이제 본격적으로 DB를 생성해보자!
CREATE TABLE `User` (
`userId` varchar(100) NOT NULL,
`name` varchar(10) NOT NULL,
`nickname` varchar(15) NOT NULL,
`email` varchar(50) NOT NULL,
`phonenumber` varchar(15) NOT NULL,
`profile` varchar(100) NULL,
`address` varchar(50) NOT NULL,
primary key(`userId`)
);
나의 경우는 귀찮아서...그냥 기존에 사용중이었던 MySQL DB를 사용했다.
우선 User 부터 생성하고 확인해보자!
잘 생성된 것을 볼 수 있다!
CREATE TABLE `Category` (
`categoryId` integer NOT NULL,
`categoryName` varchar(45) NOT NULL,
`categoryLevel` integer NOT NULL,
`parentCategoryId` integer NOT NULL,
primary key(`categoryId`),
CONSTRAINT `Category_FK` FOREIGN KEY (`parentCategoryId`) REFERENCES `Category` (`categoryId`) ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE `Order` (
`orderId` integer NOT NULL,
`userId` varchar(100) NOT NULL,
`orderItemList` varchar(100) NOT NULL,
`totalAmount` integer NOT NULL,
`orderDate` date NOT NULL,
primary key(`orderId`),
CONSTRAINT `Order_FK` FOREIGN KEY (`userId`) REFERENCES `User` (`userId`) ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE `OrderItem` (
`orderItemId` integer NOT NULL,
`orderId` integer NOT NULL,
`productId` integer NOT NULL,
primary key(`orderItemId`),
CONSTRAINT `OrderItem_Order_FK` FOREIGN KEY (`orderId`) REFERENCES `Order` (`orderId`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `OrderItem_Product_FK` FOREIGN KEY (`productId`) REFERENCES `Product` (`productId`) ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE `Product` (
`productId` integer NOT NULL,
`productPhoto` varchar(100) NOT NULL,
`price` integer NOT NULL,
`size` varchar(45) NOT NULL,
`brandName` varchar(45) NOT NULL,
`count` integer NOT NULL,
`onSale` boolean NOT NULL,
`salePercent` double NOT NULL,
`explanation` varchar(100) NOT NULL,
`creatAt` date NOT NULL,
`categoryId` integer NOT NULL,
primary key(`productId`),
CONSTRAINT `Product_FK` FOREIGN KEY (`categoryId`) REFERENCES `Category` (`categoryId`) ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE `Cart` (
`cartId` integer NOT NULL,
`countOfProduct` integer NOT NULL,
`date` date NOT NULL,
`userId` varchar(100) NOT NULL,
primary key(`cartId`),
CONSTRAINT `Cart_FK` FOREIGN KEY (`userId`) REFERENCES `User` (`userId`) ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE `CartProduct` (
`cartProductId` integer NOT NULL,
`quantity` integer NOT NULL,
`cartId` integer NOT NULL,
`productId` integer NOT NULL,
primary key(`cartProductId`),
CONSTRAINT `CartProduct_Cart_FK` FOREIGN KEY (`cartId`) REFERENCES `Cart` (`cartId`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `CartProduct_Product_FK` FOREIGN KEY (`productId`) REFERENCES `Product` (`productId`) ON DELETE CASCADE ON UPDATE CASCADE
);