기록공간

3-2-2장. 데이터베이스 저장 공간 설계 - B 본문

자격증공부/정보처리기사_필기

3-2-2장. 데이터베이스 저장 공간 설계 - B

입코딩 2020. 9. 11. 19:01
반응형

 테이블(Table)

테이블은 데이터베이스의 가장 기본적인 객체로 로우(Row, 행)컬럼(Column, 열)으로 구성되어 있다.

 

  • 데이터베이스의 모든 데이터는 테이블에 저장

  • 테이블은 논리 설계 단계의 개체에 대응하는 객체

  • DBMS 종류에 따라 테이블의 명칭과 기능 등은 약간씩 차이가 있음

  • 테이블 종류에는 일반 테이블, 클러스터 인덱스 테이블, 파티셔닝 테이블, 외부 테이블, 임시 테이블 등이 있음

일반 테이블

일반 테이블은 현재 사용되는 대부분의 DBMS에서 표준 테이블로 사용되는 테이블 형태이다.

 

  • 테이블에 저장되는 데이터의 로우(Row)위치는 속성 값에 상관없이 데이터가 저장되는 순서에 따라 결정

클러스터드 인덱스 테이블(Clustered Index Table)

클러스터드 인덱스 테이블은 기본키(Primary Key)나 인덱스키의 순서에 따라 데이터가 저장되는 테이블이다.

 

  • 클러스터 인덱스 테이블은 일반적인 인덱스를 사용하는 테이블에 비해 접근 경로가 단축

파티셔닝 테이블

파티셔닝 테이블은 대용량의 테이블을 작은 논리적 단위인 파티션으로 나눈 테이블이다.

 

  • 파티셔닝 테이블은 대용량의 데이터를 효과적으로 관리할 수 있지만 파티션 키를 잘못 구성하면 성능 저하 등의 역효과를 초래할 수 있음

  • 파티셔닝 방식에 따라 범위 분할, 해시 분할, 조합 분할 등으로 나뉨

외부 테이블(External Table)

외부 테이블은 데이터베이스에서 일반 테이블처럼 이용할 수 있는 외부 파일로, 데이터베이스 내에 객체로 존재한다.

 

  • 외부 테이블은 데이터웨어하우스(Data Warehouse)에서 ETL(Extraction Trasformation, Loading) 등의 작업에 유용하게 사용됨

임시 테이블(Temporary Table)

임시 테이블은 트랜잭션이나 세션별로 데이터를 저장하고 처리할 수 있는 테이블이다.

 

  • 임시 테이블에 저장된 데이터는 트랜잭션이 종료되면 삭제

  • 임시 테이블은 절차적인 처리를 위해 임시로 사용하는 테이블

컬럼(Column)

컬럼은 테이블의 열을 구성하는 요소로 데이터 타입(Data Type), 길이(Length) 등으로 정의된다.

 

  • 데이터 타입은 데이터의 일관성 유지를 위해 사용되는 가장 기본적인 것으로, 도메인을 정의한 경우 도메인에 따라 데이터의 타입과 길이가 정의

  • 두 컬럼을 비교하는 연산에서 두 컬럼의 데이터 타입이나 길이가 다르면 DBMS 내부적으로 데이터 타입을 변환한 후 비교 연산을 수행

  • 참조 관계인 컴럼들은 데이터 타입과 길이가 일치해야 함

  • 데이터 타입과 길이 지정 시 고려 사항

    • 가변 길이 데이터 타입 : 예상되는 최대 길이로 정의

    • 고정 길이 데이터 타입 : 최소 길이로 지정

    • 소수점 이하 자릿수 : 소수점 이하 자릿수는 반올림되어 저장

  • 데이터 타입에 따른 컬럼의 물리적인 순서

    • 고정 길이 컬럼이고 NOT Null인 컬럼 : 앞쪽

    • 가변 길이 컬럼 : 뒤쪽

    • Null 값이 많을 것으로 예상되는 컬럼 : 뒤쪽

테이블스페이스(Tablespace)

테이블스페이스는 테이블이 저장되는 논리적인 영역으로, 하나의 테이블스페이스에 하나 또는 그 이상의 테이블을 저장할 수 있다.

 

  • 테이블을 저장하면 논리적으로는 테이블스페이스에 저장되고, 물리적으로는 해당 테이블스페이스와 연관된 데이터 파일(Data File)에 저장됨

  • 데이터베이스를 테이블, 테이블스페이스, 데이터 파일로 나눠 관리하면 논리적 구성이 물리적 구성에 종속되지 않아 투명성이 보장

  • 테이블스페이스는 데이터베이스에 저장되는 내용에 따라 테이블, 인덱스, 임시 등의 용도로 구분하여 설계

  • 테이블스페이스 설계 시 고려사항

    • 테이블스페이스는 업무별로 구분하여 지정

    • 대용량 테이블은 하나의 테이블 스페이스에 독립적으로 저장

    • 테이블과 인덱스는 분리하여 저장

    • LOB(Large Object) 타입의 데이터는 독립적인 공간으로 저장

반응형
Comments