솜이의 데브로그

8장 ) 테이블 설계(2) 본문

CS/Database

8장 ) 테이블 설계(2)

somsoming 2021. 12. 5. 12:47

Reference : 데이터베이스 첫걸음

 

8장 ) 테이블 설계의 기초

 

정규형

  • 테이블은 '고유한 기본키를 가진 공통점에 의해 정리된 것들의 집합'이다.
  • 테이블 정의의 기본이 되는 것이 '정규형'

 

Normalization

정규화의 목적은 갱신 이상을 없애는 것

 

제 1정규형(1NF)

  • 테이블 셀에 복합적인 값을 포함하지 않는다.
    • 관계형 테이블은 전부 제 1 정규형을 자동으로 만족한다.
  • '단일값' 즉, 이 이상 나누는 것이 가능하지 않은 값을 '스칼라 값'이라고 한다.
  • 제 1 정규형이란 스칼라 이외의 값을 포함하지 않는 테이블.
  • 레코드의 단일성을 보증한다.

 

 

제 2정규형(2NF)

  • 부분함수 종속성, 즉 기본키를 구성하는 열의 일부에만 함수 종속이 존재하면 안된다.

 

제 3정규형(3NF)

  • 추이함수 종속이 없어야 함.
    • 기본키 이외이 키 간에 발생하는 함수 종속

 

 

ER 다이어그램

  • 테이블 간의 관련성을 한눈에 알 수 있게 고안.
  • Entity: 테이블
  • Relationship : 테이블 간의 관계

 

 

Entity

  • 위 절반 부분에는 기본키 pk, 아래에는 나머지 기타 열 표시.
  • FK : Foreign key
    • 다른 테이블에서도 같은 의미로 사용되는 열

 

Relationship

  • 외래키의 존재
  • 해당 열이 다른 테이블의 기본키 열을 참조하는 것.
  • 포함관계 또는 귀속관계
  • IE 표기법에서는 규칙과 기호로 테이블 간 레코드 수의 대응 관계를 표시.

 

 

테이블 설계 시 가장 중요한 것은 '테이블이 집합인 것'과 '테이블이 함수인 것'을 이해하는 것이다.