본문 바로가기
데이터베이스

가장 쉬운 데이터베이스 설계 - 2부(2)

by ahoy~ 2020. 7. 8.

이상적인 필드의 요소

  • 테이블 주제의 고유한 특성을 나타내야 한다.
  • 단지 하나의 값만 포함한다.
  • 더 작은 구성요소로 해체될 수 없다.
  • 계산되거나 연결된 값을 포함하지 않는다.
  • 전체 데이터베이스 구조 안에서 유일하다.
  • 하나 이상의 테이블에 나타날 때(테이블의 구조적 구성요소)는 속성들의 대부분을 유지한다.

잘못된 필드

다중값 필드

하나의 필드에 여러개의 값이 들어있는 케이스입니다.
책에 나온 예제를 보겠습니다.

  • 강사 이름: 성과 이름으로 나눌 수 있다.
  • 강사 주소: 거리, 시 ,주 ,우편번호로 나눌 수 있다.
  • 가르치는 과목: 여러개의 과목으로 구성되어 있다.

이중 필드

필드에 레코드마다 계속해서 중복해서 값이 나오는 경우입니다.
바로 예시를 보겠습니당.

위의 이미지를 보면 악기1,2,3에 계속해서 같은 값들이 나오는 것을 알 수 있습니다.
대부분의 이중 필드는 새로운 테이블을 만들고 외래키를 설정함으로서 해결할 수 있습니다.

위와 같이 Student Instruments테이블을 새로 만듬으로서 필드값이 중복되는 것을 해소할 수 있습니다.

이상적인 테이블의 요소

  • 개체 또는 사건일 수 있는 단일 주제를 나타낸다.
  • 기본 키를 가진다.
  • 다중 부분 또는 다중값 필드들을 포함하지 않는다.(Foreign Key예외)
  • 계산된 필드들을 포함하지 않는다.
  • 불필요한 이중 필드들을 포함하지 않는다.
  • 단지 절대적으로 최소한의 중복 데이터만 포함한다.

잘못된 테이블

부분 집합 테이블

부분 집합 테이블은 2개 이상의 테이블이 같은 부분 집합을 가지고 있는 경우입니다.
이 또한 중복이라 중복된 부분 집합을 꺼내어 새로운 테이블을 만들어 중복을 해결할 수 있습니다.
예시를 보도록 하겠습니다.

위는 Employes에 대한 테이블들입니다. 풀타임 직원과 파트타임 직원 테이블이 있습니다.
하지만 Name, Hired, CIty..와 같은 필드들은 다 같이 이용합니다. 이 두 테이블은 같은 부분 집합을 공유하고 있다는 의미입니다.
이 부분집합을 꺼내어 새로운 테이블을 만들어 중복을 해결하여야 합니다.

위의 테이블 구조와 같이, Employees라는 테이블을 새로 만들어 중복을 해결하였습니다.

언뜻보면 당연해보이지만 데이터베이스를 설계할 때 이러한 규칙들을 머릿속에서 인지하고 지키려는 태도를 가지는 것이 중요한 것 같습니다.
끝!

댓글