• 정규화(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
  • 관계형 데이터베이스 (Relational Database)

    - 릴레이션 (Relation)
     

      : 속성, 튜플의 순서는 중요하지 않다.
      : 속성은 더 이상 쪼갤 수 없는 원자값(atomic value)만을 저장
      : 한 릴레이션에 포함된 튜플들은 모두 달라야 한다.

     



     - 차수(degree)
      : 한 릴레이션을 구성하는 애트리뷰트의 개수
      : 릴레이션의 최소 차수는 1
      : 자주 바뀌지 않음

     - 카디날리티(Cardinality)
      : 한 릴레이션 내의 튜플의 수
      : 릴레이션의 최소 카디날리티의 수는 0
      : 시간이 지남에 따라 계속해서 변함

      - 도메인(Domain)
      : 릴레이션에 포함된 각각의 속성들이 취할 수 있는 같은 타입의 원자(atomic) 값들의 집합
       

     - 키(Key) 

      : 한 릴레이션에서 각 튜플을 유일하게 식별하기 위해 사용하는 하나 혹은 그 이상의 속성들의 집합
       ■유일성 : 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있는 성격
       
    최소성 : 모든 레코드들을 유일하게 식별하는데 꼭 필요한 속성으로만 구성되어야 하는 성격

      
      
      
      
    - 외래키(Foreign key)
      : 관계를 맺고 있는 릴레이션 R1, R2에서 릴레이션 R1이 참조하고 있는 릴레이션 R2의 기본키와 같은 R1 릴레이션의 속성
      : 외래키로 지정되면 참조 테이블의 기본키에 없는 값은 입력할 수 없음.

      



    - 개체 무결성
      : 릴레이션에서 기본키를 구성하는 속성은 널(NULL) 값이나 중복 값을 가질 수 없음.

    - 참조 무결성
      : 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 함
      : 즉, 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없음.


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

데이터베이스 - SQL  (0) 2015.11.25
데이터베이스 - 관계 대수  (0) 2015.11.25
데이터베이스 - 정규화  (2) 2015.11.24
데이터베이스 - 데이터 모델  (0) 2015.11.24
데이터베이스 - 기초  (3) 2015.11.24
  • 데이터 모델링(Data Modeling)
     







  • 데이터 모델의 구성요소





    - 엔티티(Entity)
     : 데이터베이스에 자료로 표현하려는 것
     : 개념이나 정보단위 같은 현실 세계의 대상체
     : 유형, 무형의 정보
     : 서로 연관된 하나 이상의 속성으로 구성

    - 속성(Attribute)
     : 데이터의 가장 작은 논리적 단위
     : 각 속성은 엔티티의 특성, 상태 등을 기술

    - 관계(Relation)
     : 데이터의 가장 작은 논리적 단위
     : 각 속성은 엔티티의 특성, 상태 등을 기술


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

데이터베이스 - SQL  (0) 2015.11.25
데이터베이스 - 관계 대수  (0) 2015.11.25
데이터베이스 - 정규화  (2) 2015.11.24
데이터베이스 - 관계형 데이터베이스  (0) 2015.11.24
데이터베이스 - 기초  (3) 2015.11.24

+ Recent posts