데이터베이스를 사용하는 이유
Why use a database?
왜 데이터베이스를 사용하게 됐을까?
데이터베이스가 존재하기 전에는 파일 시스템을 이용하여 데이터를 관리하였다.(현재도 부분적으로 사용) 데이터를 각각의 파일 단위로 저장하며 이러한 일들을 처리하기 위한 독립적인 애플리케이션과 상호 연동이 되어야 한다. 이 때 발생할 수 있는 문제점은 데이터 종속성, 중복성, 데이터 무결성이 있다.
데이터의 종속성(Data Dependency)
데이터의 종속성은 프로그램의 구조가 데이터의 구조에 영향을 받는 것을 의미한다. 즉, 데이터의 구조가 변경되면 프로그램까지 같이 바뀌어야 되기 때문에 개발과 유지 보수가 힘들어진다.
데이터의 중복성(Data Redundancy)
파일 시스템은 프로그램마다 데이터 종속성으로 인해서 공유가 안되는 경우가 많아서 프로그램 마다 같은 데이터를 중복해서 저장하는 경우가 많다. 이는 저장공간 낭비뿐만 아니라 수정시에도 모든 데이터를 수정해야 하는 문제가 있다.
데이터의 무결성(Data Integrity)
같은 데이터를 가진 모든 곳에서 수정이 발생되지 않는 경우, 중복된 데이터가 서로 일치하지 않는 경우가 발생한다. 이렇게 무결성이 깨지게 되면 잘못된 정보가 생성될 수 있기 때문에 2차적인 문제가 발생할 수 있다.
데이터베이스
파일 시스템의 단점을 커버하면서도 다수의 사용자들이 공유할 수 있는 데이터베이스가 등장하게 된다.
데이터베이스의 특징
- 데이터의 독립성
- 물리적 독립성: 데이터베이스를 수정하더라도 관련된 응용 프로그램을 수정할 필요가 없다.
- 논리적 독립성: 데이터베이스는 논리적인 구조로 다양한 응용프로그램의 논리적 요구를 만족시킬 수 있다.
- 데이터의 무결성
- 데이터의 유효성 검사를 통해 데이터의 무결성을 보장
- 데이터의 보안성
- 인가된 사용자들만 데이터베이스 자원에 접근할 수 있도록 보안 구현
- 데이터의 일관성
- 연관된 정보를 논리적인 구조로 관리함으로 써 어떤 하나의 데이터만 변경되었을 때 발생할 수 있는 불일치성을 배제
- 데이터 중복 최소화
- 데이터를 통합해서 관리함으로써 파일 시스템의 단점인 데이터 중복 문제를 해결
*틀린 부분이 있으면 언제든지 말씀해 주시면 공부해서 수정하겠습니다.