[11주차] 데이터베이스 기초 - 데이터 모델링

minLuna·2023년 5월 16일
0

엘리스 AI트랙 7기

목록 보기
51/62

본 자료는 Elice 플랫폼의 자료를 사용하여 정리하였습니다.

이상현상과 정규화

이상현상이란?

  • 잘못된 데이터베이스 설계로 발생하는 오류

이상현상 종류

  • 삽입이상 : 데이터를 삽입할 때 불필요한 내용까지 삽입해야 하는 문제
  • 갱신이상 : 중복된 데이터 중 일부만 갱신되어 발생하는 문제
  • 삭제이상 : 어떤 데이터를 삭제할 때 다른 유용한 정보도 함께 삭제되는 문제

함수종속성

  • 속성들간의 종속관계
  • 완전함수종속, 부분함수종속, 이행함수종속등이 있으며 함수 종속성에 대하 알아야 이상현상을 제거하기 위한 정규화를 이해할 수 있다.

정규화

  • 이상현상을 제거하기 위해 데이터베이스를 구조화하는 과정
  • 데이터간의 종속성을 제거하여 중복되는 데이터를 줄인다.
  • 데이터의 일관성과 무결성을 보장
  • 1차 ~ 5차 정규화, 보이스코드 정규화가 있다.

1차 정규화(1NF)

  • 테이블의 컬럼이 하나의 값만 갖도록 도메인을 원자값으로 설정하는 과정

2차 정규화(2NF)

이상현상

  • 삽입이상 : 한번도 대여를 하지 않은 고객을 삽입할 수 없다.
  • 갱신이상 : 하나의 튜플에서만 이름을 변경하면 데이터의 불일치가 발생
  • 삭제이상 : 브랜드 대여 기록을 삭제하면 고객의 데이터가 완전히 사라진다.

부분함수종속

  • 기본키를 구성하는 속성 중 일부가 결정자 역할을 하는 경우
    \rarr 고객 테이블과 대여 테이블로 분리하여 부분함수종속을 제거

  • 부분함수종속을 제거하고 완전함수종속이 되도록 테이블을 분해하는 과정

3차 정규화

이상현상

  • 삽입이상 : 고객이나 대여이력이 없는 경우 새로운 회사가 만든 브랜드를 삽입할 수 없다.
  • 갱신이상 : 브랜드명이 변경되는 경우 데이터의 불일치가 발생
  • 삭제이상 : 고객의 대여기록을 삭제하면 회사의 데이터가 완전히 사라진다.

이행함수종속

  • X \rarr Y, Y \rarr Z 라는 종속관계가 있을 때, X \rarr Z가 성립하는 경우
    \rarr 대여 테이블과 회사 테이블로 분해하여 이행함수종속을 제거
    \rarr 대여 테이블과 가격 테이블을 분해하여 이행함수종속을 제거
  • 이행함수종속을 제거하도록 테이블을 분해하는 과정

정규화 정리

BNCF

  • 결정자이면서 후보키가 아닌 것

다치종속

  • 키로 묶여있어서 쓸모없는 데이터가 추가되어야 하는 문제

조인종속

  • 테이블을 분해하고 다시 합쳤을 때 불필요한 튜플이 발생

역정규화

  • 정규화된 데이터베이스의 성능을 개선하기 위해 다시 통합하여 구조를 재구성
profile
열심히

0개의 댓글