이상현상
이상현상: 테이블에 튜플을 삽입할 때 부득이하게 NULL 값이 입력되거나, 삭제 시 연쇄삭제 현상이 발생하거나, 수정 시 데이터의 일관성이 훼손되는 현상
학생수강 테이블
학생번호 | 학생이름 | 학과 | 주소 | 강좌이름 | 강의실 |
501 | 박지성 | 컴공 | 영국 | 데이터베이스 | 공학관 110 |
401 | 김연아 | 체육 | 서울 | 데이터베이스 | 공학관 110 |
402 | 장미란 | 체육 | 강원도 | 스포츠경영 | 체육관 103 |
502 | 추신수 | 컴공 | 미국 | 자료구조 | 공학관 111 |
501 | 박지성 | 컴공 | 영국 | 자료구조 | 공학관 111 |
이와같은 테이블이 존재할때
삭제이상
삭제이상(deletion anomaly) 튜플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상
→ 연쇄삭제(triggered deletion 문제 발생)
예)
장미란 학생이 스포츠경영 과목을 수강 취소하고싶어 DELETE 문으로 세 번째 튜플을 삭제하였을 때
스포츠경영 수강을 취소하고싶었지만 의도와 다르게 장미란 학생의 기본 정보까지 없어졌다.
삽입이상
삽입이상 : 튜플 삽입시 특정 속성에 해당하는 값이 없어 NULL 값을 입력해야 하는 현상 → NULL 값 문제발생됨
학생번호 | 학생이름 | 학과 | 주소 | 강좌이름 | 강의실 |
501 | 박지성 | 컴공 | 영국 | 데이터베이스 | 공학관 110 |
401 | 김연아 | 체육 | 서울 | 데이터베이스 | 공학관 110 |
502 | 추신수 | 컴공 | 미국 | 자료구조 | 공학관 111 |
501 | 박지성 | 컴공 | 영국 | 자료구조 | 공학관 111 |
예)
박세리란 학생이 체육학과에 입학했다고 가정했을때 INSERT 문으로 (학생번호, 학생이름,학과, 주소) 그러나 아직 수강신청은 하지 않은 상태라 (강좌이름, 강의실) 속성에는 NULL값을 입력
NULL 값은 특별히 처리되므로 문제가 될수 있기에 가능한 테이블에 없어야 함
학생번호 | 학생이름 | 학과 | 주소 | 강좌이름 | 강의실 |
501 | 박지성 | 컴공 | 영국 | 데이터베이스 | 공학관 110 |
401 | 김연아 | 체육 | 서울 | 데이터베이스 | 공학관 110 |
402 | 장미란 | 체육 | 강원도 | 스포츠경영 | 체육관 103 |
502 | 추신수 | 컴공 | 미국 | 자료구조 | 공학관 111 |
501 | 박지성 | 컴공 | 영국 | 자료구조 | 공학관 111 |
503 | 박세리 | 체육 | 서울 | NULL | NULL |
수정이상
수정이상(update anomaly) : 튜플 수정 시 중복된 데이터의 일부만 수정되어 데이터의 불일치 문제가 발생하는 현상
예)
박지성 학생의 주소가 서울로 변경 했을때 UPDATE문으로 주소를 수정할 경우 두 군데 전부 바뀌지만,
만약 한 군데만 바뀐다면 문제가 될수있음
한국대만 바뀐다면 SELECT 문으로 조회할때 두 군데가 조회되서 일관성이 깨지는 불일치가 발생
학생번호 | 학생이름 | 학과 | 주소 | 강좌이름 | 강의실 |
501 | 박지성 | 컴공 | 영국 | 데이터베이스 | 공학관 110 |
401 | 김연아 | 체육 | 서울 | 데이터베이스 | 공학관 110 |
402 | 장미란 | 체육 | 강원도 | 스포츠경영 | 체육관 103 |
502 | 추신수 | 컴공 | 미국 | 자료구조 | 공학관 111 |
501 | 박지성 | 컴공 | 서울 | 자료구조 | 공학관 111 |
'Computer Science > 데이터베이스' 카테고리의 다른 글
데이터베이스 정규화 (0) | 2021.12.30 |
---|---|
데이터베이스 함수적 종속성(FD ,Functional Dependency) (0) | 2021.12.27 |
데이터베이스 동시성 제어, 락(LOCK)의개념 (0) | 2021.12.23 |
데이터베이스 트랜잭션 (0) | 2021.12.18 |
데이터베이스 인덱스 (0) | 2021.12.09 |