1 분 소요

데이터베이스 정규화

데이터베이스의 논리적 설계 단계에서 중복을 최소화하게 데이터를 구조화하는 프로세스.

Database Rdeundancy(데이터 중복)

  • 일관된 자료 처리 어려움
  • 저장 공간 낭비
  • 데이터 효율성 감소

Data Integrity(데이터 무결성)

  • 입력된 데이터가 오염되지 않고, 입력된 그대로 데이터를 사용할 수 있다.

Anomaly(이상현상)

  • 갱신 이상(update anomaly)
    • 여러 행에 걸쳐 동일한 데이터가 있을 때, 어떤 행을 갱신해야 하는지 논리적인 일관성이 없는 경우에 발생.
  • 삽입 이상(insertion anomaly)
    • 데이터를 삽입하지 못하는 경우.
  • 삭제 이상(deletion anomaly)
    • 데이터의 특정 부분을 지울 때 의도치 않게 다른 부분도 함께 지우는 현상.

정규화 단계

  • 제1 정규화(1NF)
    • 릴레이션에 속한 모든 도메인이 원자값만으로 구성.
    • 도메인: 릴레이션에 포함된 각각의 속성들이 가질 수 있는 값들의 집합
  • 제2 정규화(2NF)
    • 기본키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속을 만족
    • 완전 함수적 종속: 어떤 속성이 기본키에 대해 완전히 종속적일 때
  • 제3 정규화(3NF)
    • 기본키가 아닌 모든 속성이 기본키에 대해 이행적 종속을 만족하지 않을 때
    • 이행적 종속: A -> B, B -> C가 성립할 때 A -> C가 성립되는 것
  • BCNF 정규화
    • 모든 결정자가 후보키가 되도록 하는 것.
  • 제4 정규화(4NF)
    • 다치 종속 A -» B가 성립하는 경우
    • 다치 종속: 릴레이션 R에 A, B, C 세 개의 속성이 속해 있을 때 속성(A, C)의 도메인 값에 대응되는 B의 도메인 값의 집합이 A 값에만 종속되고 C 값에 독립이면, B는 A에 다중치 종속이라 하고 A -»B로 표기
  • 제5 정규화(5NF)
    • 릴레이션 R의 모든 조인 종속이 R의 후보키를 통해서만 성립되는 경우
    • 조인 종속: 릴레이션 R의 모든 프로젝션을 조인한 결과 릴레이션 R과 동일한 경우 릴레이션 R은 조인 종속을 만족한다.
    • 프로젝션: 릴레이션 R의 속성 리스트에 제시된 속성 값만을 추출하여 새로운 릴레이션을 만드는 연산.

SQL 종류

  • Data Definition Language(DDL)
    • 데이터 정의어. 데이터를 정의할 때 사용하는 언어.
    • CREATE, DROP
  • Data Manipulation Language(DML)
    • 데이터 조작어. 데이터를 저장할 때 사용하는 언어.
    • INSERT INTO, DELETE
  • Data Control Language(DCL)
    • 데이터 제어어. 데이터베이스에 대한 접근 권한과 관련된 문법.
    • GRANT, REVOKE
  • Data Query Language(DQL)
    • 정해진 스키마 내에서 쿼리할 수 있는 언어. DML의 일부분으로 취급하기도 한다.
    • SELECT,
  • Transaction Control Language(TCL)
    • DML을 거친 데이터의 변경사항을 수정할 수 있다.
    • COMMIT, ROLLBACK