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 이용

+ Recent posts