• 오라클 객체
      1. VIEW
        • 가상의 테이블
        • 필요한 정보가 여러 테이블에 분산 저장되어있어 자주 조인이 발생되는 경우
        • 테이블 중 일부 칼럼이나 행만 요구되는 경우
        • 특정 테이블의 접근을 제한하고 결과만 제공하는 경우
        • VIEW가 바뀌면 원본도 같이 바뀌기 때문에 이러한 상황을 원치 않는다면 READ ONLY를 작성해 줘야 한다
        • CREATE [OR REPLACE] VIEW 뷰이름[(컬럼 리스트)]
              AS
                SELECT 문
                [WITH CHECK OPTION]
                [WITH READ ONLY]
      2. SEQUENCE
        • 자동적으로 증가 또는 감소되는 번호를 생성
        • 테이블과 독립적 사용
        • 테이블에 기본키로 사용된 적당한 칼럼이 없는 경우 기본키로 사용될 수 있음(게시판 글 번호 등)
        • CREATE SEQUENCE 시퀀스명
                [START WITH n]                시작값(생략되면 MINCALUE)
                [INCREMENT BY n]              증감 값 (DEFAULT 1)
                [MAXVALUE n|NOMAXVALUE]       최대값(DEFAULT NOMAXVALUE(10^27))
                [MINVALUE n|NOMINVALUE]       최솟값(DEFAULT MOMINVALUE(1))
                [CYCLE|NOCYCLE]               최대(최소)걊 도달 후 다시 시퀀스 생성 여부(기본값 NOCYCLE)
                [CACHE n|NOCACHE]             메모리에 미리 시퀀스 생성저장 후 사용(기본값 CACHE 20)
                [ORDER|NOORDER]               요청한 대로 생성 보장 (기본값 NOORDER)
        • 시퀀스 값 참조
        • 시퀀스명.CURRVAL : 시퀀스의 현재값 반환
          시퀀스명.NEXTVAL : 시퀀스의 다음값 반환
          해당 세션에서 시퀀스 생성 후 첫 번째 명령은 반드시 시퀀스명.NEXTVAL이어야함
          시퀀스명.CURRVAL은 시퀀스명.NEXTVAL가 한번은 수행된 후 값 참조 가능
      3. SYNONYM
        • 동의어
        • 오라클에서 사용된 모든 객체를 대상으로 별칭을 부여
        • 긴 테이블명 등에 대한 단축어 기능 제공
        • 칼럼의 별칭이나 FROM절에 사용되는 테이블의 별칭과의 차이점은 적용 범위에 있다
        • CREATE [OR REPLACE] SYNONYM 동의어명
                 FOR 원본 객체명
      4. INDEX
        • 데이터 검색의 효율성을 증가시키기 위하여 사용
        • DB Server의 성능 개선
        • 인덱스를 관리하는데 시간이 오래 걸릴 수도 있으므로 조심해서 사용한다
          1. 인덱스가 요구되는 칼럼
            • 검색이 빈번히 사용되는 칼럼
            • 기본키와 외래 키
            • SORT나 JOIN에 사용되는 칼럼
            • WHERE절의 조건에 '='연산자가 사용된 경우와 범위를 정하여 비교하는 경우
          2. 인덱스가 불필요한 칼럼
            • 칼럼 도메인 작은 칼럼(성별, 학년 등)
            • 검색(select)보다 INSERT, UPDATE, DELETE 등의 명령이 더 중요한 경우
            • 검색 결과 대부분의 자료가 반환된 조건에 사용되는 칼럼
          3. 인덱스 종류
            • Unique/Non-Unique
              • 중복 값의 허용 여부에 따른 분류, Null 값은 허용되나 Unique Index에서 한 번만 허용(단, 기본키 인덱스에서는 Null불허용)
            • Normal Index
              • default 인덱스        
              • 칼럼 값과 rowid(물리적 위치정보)를 조합 사용하여 자료 저장
              • 2진 트리구조 사용으로 각 노드의 평균 검색시간이 동일
            • Bitmap Index
              • Cardinality가 적은 경우 효율적이고 삽입/삭제/수정이 빈번히 발생되는 경우 비효율적
              • 칼럼과 rowid를 이진으로 조합하여 사용
            • Function-Based Normal Index
              • where절에 함수가 사용되어 검색하는 경우가 많이 발생하는 경우 함수가 사용된 칼럼의 값을 기반으로 인덱스 생성
          4. 인덱스 재구성
            • 인덱스나 테이블을 다른 테이블 저장공간(테이블스페이스)으로 이동시킨 후 삽입/삭제 동작이 많이 발생된 경우
            • ALTER INDEX 인덱스명 REBUILD
  • CREATE [ UNIQUE | BITMAP ] INDEX 인덱스명
              ON 테이블명(컬럼명[, 컬럼명, ...]) [ASC|DESC]

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

오라클 데이터 delete시 복구 방법  (0) 2021.11.09
17. 집합연산자  (0) 2021.07.24
16. 서브쿼리  (0) 2021.07.24
15. Join - 외부조인  (0) 2021.07.24
14. Join - 내부조인  (0) 2021.07.24

+ Recent posts