용's

[DB] DB가 중복을 허락하는 경우 본문

Computer Science/예상면접

[DB] DB가 중복을 허락하는 경우

TaeYOng's 2015. 11. 18. 21:36




데이터베이스가 나오기 전의 파일시스템은 중복된 정보들이 너무 많아서 이를 효율적으로 처리하기 힘들다는 단점이 존재.


따라서, 이러한 중복을 피해서 정보를 일원화하여 서로 관련성을 갖는 데이터의 집합을 모아놓은 것이 바로 데이터베이스(Database). 이러한 데이터베이스에는 일반적으로 데이터 항복의 각 값이 데이터베이스에 중복없이 한번만 기록될 때 데이터의 일관성이 유지된다고 한다(이러한 중복없이 데이터를 한번만 기록하기 위한 데이터베이스의 설계 이론을 정규화라 하고...)


하지만 항상 중복을 배제하기는 하지만 경우에 따라 불가피하게 중복을 허용하는 데이터가 있다. 이러한 것을 최소한의 중복 또는 통제된 중복이라고 한다.


즉, 정규화를 하면 데이터의 중복을 통제하여 중복이 최소화되도록 설계할 수 있다. 그러면 비정규화를 하는 이유는?

 

당연 비정규화를 하면 데이터의 중복을 허락한다는 것이다. 이때는 보통 비정규화를 통해 join연산의 비용을 줄여 질의 응답속도를 빠르게 하기 위함이라고 한다. 정규화된 시스템의 경우 테이블간의 join연산이 반복적으로 이뤄지기 때문에 질의 응답속도가 늦어질 수 있기 때문.






'Computer Science > 예상면접' 카테고리의 다른 글

[DB] 트랜잭션(Transaction)  (0) 2015.11.20
[OS#1] 프로세스 통신  (0) 2015.11.15
[JAVA] BigDecimal  (0) 2015.10.12
[Network #4] TCP 제어 알고리즘  (0) 2015.10.12
[DB] 예상 문제  (0) 2015.09.28
Comments