728x90
반응형

CREATE TABLE PLAYER (
       PLAYER_ID                CHAR(7)             NOT NULL,
       PLAYER_NAME        VARCHAR2(20)  NOT NULL,
       TEAM_ID                   CHAR(3)             NOT NULL,
       E_PLAYER_NAME   VARCHAR2(40),
       NICKNAME               VARCHAR2(30),
       JOIN_YYYY               CHAR(4),  
       POSITION                  VARCHAR2(10),
       BACK_NO                 NUMBER(2),
       NATION                     VARCHAR2(20),
       BIRTH_DATE            DATE,
       SOLAR                      CHAR(1),
       HEIGHT                    NUMBER(3),

      CONSTRAINT PLAYER_PK PRIMARY KEY (PLAYER_ID),
      CONSTRAINT PLAYER_FK FOREIGN KEY (TEAM_ID) REFERENCES TEAM(TEAM_ID)
    
);


UNIQUE 조건

데이터의 유일성을 보장(중복되는 데이터가 존재할 수 없다)되고, 자동으로 인덱스가 생성된다..

 

-- deptno 컬럼에 UNIQUE 제약조건 생성

SQL> ALTER TABLE emp2 ADD CONSTRAINT emp2_uk_deptno UNIQUE (deptno);

 

-- 제약 조건의 삭제

SQL> ALTER TABLE emp2 DROP CONSTRAINT emp2_uk_deptno;


CHECK 조건

컬럼의 값을 어떤 특정 범위로 제한할 수 있다.

 

-- comm 컬럼에 1에서 100까지의 값만을 가질수 있는 체크조건 생성

SQL> ALTER TABLE emp2 ADD CONSTRAINT emp2_ck_comm CHECK (comm >= 1 AND comm <= 100);

 

-- 제약 조건의 삭제

SQL> ALTER TABLE emp2 DROP CONSTRAINT emp2_ck_comm;

 

-- 10000,20000,30000,40000,50000의 값만을 가질수 있는 체크조건 생성

SQL> ALTER TABLE emp2 ADD CONSTRAINT emp2_ck_comm CHECK comm IN (10000,20000,30000,40000,50000);


DEFAULT(컬럼 기본값) 지정

데이터를 입력하지 않아도 지정된 값이 기본으로 입력 된다.

 

-- hiredate 컬럼에 값을 입력하지 않아도 오늘 날짜가 입력된다.

SQL> CREATE TABLE emp4(

... (컬럼생략) ...,

hiredate DATE DEFAULT SYSDATE );


PRIMARY KEY 지정

- 기본키는 UNIQUE 와 NOT NULL의 결합과 같다.

- 기본키는 그 데이터 행을 대표하는 컬럼으로서의 역할을 수행하여 다른 테이블에서 외래키들이 참조할 수 있는 키로서의 자격을 가지고 있다. 이를 참조 무결성이라 한다.

- UNIQUE 조건과 마찬가지로 기본키를 정의하면 자동으로 인덱스를 생성하며, 그 이름은 기본 키 제약 조건의 이름과 같다.

- INDEX: 검색 키로서 검색 속도를 향상 시킨다.(UNIQUE,PRIMARY KEY 생성시 자동적으로 생긴다.)

 

-- PRIMARY KEY 생성 예제

SQL> CREATE TABLE emp5( empno NUMBER CONSTRAINT emp5_pk_empno PRIMARY KEY );

 

-- ALTER TABLE 명령어로 PRIMARY KEY 생성 예제

ALTER TABLE emp2 ADD CONSTRAINT emp2_pk_empno PRIMARY KEY (empno) ;


FOREIGN KEY(외래 키)지정

- 기본키를 참조하는 컬럼 또는 컬럼들의 집합이다.

- 외래키를 가지는 컬럼의 데이터 형은 외래키가 참조하는 기본키의 컬럼과 데이터형과 일치해야 한다. 이를 어기면 참조무결성 제약에의해 테이블을 생성할수 없다.

- 외래키에 의해 참조되고 있는 기본 키는 삭제 할 수 없다.

- ON DELETE CASCADE 연산자와 함께 정의된 외래키의 데이터는 그 기본키가 삭제 될 때 같이 삭제 된다.

-- emp 테이블의 deptno 컬럼이 dept 테이블에 deptno 컬럼을 참조하는 외래키 생성

 

SQL> ALTER TABLE emp2 ADD CONSTRAINT emp2_fk_deptno FOREIGN KEY (deptno) REFERENCES dept(deptno);

 

728x90
반응형

'IT_Web > Oracle' 카테고리의 다른 글

Oracle 분석함수 활용법  (0) 2020.02.27
Oracle 시퀀스, DDL 및 서브쿼리 활용문제  (0) 2020.02.27
Oracle 시퀀스 개념과 활용  (0) 2020.02.26
Oracle DB인덱스 종류 및 개념  (0) 2020.02.26
Oracle DB 인덱스 활용법  (0) 2020.02.26

+ Recent posts

Powered by Tistory, Designed by wallel