ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [정보처리기사 필기] 데이터베이스
    정보처리기사 2020. 4. 3. 15:35

    [정규화(Normalization)]

     

    정규화의 개념

    관계형 데이터베이스에서 정확성을 더욱 유지하기 위해 스키마를 쪼개는 과정.

    데이터베이스의 논리적 설계 단계에서 수행

     

    정규화의 목적

    데이터 구조의 안정성 및 무결성을 유지

    이상 발생을 방지 / 자료 저장 공간의 최소화

     

    이상(Anomaly) : 사용자 의도와는 상관없이 데이터가 삽입, 삭제, 갱신되는 현상

     

    정규화 과정

    1NF - 2NF -3NF - BCNF - 4NF - 5NF

     

    1NF(제1정규형)

    : 릴레이션에 속한 모든 값들이 원자 값으로만 구성

     

    2NF(제2정규형)

    : 기본키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속을 만족

    - 완전 함수적 종속: 기본키에 의해서 속성이 결정

    - 부분 함수적 종속: 기본키의 일부에 의해 속성이 결정

    학번 이름 과목코드 과목점수
    121635XX 홍길동 ICT1002-001 A+

    학번과 과목코드에 밑줄이 있으므로 기본키.

    과목점수는 기본키(학번, 과목코드)를 가지고 알 수 있다 ->완전 함수적 종속

    이름은 기본키의 일부(학번)을 가지고 알 수 있다 -> 부분 함수적 종속

     

    3NF(제3정규형)

    기본키가 아닌 모든 속성이 기본키에 대해 이행적 종속 만족하지 않음.

    이행적 종속: A->B, B->C 일떄 A->C 를 만족하는 관계

     

    BCNF(Boyce-Codd 정규형)

    결정자가 모든 후보키

     

    4NF(제4정규형)

    릴레이션에 다차 종속이 성립하는 경우 모든 속성이 함수적 종속관계를 만족

     

    5NF(제5정규형)

    모든 조인 종속이 후보키를 통해서만 성립

    정규화의 개념

    관계형 데이터베이스에서 정확성을 더욱 유지하기 위해 스키마를 쪼개는 과정.

    데이터베이스의 논리적 설계 단계에서 수행

     

    정규화의 목적

    데이터 구조의 안정성 및 무결성을 유지

    이상 발생을 방지 / 자료 저장 공간의 최소화

     

    이상(Anomaly) : 사용자 의도와는 상관없이 데이터가 삽입, 삭제, 갱신되는 현상

     

    정규화 과정

    1NF - 2NF -3NF - BCNF - 4NF - 5NF

     

    1NF(제1정규형)

    : 릴레이션에 속한 모든 값들이 원자 값으로만 구성

     

    2NF(제2정규형)

    : 기본키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속을 만족

    - 완전 함수적 종속: 기본키에 의해서 속성이 결정

    - 부분 함수적 종속: 기본키의 일부에 의해 속성이 결정

    학번 이름 과목코드 과목점수
    121635XX 홍길동 ICT1002-001 A+

    학번과 과목코드에 밑줄이 있으므로 기본키.

    과목점수는 기본키(학번, 과목코드)를 가지고 알 수 있다 ->완전 함수적 종속

    이름은 기본키의 일부(학번)을 가지고 알 수 있다 -> 부분 함수적 종속

     

    3NF(제3정규형)

    기본키가 아닌 모든 속성이 기본키에 대해 이행적 종속 만족하지 않음.

    이행적 종속: A->B, B->C 일떄 A->C 를 만족하는 관계

     

    BCNF(Boyce-Codd 정규형)

    결정자가 모든 후보키

     

    4NF(제4정규형)

    릴레이션에 다차 종속이 성립하는 경우 모든 속성이 함수적 종속관계를 만족

     

    5NF(제5정규형)

    모든 조인 종속이 후보키를 통해서만 성립


    [물리 데이터베이스 설계]

     

    물리 데이터베이스 설계

    : 논리적 구조로 표현된 논리적 데이터베이스를 디스크 등의 물리적인 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정.

     

    데이터베이스 설계순서 :

    요구조건 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 구현

     

    테이블 : 데이터베이스의 가장 기본적인 객체로써 행과 열로 구성됨.

    논리설계 단계의 Entity에 대응하는 객체.

    - 일반 테이블

    - 클러스터드 인덱스 테이블

    : 기본키나 인덱스키의 순서에 따라 데이터가 저장되는 테이블.

    : 일반 적인 인덱스를 사용하는 테이블에 비해 접근 경로가 단축됨.

    - 파티셔닝 테이블

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

     *범위분할: 지정한 열의 값을 기준으로 분할

     *해시분할: 해시함수를 적용한 결과 값에 따라 데이터를 분할

     *조합분할: 범위분할로 분할한 다음 해시 함수를 적용하여 다시 분할

     

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

     데이터 쉐어하우스, ETL 등의 작업에 사용

     

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

    절차적인 처리를 위해 임시로 사용

    저장된 데이터는 트랜잭션이 종료되면 삭제

     

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

    물리 데이터베이스 설계

    : 논리적 구조로 표현된 논리적 데이터베이스를 디스크 등의 물리적인 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정.

     

    데이터베이스 설계순서 :

    요구조건 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 구현

     

    테이블 : 데이터베이스의 가장 기본적인 객체로써 행과 열로 구성됨.

    논리설계 단계의 Entity에 대응하는 객체.

    - 일반 테이블

    - 클러스터드 인덱스 테이블

    : 기본키나 인덱스키의 순서에 따라 데이터가 저장되는 테이블.

    : 일반 적인 인덱스를 사용하는 테이블에 비해 접근 경로가 단축됨.

    - 파티셔닝 테이블

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

     *범위분할: 지정한 열의 값을 기준으로 분할

     *해시분할: 해시함수를 적용한 결과 값에 따라 데이터를 분할

     *조합분할: 범위분할로 분할한 다음 해시 함수를 적용하여 다시 분할

     

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

     데이터 쉐어하우스, ETL 등의 작업에 사용

     

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

    절차적인 처리를 위해 임시로 사용

    저장된 데이터는 트랜잭션이 종료되면 삭제

     

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

     

Designed by Tistory.