SQL/SQL 이론

SQL 이론(3): 관계 / 식별자 / 정규화

민서타 2023. 8. 9. 17:54

1.

관계: 엔터티끼리 상호 연관성이 있는 상태(데이터 모델 내에 존재하는 엔터티 간 논리적 연관성 의미)

 -관계차수:2개의 엔터티 간 관계에서 참여자를 표현하는 것

 

<1:1 관계> 한 명의 사원은 한 개의 병역사항을 가짐

 

<1:M 관계> 한 명의 사원은 한 부서에 소속되고 한 부서는 여러 사원 포함

 

<M:M 관계> 주문은 여러 제품을 포함하고 제품은 여러 주문을 포함가능

 

  -관계 선택사양: 반드시 존재해야 하는 것(필수적 관계 / 실선표현), 중요도가 떨어지는 것(선택적 관계 / 점선표현)


2.

식별자: 단 하나의 인스턴스를 구별해낼 수 잇는 논리적인 이름

 -각 인스턴스를 개별적으로 구분하기 위해 하나의 속성 또는 속성들의 조합

 

 식별자의 속성:

  • 유일성: 주식별자에 의해 유일하게 구분할 수 있다(사원 엔터티의 사원번호 속성)
  • 최소성: 주식별자를 구성하는 속성의 수는 최소한의 수로 구성
  • 불변성: 주식별자가 한 번 정해지면 그 값은 변동되면 안된다
  • 존재성: 주식별자가 지정되면 반드시 데이터 값이 존재해야함.

 식별자 관계:

  • 식별자 관계: 외부 식별자를 자신의 주식별자로 이용
  • 비식별자 관계: 주식별자를 구성하는 속성의 수는 최소한의 수로 구성

3.

정규화: 데이터의 일관성 유지, 중복 방지, 유연성을 유지하기 위해 데이터를 분해하는 과정

 -오류 발생을 최소화하기 위해 작은 테이블 단위로 설계하는 과정

 

 정규화 용어:

  • 정규형: 정규화한 결과
  • 함수적 종속성: 특정 컬럼 A의 값을 알면 다른 컬럼 B의 값을 알 때
  • 결정자: 함수적 종속성에서 컬럼 A를 결정자라 한다 (주민번호와 고객명 시 주민번호가 결정자)
  • 다치종속: 함수적 종속성을 충족시키며 컬럼 B의 값을 다수개 알 수 있을 때

정규화 이론:

  • 1차 정규화: 한 속성에 여러 개의 속성값을 갖거나 같은 유형의 속성이 여러 개인 경우 해당 속성을 분리
  • 2차 정규화: 주식별자에 완전 함수 종속되지 않은 속성을 분리
  • 3차 정규화: 일반 속성끼리 함수 종속이 발생한 속성을 분리
반응형