DDL
※ DDL은 오토커밋이다. (커밋을 날리지 않아도 됨)
————————————————————————————————————————

CHAR, VARCHAR2, CLOB(오라클10g) ===> String (getString())
NUMBER ===> int (getInt())
DATE,TIMESTAMP ==> Date (getDate())
BLOB,BFILE ===> InputStream (getInputStream())
————————————————————————————————————————
CREATE TABLE sawon_dept(
deptno NUMBER(4),
dname VARCHAR2(34) CONSTRAINT sd_nn_dname NOT NULL,
loc VARCHAR2(100) CONSTRAINT sd_nn_loc NOT NULL,
CONSTRAINT sd_pk_deptno PRIMARY KEY(deptno)
);
CREATE TABLE sawon(
empno NUMBER(4),
ename VARCHAR2(34) CONSTRAINT sawon_nn_ename NOT NULL,
job VARCHAR2(20) CONSTRAINT sawon_nn_job NOT NULL,
mgr NUMBER(4),
hiredate DATE CONSTRAINT sawon_nn_hiredate NOT NULL,
sal NUMBER CONSTRAINT sawon_nn_sal NOT NULL,
comm NUMBER,
deptno NUMBER(2),
CONSTRAINT sawon_pk_empno PRIMARY KEY(empno),
CONSTRAINT sawon_ck_job CHECK(job IN(‘개발부’,’영업부’,’자재부’,’총무부’,’홍보부’)),
CONSTRAINT sawon_fk_mgr FOREIGN KEY(mgr) REFERENCES sawon(empno),
CONSTRAINT sawon_fk_deptno FOREIGN KEY(deptno) REFERENCES sawon_dept(deptno)
);
————————————————————————————————————————
DROP TABLE reply;
DROP TABLE board;
CREATE TABLE board(
no NUMBER,
name VARCHAR2(34) CONSTRAINT board_nn_name NOT NULL,
email VARCHAR2(50),
subject VARCHAR2(1000) CONSTRAINT board_nn_sub NOT NULL,
content CLOB CONSTRAINT board_nn_cont NOT NULL,
pwd VARCHAR2(10) CONSTRAINT board_nn_pwd NOT NULL,
regdate DATE DEFAULT SYSDATE,
hit NUMBER DEFAULT 0,
CONSTRAINT board_pk_no PRIMARY KEY(no)
);
CREATE TABLE reply(
no NUMBER,
bno NUMBER,
id VARCHAR2(20) CONSTRAINT reply_nn_id NOT NULL,
name VARCHAR2(34) CONSTRAINT reply_nn_name NOT NULL,
content VARCHAR2(4000) CONSTRAINT reply_nn_cont NOT NULL,
regdate DATE DEFAULT SYSDATE,
CONSTRAINT reply_pk_no PRIMARY KEY(no),
CONSTRAINT reply_fk_bno FOREIGN KEY(bno) REFERENCES board(no)
);
————————————————————————————————————————
DROP TABLE 판매전표;
DROP TABLE 제품;
DROP TABLE 전표상세;
CREATE TABLE 제품(
제품번호 VARCHAR2(12),
제품명 VARCHAR2(50),
제품단가 NUMBER CONSTRAINT 제품_ck_제품단가 CHECK(제품단가>0),
CONSTRAINT 제품_pk_제품번호 PRIMARY KEY(제품번호),
CONSTRAINT 제품_uk_제품명 UNIQUE(제품명)
);
CREATE TABLE 판매전표(
전표번호 VARCHAR2(12),
판매일자 DATE CONSTRAINT 판매전표_nn_판매일자 NOT NULL,
고객명 VARCHAR2(34) CONSTRAINT 판매전표_nn_고객명 NOT NULL,
총액 NUMBER CONSTRAINT 판매전표_ck_총액 CHECK(총액>0),
CONSTRAINT 판매전표_pk_전표번호 PRIMARY KEY(전표번호)
);
CREATE TABLE 전표상세(
전표번호 VARCHAR2(12),
제품번호 VARCHAR2(12) CONSTRAINT 전표상세_nn_제품번호 NOT NULL,
수량 NUMBER CONSTRAINT 전표상세_nn_수량 NOT NULL,
단가 NUMBER CONSTRAINT 전표상세_nn_단가 NOT NULL,
금액 NUMBER CONSTRAINT 전표상세_nn_금액 NOT NULL,
CONSTRAINT 전표상세_pk_전표번호 PRIMARY KEY(전표번호),
CONSTRAINT 전표상세_fk_전표번호 FOREIGN KEY(전표번호)
REFERENCES 판매전표(전표번호),
CONSTRAINT 전표상세_fk_제품번호 FOREIGN KEY(제품번호)
REFERENCES 제품(제품번호),
CONSTRAINT 전표상세_ck_금액 CHECK(금액>0)
);
—————————————————————