1. 데이터베이스의 정의와 특징
1. 데이터베이스 도입 배경
파일시스템을 통하여 데이터들을 저장하고 처리할 수 있었지만, 파일 시스템에서는 독립된 파일 단위로 데이터들을 저장하였기 때문에, 데이터의 중복성(Data Redundancy)과 데이터의 종속성(Data Dependency)이 발생한다는 문제가 있었습니다. 결국 이것은 데이터의 무결성(Integrity)를 위배하는 결과를 가져오게 됩니다. 그래서 이러한 파일시스템의 문제점을 해결하기 위해 도입된 시스템이 데이터베이스 시스템입니다.
※데이터 중복성(Data Redundancy): 한 시스템이 같은 내용의 데이터가 여러 파일에 중복된 채 저장되어 관리되는것. 데이터 중복성은 한 데이터가 수정되면 중복된 데이터들을 모두 수정해야하는 불편함을 주며, 만일 일부만 수정되었을 경우 불일치성을 야기합니다. 또 저장공간의 낭비도 야기하게 됩니다.
[예시] 어느 회사에서 '영업부'에 '김영희'라는 이름의 사원이 있다고 가정합니다. 이 사원의 이름, 부서정보를 A파일과 B파일에 저장하였습니다.
여기서 김영희라는 사원의 부서가 영업부에서 '마케팅부'로 변경되었다면, A와 B파일의 데이터 모두를 갱신해야합니다.
만일 A파일만 갱신되었고 B파일을 갱신하지 않으면 A에서는 김영희의 부서가 마케팅부이지만 B파일에는 여전히 영업부로 남아있는 불일치가 생깁니다.
※데이터 종속성(Data Dependency): 데이터와 응용프로그램이 의존관계가 있는 것. 만일 데이터의 구성이나 접근방법이 변경된다면 관련 응용프로그램의 구조도 변경되어야 한다는 불편함이 있습니다.
[예시] .hwp파일데이터는 한글 프로그램에서만 읽을 수 있고, .pptx 파일데이터는 프레젠테이션 관련 응용프로그램에서만 실행 가능합니다.
2. 데이터베이스 정의
데이터베이스는 여러 사용자나 응용 프로그램이 공용으로 사용되는것을 통합 및 저장되어 관리하는 운영상의 데이터 집합을 말합니다.
- 통합된 데이터(Integrated Data): 자료의 중복을 배제 또는 최소화 한 데이터의 집합
- 저장된 데이터(Stored Data): 컴퓨터가 접근할 수 있는 저장매체에 저장되어 사용자나 응용 시스템이 언제든지 이용할 수 있는 데이터 집합
- 운영 데이터(Operational Data): 조직의 운영에 없어서 안되는 필수적인 데이터들의 집합
- 공용 데이터(Shared Data): 다수의 사용자 및 응용시스템이 공유하는 데이터들의 집합
3. 데이터베이스의 특징
- 계속적인 변화(Continuous Evolution): 데이터의 삽입, 갱신, 삭제 작업을 통해 항상 최신의 데이터를 유지합니다.
- 실시간 접근(Real Time Accessibility): 질의(Query)에 대해 실시간 처리 및 응답을 하여, 사용자가 원한다면 언제든지 접근할 수 있습니다.
- 동시 공유(Concurrent Sharing): 여러 사용자가 동시에 사용할 수 있습니다.
- 내용에 의한 참조(Content Refence): 데이터의 물리적 주소가 아닌 내용, 즉 데이터의 값에 의한 참조를 할 수 있습니다.
[예시] 사람들의 이름과, 그에 사람의 전화번호가 저장되어있는 데이터베이스가 있습니다.
여기서 '홍길동'이란 사람의 전화번호를 찾을때, 이 데이터가 저장되어있는 물리적인 주소를 가지고 찾는것이 아니라, 질의문에 '홍길동'이라는 값을 넣어 이름을 가지고 검색할 수 있습니다.
- 데이터 중복의 최소화(Redundancy Minimize): 동일 데이터의 중복을 최소화합니다.