• 정규화(Normalization)
    1. 어떤 관계라도 데이터베이스 내에서 표현이 가능하도록 만드는 것
    2. 관계에서 바람직하지 않은 삽입, 삭제, 갱신 이상이 발생하지 않도록 한다.
    3. 새로운 형태의 데이터가 삽입될 때 관계를 재구성할 필요성을 줄일 수 있다.
    4. 보다 간단한 관계 연산에 기초하여 검색을 보다 효율적으로 할 수 있다.

    - 이상(anomaly) 현상
     : 속성 간에 존재하는 여러 종속 관계를 하나의 릴레이션에 표현함으로써 데이터의 중복으로 인해 발생하는 여러가지 현상
     ■ 삭제 이상
      :
    연쇄삭제에 의한 정보의 손실
      
     ■ 삽입 이상
      : 원하지 않는 정보의 강제 삽입

      
    갱신 이상
     : 중복 데이터의 일부 갱신으로 정보의 모순성 발생
     

    - 함수 종속
      

     : X가 Y를 결정한다, Y가 X에 의해 결정된다, X는 Y의 결정자이다
     : X(determinant)를 결정자, Y를 종속자
     : {학번, 과목번호} -> {성적}은 완전 함수 종속(FFD: Full Functional Dependency), {학번} -> {학년}은 부분 함수 종속(PFD: Partial Functional Dependency)

      

    - 정규화 과정
     : 일반적으로 데이터베이스를 설계할 때에는 BCNF까지만 고려
     : 정규화 과정을 거칠 수록 join 연산으로 인한 성능저하를 가져올 수 있기 때문에 데이터의 정합성과 데이터의 무결성을 우선으로 할지 데이터베이스 구성의 단순화와 성능을 우선으로 할지를 결정
     : 반대 개념으로 역정규화

        

     ■ 제1정규화(1NF)
      : 어떤 릴레이션 R에 속한 모든 도메인이 원잣값(atomic value)만으로 되어 있다.
      


     ■ 제2정규화(2NF)
      : 어떤 릴레이션 R이 제1정규형이고, 키에 속하지 않은 속성 모두가 키에 완전 함수 종속
      : 무손실 분해

        

     ■ 제3정규화(3NF)
      : 어떤 릴레이션 R이 2NF이고, 모든 속성들이 기본키에 이행적 함수 종석(transitive FD)이 아니면 제3정규형에 속한다.
      : 이행적 함수 종속성은 A -> B 와 B-> C의 함수 종속성이 존재하면(A->B
    B->C) 속성 C가 이행적으로 A에 종속 (A->C)

      

      

     ■ 보이스/코드 정규형(BCNF)
      : 릴레이션 R이 제3정규형을 만족하고, 모든 결정자가 후보키이어야한다.

      
      


'Major > Database' 카테고리의 다른 글

데이터베이스 - SQL  (0) 2015.11.25
데이터베이스 - 관계 대수  (0) 2015.11.25
데이터베이스 - 관계형 데이터베이스  (0) 2015.11.24
데이터베이스 - 데이터 모델  (0) 2015.11.24
데이터베이스 - 기초  (3) 2015.11.24

+ Recent posts