DB 16일차

김강산·2022년 6월 23일

orcle SQL

목록 보기
13/25

<학습목표>
1. CASE
2. 트랜잭션 : COMMIT, ROLLBACK, SAVEPOINT
3. 자료사전 : 시스템 뷰테이블, 사용자 객체정보
4. 인덱스, 뷰
인덱스 : 데이터 검색속도 개선
뷰 : 가상의 테이블(논리적)

COMMIT(변경내역 DB반영), ROLLBACK(변경내역 되돌림) : 트랜잭션 종료, 새로운 트랜잭션 시작
SAVEPOINT : 트랜잭션 중간저장

사용자 객체정보 : 테이블 사용자목록

데이터 검색속도 개선 - B-TREE INDEX
- BITMAP INDEX
- FUNCTION BASED INSEX

트랜잭션(TRANSACTION)

데이터베이스를 변경하기 위해 수행되어야 할
논리적인 단위. 여러개의 SQL로 구성되어 있음.
원자성 : ALL OR NOTHING. 전체 실행 또는 전체 실행 안됨.
일관성 : 데이터베이스에 실행전에 문제가 없다면 실행후에도 문제가 없다.
고립성 : 실행 중 타 트랜잭션에 영향으로 결과에 문제가 발생해서는 안 됨
지속성 : 성공하면 결과는 지속됨

LPROD테이블 복제 -> LPROD2 테이블 생성
1) 스키마 : 컬럼, 자료형, 크기, N.N제약사항
2) 데이터
단, P.K F.K는 복제가 안됨

CREATE TABLE LPROD2
AS
SELECT * FROM LPROD;

CREATE를 하게되면 자동으로 COMMIT이 됨
ROLLBACK을 하더라도 CREATE를 하게되면 CREATE한 이후로 ROLLBACK이 됨

SAVEPOINT : 트랜잭션 중간저장
COMMIT : 변경사항을 데이터베이스에 반영
트랜잭션이 종료됨과 동시에
새로운 트랜잭션이 시작됨

P.222
메타데이터 : 데이터(눈에 보이는 데이터)를 위한 데이터(컬럼, 자료형, 크기, 제약사항)
데이터 사전이란? 메타데이터 정보를 관리
DICTIONARY 뷰(가상의 테이블, 논리적)에서 'ALL_'로 시작 하는 모든 테이블 조회

USER_CONSTRAINTS,
USER_CONS_COLUMNS의 컬럼 상세를 확인하고
상품 테이블의 제약조건을 출력하시오?
(컬럼명, 제약명, 타입, 제약내용)

인덱스(INDEX)
질의문의 수행을 효율적으로 하기 위해서 자주 사용되는 컬럼에 대한 인덱스를 생성한다

  • Primary key, Unique constraint정의 시 자동으로 인덱스 생성
  • 테이블의 데이터를 갱신하면 자동으로 인덱스의 내용도 갱신
  • 인덱스가 많으면 검색시 유리하지만 갱신 시 성능 저하
  • 적당한 인덱스 생성이 중요
  1. 인덱스 생성 기준
  • WHERE 절(검색 조건), Join 에 자주 사용되는 컬럼
  • 컬럼의 값이 다양한 경우(남/여 등의 성별 구분 컬럼에는 생성하지 않는다)
  • 둘 이상의 컬럼이 검색 조건이나 Join에 자주 사용되는 경우
  • 테이블이 크고 전체행의 10~15% 이내의 검색이 대부분인 경우

Normal index(B_tree INDEX) : ROOT, BRANCH, LEAF
Bitmap index : Cardinality가 적은경우 효율적
rowid와 컬럼의 값을 이진으로 조합하여 저장

0개의 댓글