어 나 갱수.

[DB] 이상 현상이란 ??👍🏿 본문

DB

[DB] 이상 현상이란 ??👍🏿

김경수 2024. 1. 25. 16:13
728x90

 

좋은 데이터베이스를 설계한다. 좋은 데이터베이스를 설계한다는 것은 이상 현상(Anomaly)이 생기지 않도록 고려해 설계하는 것입니다.

이상 현상은 테이블을 설계할 때 잘못 설계해서 데이터를 삽입, 삭제, 수정하는 과정에서 오류가 발생하는 것을 의미합니다.

이상 현상은 갱신 이상(Modification Anomaly), 삽입 이상(Insertion Anomaly), 삭제 이상(Deletion Anomaly)으로 구성됩니다.

 

위의 사진과 같이 설계한 데이터베이스 테이블이 있습니다. 테이블의 이름은 학생테이블이고 테이블의 필드로는 학번, 이름, 나이, 성별, 강의명, 전화번호 등이 있습니다.

 

1. 삽입 이상

  • 자료를 삽입할 때 의도하지 않은 자료까지 삽입을 해야 자료를 테이블에 추가가 가능한 현상
  • 강의를 아직 수강하지 않은 학생을 학생 테이블에 삽입하려면 강의명 속성에는 null 값을 넣어야 하는 문제가 생깁니다.

2. 갱신 이상

  • 중복된 데이터를 수정했을 때 일부만 수정이 되어서 데이터를 갱신할 때 모순이 일어나는 현상
  • 강의명이 보안인 박주홍의 전화번호를 수정하면 첫번째 튜블의 전화번호만 수정되고 다섯 번째 튜블의 전화번호는 수정되지 않는 문제가 생깁니다. 첫 번째와 다섯 번째 튜블의 사용자는 같은 사용자임에도 다른 전화번호를 가지게 되는 문제가 발생하게 됩니다.

3. 삭제 이상

  • 어떤 데이터를 삭제하게 되면 의도하지 않은 다른 데이터까지 함께 삭제되는 현상
  • 정찬교 학생의 NCS 강의를 삭제하게 되면 정찬교학생의 데이터까지 삭제되는 문제가 발생하게 됩니다.

 

 

이러한 이상 현상을 방지하고 효과적인 연산을 수행하기 위해 데이터베이스 정규화라는 작업을 해주는게 아주 중요합니다.

 

 

728x90

'DB' 카테고리의 다른 글

[DB] 정규화란 ? 🐼  (1) 2024.02.04
[DB] 인덱스(Index)란? 😛  (1) 2024.01.31
[DB] DBCP 이란? 🫶  (0) 2024.01.28
[DB] Redis를 왜 사용할까 ?? 🥱  (0) 2023.11.29
[DateBase] Redis란? 🙏🏾  (0) 2023.09.28