Database/데이터베이스

[DB] Oracle의 5가지 객체 - Table, Index, View, Sequence, Synonym

gangintheremark 2023. 7. 27. 09:47
728x90
객체 의미
💡 Table 데이터 저장소
💡 Index 테이블의 검색을 빠르게
💡 View 여러 테이블의 데이터를 조회하는 가상 테이블
💡 Sequence 테이블의 특정 컬럼값을 자동으로 넘버링
💡 Synonym 테이블 접근 시 별칭 지정하여 보안 강화

테이블 (Table)

  • 가장 기본이 되는 객체, 데이터 저장소
  • RowColumn으로 구성
CREATE TABLE 테이블명 (

)

인덱스 (Index)

테이블에 있는 데이터를 빨리 찾기 위한 용도의 객체

  • 단일 인덱스와 결합 인덱스 : 인덱스 구성 컬럼 개수에 따른 분류
  • UNIQUE 인덱스 NON-UNIQUE 인덱스 : 유일성 여부에 따른 분류
  • B-tree 인덱스 비트맵 인덱스 함수기반 인덱스 : 인덱스 내부 구조에 따른 분류
-- 인덱스 생성
CREATE [UNIQUE/NON-UNIQUE/BITMAP] INDEX 인덱스명;

-- 인덱스 삭제
DROP INDEX 인덱스명;

뷰 (View)

  • View는 하나의 가상 테이블
  • 실제 데이터가 저장되는 것은 아니지만 View를 통해 데이터 관리 가능
  • Read-Only 뷰, Updatable
-- 뷰 생성
CREATE OR REPLACE VIEW 뷰명  
AS SELECT 구문
[WITH CHECK OPTION] [WITH READ ONLY]

-- 뷰 삭제
DROP VIEW 뷰명

시퀀스 (Sequence)

  • 연속적인 숫자를 생성해내는 객체
  • 테이블에 데이터를 삽입 Insert 할 때마다, 자동으로 시퀀스값이 할당되어 저장
-- 시퀀스 생성
ALTER SEQUENCE 시퀀스명

-- 시퀀스 삭제
DROP SEQUENCE 시퀀스명;

Synonym

  • 객체의 별칭 Alias 지정
  • 테이블 이름이 너무 길어 사용이 불편한 경우 사용
-- Synonym 생성
CREATE OR REPLACE [PUBLIC] SYNONYM 시노님명 FOR 객체명;
-- 기본 설정이 PRIVATE이고 PUBLIC은 삭제할 때 PUBLIC을 붙여야한다.

-- Synonym 삭제
DROP [PUBLIC] SYNONYM 시노님명;
728x90