도서 쇼핑몰에서 사용될 Database의 테이블을 구현하라.
도서테이블, 고객테이블, 주문테이블을 작성한다.
테이블과의 관계를 연결하여 사용시 용이하도록 한다.
도서테이블에 도서번호, 도서이름, 출판사이름, 도서단가 컬럼을 추가하도록 한다
CREATE TABLE BOOK(
BOOK_NO INTEGER CONSTRAINT PK_BOOK PRIMARY KEY,
BOOK_NAME VARCHAR(100) NOT NULL,
BOOK_PUB VARCHAR(20),
BOOK_PRICE INTEGER NOT NULL
);
고객테이블에 고객번호(시퀀스사용), 고객이름, 주소, 전화번호 컬럼을 추가하도록 한다
CREATE TABLE CONSUMER(
CONSUMER_NO INTEGER CONSTRAINT PK_CONSUMER PRIMARY KEY,
CONSUMER_NAME VARCHAR(20) NOT NULL,
CONSUMER_EDDRESS VARCHAR(100) NOT NULL,
CONSUMER_PHONE VARCHAR(20) NOT NULL
);
고객번호 시퀀스 생성
CREATE SEQUENCE CONSUMER_NO
INCREMENT BY 1
START WITH 1
MAXVALUE 99999999
MINVALUE 1;
주문테이블에 주문번호(시퀀스사용), 고객번호, 도서번호, 주문일자, 주문금액을 추가한다.
CREATE TABLE ORDERS(
ORDER_NO INTEGER NOT NULL,
CONSUMER_NO INTEGER,
BOOK_NO INTEGER,
ORDER_DAY DATE NOT NULL,
ORDER_PRICE INTEGER NOT NULL,
CONSTRAINT FK_ORDERS_CONSUMER FOREIGN KEY(CONSUMER_NO)
REFERENCES CONSUMER(CONSUMER_NO),
CONSTRAINT FK_ORDERS_BOOK FOREIGN KEY(BOOK_NO)
REFERENCES BOOK(BOOK_NO)
);
주문번호 시퀀스 생성
CREATE SEQUENCE ORDER_NO
INCREMENT BY 1
START WITH 1
MAXVALUE 99999999
MINVALUE 1;
도서상품을 3가지 등록한다.
INSERT INTO book VALUES(1,'하루10분 SQL', '위키북스', 24000);
INSERT INTO book VALUES(2,'JAVA의 정석', '도우', 31000);
INSERT INTO book VALUES(3,'모던웹을 위한 HTML+CSS 바이블', '한빛', 32000);
고객은 2명 등록한다.
INSERT INTO consumer VALUES( CONSUMER_NO.nextval, '일고객', '서울시 강동구', '010-1234-5678');
INSERT INTO consumer VALUES( CONSUMER_NO.nextval, '이고객', '서울시 강서구, '010-5678-1234');
주문에 2건이상 등록한다.
INSERT INTO orders VALUES(ORDER_NO.nextval, 1, 3, SYSDATE, 32000);
INSERT INTO orders VALUES(ORDER_NO.nextval, 2, 1, SYSDATE, 24000);
'문제풀이 > Oracle SQL' 카테고리의 다른 글
[Oracle DB SQL] VIEW 연습문제 (0) | 2021.06.01 |
---|---|
[Oracle DB SQL] TABLE 생성 / 무결성 / JOIN 연습문제 (0) | 2021.05.31 |
[Oracle DB SQL] 테이블 생성/데이터 추가/데이터 삭제/데이터 수정 / 연습하기 (0) | 2021.05.31 |
[Oracle DB SQL] scott Schema Sub Query 연습문제 (0) | 2021.05.31 |
[Oracle DB SQL] hr Schema Sub Query 연습문제 (0) | 2021.05.31 |