파일 시스템과 DBMS 비교
1. 파일시스템
2. DBMS
1. 파일시스템
특징)
파일 시스템에서는 파일에 접근하는 방식이 응용 프로그램 내에 표현됨 => 의존관계 존재
=> 데이터 정의가 응용 프로그램에 내포되어 있음.
프로그램에서 데이터를 접근하고 조작하는 것 이외에 별도의 제어가 없다.
= 파일을 수정하려면 물리적 접근(외적접근)만이 조작 가능
단점)
1) 보안 기능 미흡
- 파일을 누구나 수정할 수 있으므로 보안이 떨어짐.
2) 데이터 공유X
3) 다수 사용자를 위한 동시성 제어 제공X
4) 회복 기능X
5) 데이터 불일치 문제 발생 가능
6) 중복성
- 중복데이터 못막음
7) 데이터 독립성이 없어 유지보수 비용이 크다
- 파일의 구조가 바뀌면 영향을 받는 모든 응용프로그램들을 수정해야 함.
8) 데이터 모델링 개념 부족
- 데이터의 의미와 데이터 간의 상호 관계를 나타내기 힘듦.
9) 데이터무결성 유지 어려움
- 파일 내의 데이터가 만족시켜야 하는 무결성 제약조건들을 명시하려면 프로그래머가 직접 프로그래밍 언어를 사용해 일일이 프로그램에 표현해야 하므로 데이터 무결성을 유지하기 어려움. 제약조건 추가 및 수정도 어려움.
생산성 낮음.
10) 데이터가 비구조적임
- 순차적, 비순차적 파일 구조를 가짐.
2. DBMS
- 파일에 대한 설명서인, 스키마를 가짐 (스키마는 카탈로그에 있음)
- 스키마를 통해서, 데이터의 구조를 먼저 파악하고, 데이터에 접근
- 데이터 공유O, 자료의 독립성, 데이터 무결성 보장
1) 자기 기술성(self-contained nature)
- 메타 데이터는 데이터를 “설명”하는 데이터이다.
- DBMS에는 카탈로그(catalog)라는 메타 데이터가 있어, 데이터베이스를 설명해준다.
- 데이터베이스가 변경되는 경우, 메타 데이터만 바꿔주면 된다.
2) 데이터 독립성(program-data independence)
- 프로그램들과 데이터 간의 Insulation(격리) => 데이터 추상화
- data의 format이 바뀌었을 때도 program은 안 바뀌도록 해주는 기능을 제공
3) Data Abstraction (데이터 추상화)
- 보통 user는 저장된 데이터의 location까지 정확히 알 필요X
- Data Model은 그 detail을 감추고자 할 때 사용되고,
데이터베이스의 “conceptual view만” user들에게 보여주는 DBMS의 기능
4) 같은 데이터에 대한 다중 관점(Multiple View)들을 지원
- 각 user가 원하는 데이터만을 기술해줄 수 O
▶ 파일과 DBMS의 가장 큰 차이점: 카탈로그의 존재 유무