[데이터베이스] 이상현상

Yoon Uk·2023년 8월 15일
0

데이터베이스

목록 보기
14/20
post-thumbnail

이상현상

데이터베이스에서 이상현상이란 테이블의 설계가 적절하지 않아서 발생하는 데이터의 불일치나 중복 등의 문제를 말합니다.
이상현상은 데이터베이스의 성능과 정확도에 영향을 미치며, 데이터의 일관성과 무결성을 해칩니다.

예를 들어, 학생 정보 테이블에서 학번과 이름을 기본키로 설정하면, 같은 이름을 가진 학생이 여러 명 있을 경우에 중복된 레코드가 발생할 수 있습니다. 또는, 전공과 학점을 같은 테이블에 저장하면, 전공이 변경되었을 때 학점도 함께 수정해야 하는 번거로움이 있습니다.

삽입 이상(Insertion Anomaly)

삽입 이상(Insertion Anomaly)이란 데이터베이스에서 새로운 튜플을 삽입할 때 발생하는 문제점을 말합니다.

예를 들어, 학생과 과목을 관리하는 테이블에서 새로운 과목을 추가하려고 하는데, 아직 수강한 학생이 없다면 어떻게 해야 할까요? 이 경우, 학생 정보를 NULL로 채워야 하는데, 이는 데이터의 무결성을 해치고, 공간 낭비를 초래할 수 있습니다.

PK학생명학번과목명
1김윤욱2016116성인간호학
2이학원2016110회로설계
3김정현2016119컴퓨터구조
???심리학개론

갱신 이상(Update Anomaly)

갱신 이상(Update Anomaly)이란 데이터베이스에서 일관성을 유지하기 위해 여러 테이블이나 여러 행에 동일한 정보를 반복해서 저장할 때 발생하는 문제입니다.

예를 들어, 어떤 과목의 교수명이 변경될 때 갱신하는 과정에서 실수가 발생하면, 데이터베이스에는 모순된 정보가 남게 됩니다.
여기서 변경되지 않은 행이 한 개라도 존재하면, 데이터가 상이한 문제가 발생합니다.
그리고 학생이 1000명이라면, 1000개의 데이터를 변경해야 하는 비효율적인 문제가 발생합니다.

이렇게 갱신 이상은 데이터베이스의 정확성과 신뢰성을 저하시키는 원인이 됩니다.

PK학생명학번과목명교수명
1김윤욱2016116성인간호학김김김
2이학원2016110회로설계이이이
3김정현2016119컴퓨터구조나나나
4김민규2017178컴퓨터구조나나나
5진재환2015100컴퓨터구조나나나
6김상진2016165컴퓨터구조나나나

삭제 이상(Deletion Anomaly)

삭제 이상(Deletion Anomaly)이란 데이터베이스에서 튜플을 삭제할 때 발생할 수 있는 문제점을 말합니다.

예를 들어, 학생과 과목을 연결하는 테이블에서 한 학생의 튜플을 삭제하면, 그 학생이 수강한 과목에 대한 정보도 함께 사라지게 됩니다.

이렇게 되면 데이터베이스의 무결성이 깨지고, 데이터의 일관성이 유지되지 않습니다.

PK학생명학번과목명교수명
1김윤욱2016116성인간호학김김김
2이학원2016110회로설계이이이
3김정현2016119컴퓨터구조나나나

여기서 1번 학생(김윤욱)이 삭제된다면 성인간호학 이라는 과목의 정보도 사라지게 됩니다.

해결 방법

데이터베이스에서 이상현상을 방지하기 위해서는 테이블을 정규화하는 과정이 필요합니다.
정규화란 테이블의 구조를 재조정하여 중복과 종속성을 제거하는 것입니다.
정규화의 목적은 데이터베이스의 성능과 정확도를 향상시키고, 데이터의 일관성과 무결성을 보장하는 것입니다.
정규화에는 여러 단계가 있으며, 각 단계마다 특정한 조건을 만족시켜야 합니다.

정규화의 단계와 조건에 대해서는 다음 글에서 자세히 설명하겠습니다.

0개의 댓글