Database - Oracle DB/2주차(Database - Oracle DB)

[SQL] DB 스터디 - 12

김야키 2019. 1. 8. 16:45


스키마 객체 관리


1. 제약 조건 추가

- ALTER TABLE문

-> 새로운 컬럼 추가, 수정, 삭제 가능

-> 추가하는 컬럼은 가장 마지막에 추가 됨

- 추가 : ALTER TABLE table ADD (new_column    datatype [, ...])

- 수정 : ALTER TABLE table MODIFY column datatype [DEFAULT value]

-> 기존에 있던 값에 영향을 미치지 않는 선에서만 수정 가능

- 삭제 : ALTER TABLE table DROP COLUMN column;

-> 테이블의 데이터가 많은 경우 해당 작업은 시간이 걸리는 작업임

-> ALTER TABLE table SET UNUSED (column); -> ALTER TABLE table SET UNUSED COLUMNS;

-> 잠시 없는 컬럼으로 인식 시킨 후 다음 명령어로 테이블을 수정

- 제약 조건 추가 또는 삭제, 제약 조건의 구조는 수정하지 않음

- 제약 조건의 활성화 및 비활성화 가능

-> ALTER TABLE table (DISABLE/INABLE) CIBSTRAUBT key_column;

- MODIFY절을 사용하여 NOT NULL 제약 조건 추가 가능




2. INDEX 생성

- 자동

--> PRIMARY KEY 생성 시

--> UNIQUE KEY 생성 시

- 수동

--> CREATE INDEX문

--> CREATE TABLE문

예)

->

-- 테이블을 이용한 INDEX생성

CREATE TABLE NEW_EMP (

employee_id NUMBER(6) PRIMARY KEY USING INDEX (

CREATE INDEX emp_id_idx ON

NEW_EMP(employee_id) ),

first_name VARCHAR2(20),

last_name VARCHAR2(25)

);




3. FLASHBACK TABLE

- 실제로 테이블을 DROP시키면 바로 제거되는 것이 아닌 FLASHBACK MEMORY에 저장 되어 있음

- 해당 테이블에서 잘못 DROP시킨 테이블을 다시 불러와서 생성할 수 있음




4. External Table

- 과거 ETL이라는 작업을 줄여주는 테이블

- CSV 파일의 데이터를 DB에 저장할 때 사용

- 디렉토리라는 객체를 사용하여 해당 파일의 경로를 선언 시켜서 사용


'Database - Oracle DB > 2주차(Database - Oracle DB)' 카테고리의 다른 글

[SQL] DB 스터디 - 14  (0) 2019.01.09
[SQL] DB 스터디 - 13  (0) 2019.01.09
[SQL] DB 스터디 - 11  (0) 2019.01.08
[SQL] DB 스터디 - 10  (1) 2019.01.08
[SQL] DB 스터디 - 09  (0) 2019.01.07