예) 서점 데이터
1. 파일 시스템을 사용하는 방법
2. DBMS를 사용하는 방법
예) 서점 데이터
1. 파일 시스템 사용
- 파일에는 데이터값, 프로그램에는 데이터정의를 포함하는 방식
- 프로그램에 BOOK 데이터 구조만 정의하고, 데이터 값은 book.dat라는 파일에 저장됨
문제점 : 데이터구조가 바뀌면 프로그램을 다시 컴파일해야 함
2. DBMS 사용
- DBMS가 데이터 정의와 데이터 값을 모두 관리하는 방식
- BOOK 데이터 구조와, 데이터 값이 모두 데이터베이스에 저장됨 ( 프로그램은 데이터 구조와 데이터 값을 포함하지 않음)
장점 : 데이터 구조가 바뀌거나 데이터 값이 바뀌어도 프로그램을 다시 컴파일할 필요 없음
파일시스템 VS DBMS
파일 시스템
- 데이터를 파일로 관리하기 위해 파일을 생성,삭제,수정,검색하는 기능을 제공하는 소프트웨어
- 응용 프로그램마다 필요한 데이터를 별도의 파일로 관리함
파일 시스템의 문제점
1. 데이터 중복성
- 동일한 데이터가 여러 파일에 중복 저장
- 동일한 데이터가 응용프로그램별로 서로 다르게 만들어진 여러개의 파일에 중복되어 저장관리됨
- 2개의 파일에 동일한 데이터 중복 저장
-고객 주소가 바뀔 때 2개 파일 모두를 수정하지 않으면 동일한 고객의 주소가 파일마다 달라 데이터 불일치 발생
2. 데이터 종속성 : 응용 프로그램이 데이터 파일에 종속적
-데이터의 구조가 응용 프로그램에 반영되어 있기 때문에 데이터의 구조가 바뀌면 응용 프로그램을 수정해야 한다.
- 해당 파일을 사용하는 응용 프로그램을 수정해야 함
3. 데이터 처리 관련 응용 프로그램 개발의 어려움
응용 프로그래머의 생산성 저하
: 상당한 수준의 훈련, 프로그램 작성 시간이 많이 걸림 ( 파일 입출력 프로그램 작성이 쉽지 않기 때문)
다양한 데이터 처리 요구사항에 따라 새로운 응용 프로그램을 만들어야 하고, 만들어진 프로그램도 데이터처리를 하는데 효율적이기 어려움
예: “특정 위치에 거주하는 고객의 연락처를 검색하라”라는 새로운 요구사항 발생시, 새로운 프로그램을 추가해야 하며, 빠른 검색 프로그램 작성도 어려움
4. 데이터 동시 공유 기능 부족
- 하나의 데이터를 여러 프로그램이 같은 시각에 변경하려고 할 때, 문제 없이 처리하도록 프로그램을 작성하는 것은 난이도가 높음
- 예 : 1개의 계좌(데이터값 : 500만원)로부터 2개의 프로그램(ATM 출금 프로그램, 인터넷 뱅킹 출금 프로그램)이 동시에 각각 50만원, 100만원씩 출금하는 경우
- 정상 처리시, 350만원이 남아야 함
- 그러나 동시 공유 기능을 제대로 처리하지 못하면, 각 프로그램이 모두 500만원을 읽어 각각 450만원, 400만원씩 잔고를 남기게 될 수 있음
5. 데이터 보안 기능 부족
- 파일 단위 접근 제한으로는 정교한 데이터 보안이 어렵다.
6. 데이터 회복 기능 부족
- 응용 프로그램에서 파일 내의 데이터를 사용(특히 데이터수정)하는 도중에 장애가 발생하면 데이터의 일관성을 복구하기 어려움
7. 데이터 무결성(Data integrity) 유지의 어려움 - 결점이 없는 성질 = 정확성
데이터 무결성 : 저장된 데이터 값의 정확성
무결성 제약조건(Integrity constraints) [예 : 은행 계좌 잔액 값 > 0]을 프로그램 내에 명시하여 기술하여야 한다.
새로운 제약조건을 추가하거나 기존 제약조건을 수정할 때 프로그램을 수정하여야 하고, 또한 중복된 데이터 문제로 인해 수정이 더욱 어려워진다. -> IF문이 늘어나 지저분해질 것이다.
8. 응용 프로그램에서의 데이터 처리 방법 표준화가 어려움
파일의 구조에 따라 응용 프로그램별로 서로 다르게 데이터를 처리하게 되므로, 모든 응용 프로그램에서 동일하게 표준화된 방법으로 데이터를 처리하기 어렵다.
데이터베이스 관리 시스템의 장점 (위의 문제점들을 모두 극복)
1. 데이터 중복 통제 : 데이터 중복 최소화
2. 데이터 독립성 : 데이터 구조가 변경되어도 응용 프로그램이 영향을 받지 않음
3. 응용 프로그램 개발 비용 감소 : 데이터 처리는 응용프로그램 대신 DBMS가 담당
4. 데이터 동시 공유 가능
5. 데이터 보안 향상
6. 장애 발생 시 데이터 회복 가능
7. 데이터 무결성 유지
8. 데이터 처리 방법 표준화 : 모든 응용 프로그램은 DBMS에서 정한 표준화 방식을 통해 데이터 처리
'Department > Database' 카테고리의 다른 글
데이터베이스 모델링 - 개념 (0) | 2019.12.21 |
---|---|
데이터베이스 언어 & 사용자 & 구성 (0) | 2019.12.21 |
데이터베이스 시스템의 구조 (0) | 2019.12.21 |
데이터베이스 관리 시스템(DBMS) 정의 & 발전과정 (0) | 2019.12.21 |
데이터베이스(Database) 정의 (0) | 2019.12.21 |