본문 바로가기
CS/DB

[DB] 데이터베이스 이상현상(삽입, 삭제, 갱신)과 함수종속성 개념과 예시

by jangThang 2023. 4. 24.
반응형

 데이터베이스 이상현상에 대해서 알아보고, 이와 관련된 함수 종속성의 개념과 예시도 살펴보겠습니다.

 

[ Contents ]

     

     

    1. 이상현상

    - 삽입 이상(Insertion Anomaly): 튜플 삽입 시, 원하지 않는 정보(NULL 등)를 강제 삽입해야 하는 경우
    - 삭제 이상(Deletion Anomaly): 튜플 삭제 시, 같이 저장된 다른 정보까지 삭제되는 경우
    - 갱신 이상(Update Anomaly): 튜플 갱신 시, 중복된 데이터의 일부만 갱신되어 데이터 불일치가 일어나는 경우 

     

     이상현상은 삽입, 삭제, 갱신 작업에서 생기는 오류가 아닙니다. 각 작업은 제대로 진행되나, 의도치 않은 데이터 손실이나 누락 문제가 생길 때 '이상 현상'이라고 합니다.

     

     

    학번 (PK) 성명 학과 등록금 장학
    23101322 장우영 컴퓨터공학과 0 특별 장학생
    23121423 공한비 디자인 학과 3,800,000 NULL
    23141322 박정현 컴퓨터공학과 2,800,000 NULL
    삽입 이상: 아직 학번을 부여받지 못한 신입생은 학생 테이블에 삽입할 수 없음
    삭제 이상: '장우영'  학생을 삭제하면, 특별 장학금을 받았다는 정보도 함께 사라짐
    갱신 이상: '박정현' 학생이 디자인 학과로 전과해서 갱신하면, 서로 다른 등록금을 납부했다는 모순이 생김

     

     테이블 설계를 잘못했을 때, 위와 같이 숨이 턱 막히는 상황이 찾아오게 됩니다. 이러한 이상현상은 분리되어야 할 독립적인 속성들이 하나의 테이블에 저장될 때 발생합니다.

     따라서 실제 학사시스템에서는 학생정보 테이블, 학과 테이블, 등록 테이블, 장학 테이블로 나누어서 운용합니다.

     

     

     

    2. 함수의 종속성 (FD, Functional Dependency)

    테이블 내 속성(칼럼) X에 따라, 다른 속성 Y도 하나로 정해지는 관계 (X → Y)

     

     주민번호(X)를 알면, 이름(Y)도 자연스레 하나로 정해집니다. 이름을 여러 개 갖고 있는 사람은 없죠.

     이러한 X를 Y의 결정자(Determinant)라고 합니다. X → Y라고 표기하죠. 반면, Y는 X에 종속(Dependent)된다고 합니다.

     테이블에서는 기본키나 후보키가 X가 될 수 있으며, 나머지 속성(칼럼)은 Y로 종속되는 특징이 있습니다.

     

     

     

    3. 함수 종속성 규칙

    - 재귀규칙: X ⊇ Y이면 X → Y이다
    - 증가규칙: X → Y이면 XZ → YZ이다
    - 이행규칙: X → Y이고 Y → Z이면 X → Z이다
    - 결합규칙: X → Y이고 X → Z이면 X → YZ이다
    - 분배규칙: X → YZ이면 X → Y이고 X → Z이다
    - 유사이행 규칙: X → Y이고 WY → Z이면, WX → Z이다

     

     함수 종속성을 추론할 수 있는 규칙도 있습니다. 일종의 논리 연산입니다.

     모두 외울 필요는 없으며, 추후 정규화에서 다뤄질 이행 규칙만 잘 봐두시면 되겠습니다. 이행규칙은 잘 알려진 '삼단논법'의 형태입니다.

     

    star가 되고나서 Tistory

    반응형

    댓글