Computer Science/Database

[Database] 이상 현상 (Anomaly)

2023. 6. 30. 22:57
목차
  1. 이상 현상 (Anomaly)
  2. 세 가지 유형의 이상 현상

이상 현상 (Anomaly)

  • 일반적인 패턴이나 동작으로부터 벗어난 것
  • 즉, 데이터나 시스템에서 예상치 못한 이벤트, 동작, 패턴 등이 나타나는 것
  • 데이터베이스 이상은 일반적으로 설계가 잘못되고 무계층 데이터베이스를 사용하여 발생한다.
  • 이상 현상은 일반적으로 테이블을 분할하거나 결합하여 정규화함으로써 제거된다.

세 가지 유형의 이상 현상

갱신 이상 현상 (Updation/Update Anomaly)

  • 테이블의 일부 행을 업데이트할 때 테이블의 불일치가 발생하면 갱신 이상 현상이 발생한다.

삽입 이상 현상 (Insertion Anomaly)

  • 테이블에 새 행이 삽입되어 있고 테이블에 불일치가 발생하는 경우를 삽입 이상 현상이라고 한다.

삭제 이상 현상 (Deletion Anomaly)

  • 테이블에서 일부 행을 삭제하고 데이터베이스에서 필요한 다른 정보나 데이터도 삭제하는 경우를 삭제 이상 현상이라고 한다.

예시1.

  • 갱신 이상 현상 (Updation/Update Anomaly)
    • 위의 표에서 Ramesh의 주소를 업데이트하려면 Ramesh가 있는 모든 행을 업데이트해야 한다. 이때, 하나의 행을 놓치면 Ramesh의 주소가 두 개가 되어 데이터베이스가 일관되지 않고 잘못될 수 있다.
  • 삽입 이상 현상 (Insertion Anomaly)
    • 예를 들어 위의 표에서 worker의 새 행을 만들고 이 행이 어느 부서(deptartment)에도 할당되지 않으면 테이블에 삽입할 수 없으므로 삽입 이상이 발생한다.

  • 삭제 이상 현상 (Deletion Anomaly)
    • 예를 들어, 위의 표에서 부서 번호 ECT669를 삭제하려면 Rajesh의 세부정보가 ECT669 행에 따라 달라지기 때문에 Rajesh의 세부 정보도 삭제된다. 따라서 표에 삭제 이상이 발생한다.

예시2.

  • 갱신 이상 현상 (Updation/Update Anomaly)
    • 위의 표에서 Shivani가 Computer Science에서 Electronics로 branch를 변경하면 모든 행을 업데이트해야 한다. 행을 하나라도 놓치면 Shivani는 두 개 이상의 branch를 가지게 되므로 갱신 이상이 발생한다.

  • 삽입 이상 현상 (Insertion Anomaly)
    • 동아리에 속하지 않은 새로운 학생을 추가하면 stu_club 열에 null을 삽입할 수 없기 때문에 테이블에 행을 삽입할 수 없으므로 삽입 이상이 발생한다.

  • 삭제 이상 현상 (Deletion Anomaly)
    • Photography 동아리를 없애면 꼭 필요한 정보인 Gopal에 대한 정보도 삭제되므로 삭제 이상이 발생한다.

참고: https://www.javatpoint.com/anomalies-in-dbms

저작자표시 (새창열림)

'Computer Science > Database' 카테고리의 다른 글

[Database] 정규화 (Normalization)  (0) 2023.07.07
[Database] 인덱스 (Index)  (0) 2023.06.30
[Database] SQL vs. NoSQL  (0) 2023.06.23
[Database] SQL Injection  (0) 2023.06.23
[Database] 조인(Join)  (0) 2023.06.23
  1. 이상 현상 (Anomaly)
  2. 세 가지 유형의 이상 현상
'Computer Science/Database' 카테고리의 다른 글
  • [Database] 정규화 (Normalization)
  • [Database] 인덱스 (Index)
  • [Database] SQL vs. NoSQL
  • [Database] SQL Injection
dbssk
dbssk
dbssk
K.Back-end
dbssk
  • 분류 전체보기 (220)
    • 끄적 (0)
    • TIL (8)
      • Trouble Shooting (1)
    • Programmers (94)
      • Lv.0 (29)
      • Lv.1 (40)
      • Lv.2 (25)
    • 백준 (15)
    • 구름 (0)
    • Computer Science (79)
      • 컴퓨터 구조 (3)
      • Operating System (18)
      • 알고리즘 (9)
      • 자료구조 (11)
      • Database (10)
      • Network (8)
      • Web (12)
      • Design Pattern (8)
    • Spring (2)
    • Languages (13)
      • Java (13)
    • 북 스터디 (9)
      • 스프링 부트 핵심 가이드 (9)
      • 자바 코딩 인터뷰 완벽 가이드 (0)
    • 프론트엔드 (0)

인기 글

최근 글

태그

  • 코딩테스트
  • 백엔드스쿨
  • 백준
  • 개발자포트폴리오
  • 해시
  • java
  • 프로그래머스
  • 자료구조
  • spring
  • hash
  • LV.1
  • 백엔드공부
  • stack
  • LV.2
  • 스택
  • 개발자이력서
  • 배열
  • Lv.0
  • 개발자취준
  • 개발자취업
hELLO · Designed By 정상우.
dbssk
[Database] 이상 현상 (Anomaly)
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.