
null 값을 많이 사용하게 된다.중복된 데이터이 많으면 안좋은 점
- DB 저장 공간을 낭비한다.
- 실수로 인한 데이터 불일치가 발생할 수 있다.
null을 많이 사용하면 안좋은 점
- 예상과 다른 결과 발생
null은unknown,withheld,not applicable의미를 가지는데,null을 포함한 연산을 하면 예상치 못한 결과가 발생할 수 있다. 왜냐하면 SQL에서null과의 비교 연산 시 그 결과는unknown이기 때문이다.- ex)
v NOT IN(v1,v2,v3)(v!=v1 && v!=v2 && v!=v3) 연산을 수행할때 v1,v2,v3 중에 하나가null이라면?unknown이 되기 때문에 WHERE 절은 조건식의 결과가 true인 튜플들만 선택되기 때문에 아무것도 선택되지 않는다.- 불필요한 storage 낭비
- aggregate function 사용시 주의 필요

해당 테이블은 직원 정보와 부서 정보가 같이 위치한다.
이 테이블에 데이터를 manipulate 했을 때 발생할 수 있는 이상 현상을 알아보자.

잘못된 테이블 설계에 데이터를 추가하면
이상현상이 발생한다.

실수로 인해서 dev 부서 이름을 dev1으로 변경했을때 호날두만 업데이트 되었다면 데이터 불일치 발생

이강인 정보를 삭제하면 QA 부서 정보 자체가 삭제된다.
사진 촬영 회사의 DB를 구축하는데 아래와 같이 구성되었을 때

두 개의 테이블을 Natural Join 했을 때, 4개의 튜플을 기대하였으나, 2개의 튜플이 추가된 결과가 나온다.
