Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- spring annotation
- 오라클 비교연산자
- 형변환
- static메서드
- singleton
- downcasting
- GROUP BY
- 다운캐스팅
- Java
- 추상 메서드
- 이클립스 오라클 연동
- SUB Query
- 깃 명령어
- react
- static 예제
- Servlet 맵핑
- 템플릿
- 스프링 모달창
- oracle 연동
- 모달창 여러개
- 객체협력
- 다중 모달창
- IP
- 리스트 모달창
- 상속
- AOP란?
- 사용자 데이터그램 프로토콜
- order by
- static
- 싱클톤패턴
Archives
- Today
- Total
모든지 기록하자!
[Oracle] 테이블 작성 예시 본문
728x90
--TABLE 작성
-- TEAM : 팀 아이디, 지역, 팀명, 개설 날짜, 전화번호, 홈페이지
CREATE TABLE TEAM(
TEAMID NUMBER(8) CONSTRAINT PK_TEAM_ID PRIMARY KEY,
RESIONNAME VARCHAR2(10),
TEAMNAME VARCHAR2(30) NOT NULL,
STARTDATE DATE,
TEL VARCHAR(20),
HOMEPAGE VARCHAR(30)
);
-- PLAYER : 선수번호, 선수명, 등록일, 포지션, 키, 팀 아이디
CREATE TABLE PLAYER(
PLAYERID NUMBER CONSTRAINT PK_PLAYER PRIMARY KEY,
PLAYERNAME VARCHAR(20) NOT NULL,
JOINDATE DATE,
POSITION VARCHAR(20),
HEIGHT NUMBER(5,1),
TEAMID NUMBER(8)
);
ALTER TABLE PLAYER
ADD
CONSTRAINT FK_TEAM_ID FOREIGN KEY (TEAMID)
REFERENCES TEAM(TEAMID);
-- TEAM 두개만 등록한다.
INSERT INTO TEAM(TEAMID,RESIONNAME,TEAMNAME,STARTDATE,TEL,HOMEPAGE)
VALUES (10, '서울', '베어즈', SYSDATE, '02-123-4567', 'http://www.naver.com');
INSERT INTO TEAM(TEAMID,RESIONNAME,TEAMNAME,STARTDATE,TEL,HOMEPAGE)
VALUES (20, '대구', '라이온즈', SYSDATE, '02-456-7897', 'http://www.naver.com');
-- 두개의 TEAM에 선수를 각각 3명씩 등록해 본다.
INSERT INTO PLAYER(PLAYERID, PLAYERNAME, JOINDATE, POSITION, HEIGHT, TEAMID)
VALUES (100, '홍길동', SYSDATE, '투수', 176.2, 20);
INSERT INTO PLAYER(PLAYERID, PLAYERNAME, JOINDATE, POSITION, HEIGHT, TEAMID)
VALUES (101, '이몽룡', SYSDATE, '타자', 182.4, 20);
INSERT INTO PLAYER(PLAYERID, PLAYERNAME, JOINDATE, POSITION, HEIGHT, TEAMID)
VALUES (102, '성춘향', TO_DATE('20030425', 'YYYYMMDD'), '타자', 162.9, 10);
INSERT INTO PLAYER(PLAYERID, PLAYERNAME, JOINDATE, POSITION, HEIGHT, TEAMID)
VALUES (103, '홍두께', TO_DATE('20120630', 'YYYYMMDD'), '투수', 172.3, 10);
INSERT INTO PLAYER(PLAYERID, PLAYERNAME, JOINDATE, POSITION, HEIGHT, TEAMID)
VALUES (104, '임꺽정', '', '투수', 189.2, '');
SELECT * FROM player;
-- LIONS 소속 선수들
SELECT *
FROM player
WHERE TEAMID = 20;
SELECT t.teamid, t.teamname, p.playername, p.position
FROM team t, player p
WHERE t.teamid = p.teamid
AND t.teamname = '라이온즈';
-- 선수를 입력하면 그 선수의 팀명과 전화번호, 홈페이지가 출력되도록 한다.
SELECT t.teamname, t.tel, t.homepage, p.playername
FROM player p , team t
WHERE p.teamid = t.teamid
AND p.playername = '성춘향';
-- 온라인 마켓 TABLE을 작성
-- PRODUCT(상품) : 상품번호, 상품명, 상품가격, 상품설명
CREATE TABLE PRODUCT(
PRODUCTID NUMBER PRIMARY KEY,
NAME VARCHAR(50),
PRICE NUMBER NOT NULL,
PRODUCT_DESC VARCHAR(500)
);
-- CONSUMER(소비자) : 소비자ID, 이름, 나이
CREATE TABLE CONSUMER(
USERID VARCHAR(50) CONSTRAINT PK_USER_ID PRIMARY KEY,
NAME VARCHAR(50) NOT NULL,
AGE NUMBER(3) NOT NULL
);
-- CART(장바구니) : 장바구니 번호, 소비자 ID, 상품번호, 수량
CREATE TABLE CART(
CARTID VARCHAR(20) CONSTRAINT PK_CART_ID PRIMARY KEY,
USERID VARCHAR2(50), -- 왜래키
PRODUCTID NUMBER, -- 왜래키
AMOUNT NUMBER
);
ALTER TABLE CART
ADD
CONSTRAINT FK_PRODUCT_ID FOREIGN KEY(PRODUCTID)
REFERENCES PRODUCT(PRODUCTID);
ALTER TABLE CART
ADD
CONSTRAINT FK_USER_ID FOREIGN KEY(USERID)
REFERENCES CONSUMER(USERID);
-- 상품 테이블에 상품을 등록합니다.
INSERT INTO PRODUCT(PRODUCTID, NAME, PRICE, PRODUCT_DESC)
VALUES (100, '새우깡', 1500, '새우가 들어가 있지 않다.');
INSERT INTO PRODUCT(PRODUCTID, NAME, PRICE, PRODUCT_DESC)
VALUES (101, '홈런볼', 1800, '초코가 들어간 과자');
INSERT INTO PRODUCT(PRODUCTID, NAME, PRICE, PRODUCT_DESC)
VALUES (102, '포카칩', 1500, '짭잘한 감자칩');
SELECT * FROM product;
-- 소비자를 등록합니다.
INSERT INTO CONSUMER(USERID, NAME, AGE)
VALUES ('rma7','홍길동',24);
INSERT INTO CONSUMER(USERID, NAME, AGE)
VALUES ('ekekekwnsrl','성춘향',16);
-- 소비자가 쇼핑한 상품을 추가합니다.(장바구니에 담는다)
INSERT INTO CART(CARTID, USERID, PRODUCTID, AMOUNT)
VALUES (1, 'ekekekwnsrl', 101, 3);
INSERT INTO CART(CARTID, USERID, PRODUCTID, AMOUNT)
VALUES (2, 'ekekekwnsrl', 102, 10);
INSERT INTO CART(CARTID, USERID, PRODUCTID, AMOUNT)
VALUES (3, 'rma7', 100, 1);
-- 쇼핑한 상품을 출력한다.
SELECT
*
FROM cart
WHERE userid = 'ekekekwnsrl';
SELECT c.userid, c.productid, p.name, p.price
FROM cart c, product p
WHERE c.productid = p.productid
AND c.userid = 'ekekekwnsrl';
728x90
'Database' 카테고리의 다른 글
[Oracle] SEQUENCE와 동의어 생성/삭제/수정 (0) | 2021.06.01 |
---|---|
[Oracle] VIEW 생성/삭제/예시 (0) | 2021.06.01 |
[Oracle] 무결성 제약 조건 (0) | 2021.06.01 |
[Oracle] SUB QUERY 예제 (0) | 2021.05.31 |
[Oracle] SUB QUERY (0) | 2021.05.31 |
Comments