320x100
320x100

사전지식

관계형 데이터베이스에서의 DB구조 개념

- 릴레이션 / 테이블

 : 행과 열로 이루어진 데이터의 집합

 

 : 릴레이션 = 테이블 + 정규화

 

 : 릴레이션의 조건 (제1 정규화 조건)

 ㆍ행에 개체에 대한 데이터를 저장

 ㆍ열에 개체에 특성에 대한 데이터를 저장

 ㆍ한 열의 모든 값이 동일한 자료형

 ㆍ열의 이름은 유일해야함

 ㆍ각 셀은 단일한 값 또는 항목만 가짐 (다중항목)

 

- 행 (튜플 / 레코드)

 : 한 객체에 대한 정보

 

- 열 (속성, 컬럼)

 : 테이블의 속성

 

 

 

 

key와 관련된 기초 개념

- key 

 : 다른 튜플들과의 구별의 기준이 되는 속성

- 유일성

 : 하나의 갑스올 하나의 튜플만을 유일하게 식별할 수 있어야함

- 최소성

 : 모든 튜플들을 유일하게 식별하는데 꼭 필요한 속성만으로 구성되어야 함

 

 

 

 

 

 

데이터베이스 정규화

데이터베이스 정규화

- 관계형 데이터베이스의 설계에서 데이터의 중복을 최소화 하기위해 데이터를 구조화 하는 것

 

 

- 관계형 데이터베이스의 이상문제

 : 삽입 이상

  = 데이터를 추가할 때 원하지 않는 정보가 함께 삽입되는 경우

 

 : 삭제 이상

  = 튜플을 삭제함으로써 유지되어야 하는 정보까지도 연쇄적으로 삭제되는 경우

 

 : 갱신 이상

  = 중복된 튜플 중 일부의 속성만 갱신시킴으로써 정보의 모순성이 발생하는 경우

 

 

 

 

제 1 정규형

- 릴레이션의 모든 속성이 분해되지 않는 원자값임 (한 속성에 한 값만 있는 상태)

https://nirsa.tistory.com/107

 

 

 

제 2정규형

- 제 1정규형을 만족하면서 부분 함수 종속을 제거

 : 릴레이션을 분해하여 연관되어있는 속성끼리 릴레이션을 형성

ex) 학번이 성적, 학부, 등록금에 영향을 끼치고

    과목코드가 성적에 영향을 끼칠 경우

 

 

제 3정규형

- 제 2정규형을 만족하면서 이행 함수 종속을 제거

※ 이행적 함수종속

  = 속성 X,Y,Z가 있을때 종속관계가 X->Y->Z, X->Z인 형태

 

 

보이스코드 정규형 (BCNF / 강한 제 3정규형)

- 제 3정규형을 만족하면서 후보키가 하나만 존재하는 상태

 : 후보키가 아님에도 불구하고 다른 속성을 결정하는 경우가 없는상태 

 

 

 

제 4정규형

- 보이스코드 정규형을 만족하면서 다치종속을 제거한 상태

※ 다치종속 (MVD)

  = 속성 A,B,C가 있을때 B에 대해서 (A, C) -> B 인데 B는 A에만 종속되어 있는 경우

  => R1 (A, B)와 R2(A, C)로 분해 

 

 

 

제 5정규형

- 제 4정규형을 만족하면서 조인종속을 제거한 상태

※ 조인종속 (JD)

  = 릴레이션의 조인이 자신의 속성에 대한 부분집합과 동일한 상태

  = 학생 (학번, 이름, 학과, 학년)에서 학번과 이름이 후보키인 경우

     JD*((학번, 이름, 학과), (학번, 학년))

     JD*((학번, 이름), (학번, 학년), (이름, 학과))

 

 

 

※ 일반적으로 제 3정규형이나 BCNF에 속하도록 릴레이션을 분해하여 데이터중복을 줄임

 

 

 

 

Refference

 

[DB 이론] 데이터베이스 정규화란? (이상 문제, 함수적 종속, 정규화 과정)

데이터베이스 정규화란? 이상 문제를 해결하기 위해 속성들 끼리의 종속 관계를 분석하여 여러개의 릴레이션으로 분해하는 과정 입니다. 일반적으로 테이블을 여러개로 분해하면 속도는 상대

nirsa.tistory.com

 

300x250
728x90