1. 데이터베이스 사용자 분류
가. 데이터베이스 관리자(Database administrator, DBA)
https://ko.wikipedia.org/wiki/데이터베이스_관리자
데이터베이스 관리자 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 데이터베이스 관리자(database administrator, DBA)는 한 조직 내에서 데이터베이스를 설치, 구성, 업그레이드, 관리, 감시하는 일을 맡은 사람을 가리킨다.[1] 보통 다
ko.wikipedia.org
나. 데이터베이스 설계자(Database designer)
다. 최종 사용자(End users)
1) 캐주얼 사용자
비 정기적인 데이터베이스 사용자
2) 초보 사용자
미리 일정한 용도로 작성된 프로그램을 사용하는 사람들
은행 점원이나 여행사 예약 담당원 등
3) 전문 사용자
복잡한 응용을 개발하며 DBMS의 기능을 충분히 사용하는 전문가
라. 시스템 분석가/응용프로그래머
마. DBMS의 설계자 및 구현자
바. 도구 개발자
사. 운영 및 유지 보수 요원
2. DBMS의 장점
가. 중복성의 제어
1) 중복성이 초래하는 문제들
논리적으로 한 번의 변경이지만 데이터가 중복된 횟수만큼 반복해서 변경해야 함.
디스트 저장 공간과 메모리의 낭비를 초래
동일한 데이터를 포함하는 파일들에서 데이터의 불일치 발생 가능
2) 제어된 중복성
질의 성능을 개선하기 위해 의도적으로 중복 저장
해당 Entity의 데이터가 변경될 때 마다 DBMS가 자동으로 값의 일치 여부에 대한 검사 수행
나. 권한이 없는 접근의 통제
사용자 또는 사용자그룹은 패스워드로 보호되는 계정을 부여 받아 사용
DBA는 계정에 권한을 부여하여 접근 통제함.
다. 프로그램 객체를 위한 지속성 기억 공간 제공
객체지향 데이터베이스 시스템의 주요 목적
프로그래밍 언어는 대개 복잡한 자료구조를 가짐
또한 프로그램의 변수의 값은 프로그램의 수행이 끝나는 순간 사라지며, 이를 지속시키려면 프로그램 내에서 변수의 값을 파일에 저장해야만 함.
그런데 복잡한 자료구조를 갖는 값을 파일에 저장할 때 파일 포맷에 적합하도록 변형하는 것이 중요함.
역으로 파일로부터 데이터를 검색할 때는 파일 포맷으로 저장된 데이터를 프로그램 변수 구조로 변환하는 것이 필요함.
객체 지향 DBMS는 프로그래밍 언어와 호환성을 가지며 필요한 포맷의 변환을 자동으로 수행함.
라. 효율적인 질의 처리를 위한 저장 구조 제공
질의와 갱신을 효율적으로 수행하기 위해 특수한 자료구조를 제공해야 함.
트리 자료구조나 해시 자료구조에 기반하고, 적절하게 변형됨.
마. 백업과 회복 제공
바. 다양한 사용자 인터페이스 제공
사. 데이터 간 복잡한 관계의 표현
아. 무결성 제약조건의 시행
자. 규칙을 사용한 추론 수행
차. 데이터베이스 사용에 함축된 또 다른 의미
1) 표준화된 데이터 관리
2) 응용 프로그램의 개발 시간 단축
3) 융통성
4) 최신 정보의 가용성
5) 규모의 경제성
3. 데이터베이스의 발전 과정
가. 데이터베이스를 사용한 응용 개발 시작
계층 모델과 네트워크 모델 등이 60년대 중반부터 80년대까지 주류를 이룸.
나. 관계형 데이터베이스를 통하여 응용 유연성 확대
70년대 소개 이후, IBM과 세계 각 대학에서 연구되고 검증되어, 80년대에 들어 상용 DBMS 등장
새로운 저장 공간, 인덱스 기술, 더 나은 질의 처리와 최적화 방법이 개발되면서 주된 형태가 됨.
다. 객체지향 응용과 더욱 복잡한 데이터베이스에 대한 요구
추상형 자료구조, 연산자의 캡슐화, 상속, 다형성, 객체 식별자와 같은 많은 유용한 패러다임을 제공함.
특수한 응용 분야에서 주로 사용됨.
라. 전자 상거래를 위한 웹에서 데이터 교환 필요성 등장
마. 새로운 응용을 위한 데이터베이스 능력 확장
고에너지 물리학 또는 인간 유전자 지도와 같은 분야의 과학적 실험으로 얻어지는 대용량의 데이터를 저장하는 과학적 응용
스캔한 뉴스 이미지, 개인 사진에서 위성 사진에 이르는 여러 이미지, 그리고 x-레이나 MRI와 같은 의학적 이미지들을 저장하고 검색하는 응용
영화와 같은 비디오, 또는 신문이나 디지털 카메라로부터 얻은 비디오 클립의 저장과 검색 응용
특정한 패턴이나 관계를 검색하면서 대량의 데이터를 분석하는 데이터 마이닝 응용
특정 위치의 날씨 정보나 지도와 같이 위치 데이터를 저장하는 공간 응용
정기적인 경제 데이터와 같은 정보를 저장하는 시계열 응용