1. 파일 시스템의 문제점
1) 데이터 중복성
-1 한 시스템 내에 같은 내용의 데이터가 여러 파일에 저장 관리됨
-2 문제점
(a) 경제성 : 추가적인 공간과 갱신 비용 증가
(b) 일관성 : 데이터 간의 모순, 불일치 발생
(c) 무결성 : 데이터 정확성 유지 어려움
-3 파일 시스템의 데이터 중복성 해결 : 데이터 통합
2) 데이터 종속성
-1 응용 프로그램과 데이터 사이의 의존관계
3) 동시 공유, 보안, 권한 부여, 회복 기능 부족
4) 응용 프로그램을 개발하기 어려움
2. DBMS
1) 데이터의 종속성과 중복성의 문제를 해결하기 위해 데이터베이스를 공용할 수 있도록 관리하는 시스템 소프트웨어
2) 응용 프로그램은 데이터베이스의 생성, 접근방법, 물리적 구조 등 자세한 설명 없이 원하는 데이터와 처리 작업을
DBMS에 요청
3) 컴퓨터 시스템에서 DBMS의 위치는 -> 중간, MID 역할
3. DBMS의 필수 기능
1) 정의 기능
-1 다양한 형태의 데이터 요구를 지원할 수 있도록 가장 적절한 데이터베이스 구조를 정의할 수 있는 기능
-2 데이터 구조 정의에 고려해야 할 사항들
-3 스키마를 정의하거나 수정 또는 삭제하기 위해 사용
-4 DDL
2) 조작 기능
-1 사용자와 데이터베이스 사이의 인터페이스를 위한 수단 제공
-2 사용자의 요구에 따라 체계적으로 데이터베이스를 접근하고 조작 가능해야 함
-3 조작 기능에 고려해야 할 사항 : 쉽고 자연스러운 조작방법 명확하고 완전한 데이터 사이의 명세가 가능해야 함
효율적인 데이터 접근, 처리
-4 데이터의 검색, 삽입, 삭제, 수정 등의 처리를 요구하기 위해 사용
-5 DML
3) 제어 기능
-1 데이터의 정확성과 보안성을 유지하는 기능
-2 제어 기능에 고려해야 할 사항들 : 무결성 유지
보안, 권한 검사
병행 제어
회복
-3 내부적으로 필요한 규칙(무결성, 보안, 회복, 동시성 보장 등)이나 기법을 정의하기 위해 사용
-4 DCL
4. DBMS의 장단점
1) 장점
-1 데이터 중복의 최소화
-2 데이터 독립성 확보
-3 데이터의 공용
-4 데이터의 일관성과 무결성 유지
-5 데이터의 보안 보장
-6 응용 개발 시간 단축 및 편리성 증대
-7 표준화 및 전체 데이터 요구의 조정
2) 단점
-1 비용이 증대
-2 복잡한 백업과 회복
-3 중앙 집중 관리로 인한 취약점 존재 -> 신뢰성과 가용성을 저해
3) 여러 단점에도 불구하고 장점이 더 많기 때문에 DBMS 이용
5. DBMS 발전 과정
1) 네트워크 DBMS : 그래프 형태로 구성
2) 계층 DBMS : 트리 형태로 구성
3) 관계 DBMS : 장점 - 테이블 형태로 모델이 간단하여 이해하기 쉬움
자신이 원하는 것만 명시
데이터가 어디에 있는지, 어떻게 접근해야 하는지 결정
4) 객체지향 DBMS
5) 객체관계 DBMS
6) XML DBMS
7) NoSQL DBMS : 비정형 데이터 저장 및 처리에 대한 요구 증가로 개발
-1 관계형 모델을 사용하지 않으며 테이블 간의 조인 기능 없음
-2 직접 프로그래밍을 하는 등 비sql 인터페이스를 통한 데이터 액세스
-3 여러 대의 데이터베이스 서버를 묶어서 하나의 데이터베이스를 구성
-4 관계 데이터베이스에서 지원하는 데이터 처리 완결성 보장하지 않음
-5 데이터의 스키마와 속성들을 다양하게 수용
-6 데이터베이스의 중단 없는 서비스와 자동 복구 기능 지원
-7 다수가 open source로 제공
-8 확장성, 가용성, 높은 성능
8) NewSQL DBMS
-1 정형 데이터를 처리하는 관계 DBMS 유지하면서 비정형 데이터를 처리하기 위한 NoSQL을 추가로 도입하는 부담을
줄이기 위해 등장
-2 안정성과 일관성을 유지하면서도 ㄴ비을 이용해 다양하고 복잡한 데이터 처리를 편리하게 요청할 수 있음
-3 관계 DBMS의 장점과 NoSQL의 확장성 및 유연성을 모두 지원
6. 데이터베이스 사용자
1) 데이터베이스 관리자 (DBA)
-1 데이터베이스 구성 요소 성정
-2 데이터베이스 스키마 정의
-3 물리적 저장 구조와 접근 방법 결정
-4 무결성 유지를 우한 제약조건 정의
-5 보안 및 접근 권한 정책 결정
-6 백업 및 회복 기법 정의
-7 시스템 데이터베이스 관리
-8 시스템 성능 감시 및 성능 분석
-9 데이터베이스 재구성
2) 최종 사용자
-1 데이터를 조작하기 위해 데이터베이스에 접근하는 사람
-2 캐주얼 사용자 : DML 이용, 검색정도 할줄 아는 사람
-3 초보 사용자 : 메뉴나 GUI 이용
3) 응용 프로그래머
-1 C, Java 등 프로그래밍 언어와 DML 이용
'CS > 데이터베이스' 카테고리의 다른 글
[데이터베이스] 데이터베이스설계 실습3 (1) | 2024.09.16 |
---|---|
[데이터베이스] 데이터베이스설계 실습2 (0) | 2024.09.16 |
[데이터베이스] 데이터베이스설계 실습1 (1) | 2024.09.16 |
[데이터베이스] 관계 데이터 모델의 개념과 정의문 (1) | 2024.09.15 |
[데이터베이스] 데이터베이스 개념 요약정리 (1) | 2024.09.15 |