카테고리 없음
Oracle(2022.02.04)-DDL(CREATE)
AIN99
2022. 2. 7. 20:29
728x90
DDL(DATA DEFINITION LANGUAGE)
1.CREATE TABLE
-테이블 생성명령
(사용형식)
CREATE TABLE 테이블명(
컬럼명 데이터 타입[(크기)] [NOT NULL] [DEFAULT 값] [,]
:
컬럼명 데이터 타입[(크기)] [NOTNULL] [DEFAULT 값] [,]
[CONSTRAINT 기본키설정명 PRIMARY KEY(컬럼명[컬럼명,...]) [,]]
[CONSTRAINT 외래키설정명 FOREIGN KEY(컬럼명)
REFERENCES 참조테이블명(컬럼명)] [,]
:
[CONSTRAINT 외래키설정명 FOREIGN KEY(컬럼명)
REFERENCES 참조테이블명(컬럼명)]);
-테이블명과 컬럼명은 사용자정의어를 이용하여 구성
=>첫 글자는 영문자이고 두번째글자부터 숫자도 사용가능
특수문자는 '_'와 '$'만 사용 가능
예약어와 같은 단어 사용할 수없음
-'데이터 타입': CHAR, VARCHAR2, DATE, NUMBER, CLOB, BLOB, BFILE 등 사용
- '기본키설정명':기본키를 설정한 것에 대한 인덱스로 중복된 단어를 사용할 수 없다.
- '외래키설정명':외래키를 설정한 것에 대한 인덱스로 중복된 단어를 사용할 수 없다.
- '참조테이블명':부모테이블명
사용예)
--상품테이블
CREATE TABLE GOODS(
GOOD_ID CHAR(4) NOT NULL, --PK
GOOD_NAME VARCHAR2(30),
GOOD_PRICE NUMBER(7),
CONSTRAINT pk_goods PRIMARY KEY(GOOD_ID));
--고객테이블
CREATE TABLE CUSTOMERS(
CUST_ID CHAR(6), --PK
CUST_NAME VARCHAR2(50) NOT NULL,
CUST_ADDR VARCHAR2(100),
CUST_TEL VARCHAR2(20),
CUST_MILEAGE NUMBER(5) DEFAULT 0,
CONSTRAINT pk_customers PRIMARY KEY(CUST_ID));
--주문테이블
CREATE TABLE ORDERS(
ORDER_ID NUMBER(5), --PK
CUST_ID CHAR(6), --FK
GOOD_ID CHAR(4), --FK
ORDER_DATE DATE DEFAULT SYSDATE,
ORDER_QTY NUMBER(4),
CONSTRAINT pk_orders PRIMARY KEY(ORDER_ID),
CONSTRAINT fk_orders_cust FOREIGN KEY(CUST_ID)
REFERENCES CUSTOMERS(CUST_ID),
CONSTRAINT fk_orders_goods FOREIGN KEY(GOOD_ID )
REFERENCES GOODS(GOOD_ID ));
728x90