ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 응용 SW 기초 기술 활용 - 데이터베이스 기초 활용하기
    정보처리기사(자격증)/응용 SW 기초 기술 활용 2020. 10. 15. 15:03

    데이터 베이스 

     

     데이터베이스(Database) 개념

     - 데이터 베이스는 다수의 인원, 시스템이 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합

     

     - 데이터에 대한 효과적인 관리를 위해 자료의 중복성 제거, 무결성 확보, 일관성 유지, 유용성 보장이 중요

     

    1. 데이터 베이스 종류

     

     1) 파일 시스템(File System)

     

     - 파일에 이름을 부여하고 저장이나 검색을 위하여 논리적으로 그것들을 어디에 위치시켜야 하는지 등을 정의한 뒤 관리하는

     

       데이터베이스 전 단계의 데이터 관리 방식

     

    * 파일시스템 종류

    종류 설명
    ISAM - Indexed Sequential Access Method
    - 자료 내용은 주 저장부, 자료의 색인은 자료가 기록된 위치와 함께 색인부에 기록되는 시스템
    VSAM - Virtual Storage Access Method
    - 대형 운영체제에서 사용되는 파일 시스템

     

    2) 계층형 데이터베이스 관리 시스템(HDBMS)

     

     - 데이터를 상하 종속적인 관계로 계층화하여 관리하는 데이터베이스

     

     - 데이터에 대한 접근 속도가 빠르지만, 종속적인 구조로 인하여 변화하는 데이터 구조에 유연하게 대응하기가 쉽지 않다.

     

    3) 망형 데이터베이스 관리 시스템(NDBMS)

     

     -  데이터의 구조를 네트워크상 망상 형태로 논리적으로 표현한 데이터 모델

     

    -  트리 구조나 계층형 데이터베이스보다는 유연하지만 설계가 복잡한 단점

     

    4) 관계형 데이터베이스 시스템(RDBMS)

     

     - 관계형 모델을 기반으로 하는 가장 보편화된 데이터베이스 관리 시스템

     

     - 데이터를 저장하는 테이블의 일부를 다른 테이블과 상하 관계로 표시하며 상관관계를 정리

     

     - 변화하는 업무나 데이터 구조에 대한 유연성이 좋아 유지 관리가 용이

     

    5) RDBMS 종류

     

    종류 설명
    Oracle - 오라클사에서 개발한 데이터베이스 관리시스템으로 유료
    SQL Server - 마이크로소프트사에서 개발한 관계형 데이터베이스 시스템
    - 마이크로소프트사 제품이기 때문에 윈도즈 서버에서만 구동
    - 마이크로소프트사의 개발언어인 C#등과 호환
    My SQL - 오라클의 관계형 데이터베이스 시스템
    - 리눅스 ,유닉스, 윈도에서 모두 사용이 가능하고 오픈 소스 기반으로 개발
    Maria DB - MySQL 출신 개발자가 만든 데이터베이스로 MySQL과 완벽 호환

     

    6) 데이터베이스 관리 툴

     

     - 데이터베이스 관리 툴은 DB 관리자(DBA) 들이 데이터베이스를 편리하고 쉽게 다룰 수 있도록 도와주는 도구

     

     - 오픈 소스 기반으로 무료로 사용할 수 있는 툴과 상용화로 비용을 지불해야 사용할 수 있는 툴이 존재

     

     - 데이터베이스 관리 툴은 다음과 같은 기능을 제공

    기능 설명
    데이터베이스 생성, 삭제 CREATE와 DROP 명령을 통해 데이터베이스의 생성 및 삭제 가능
    SQL 명령어 작성 및 실행 SELECT, INSERT, DELETE, UPDATE 명령어를 통해 데이터를 조회, 삽입, 삭제, 수정 가능
    상태 모니터링 받은 데이터양, 보낸 데이터양, 동시 연결 수, 실패한 시도 등의 상태를 표시
    사용자 계정 관리 최상의 레벨의 SYS 계정, SYS로부터 DBA권한으 받은 SYSTEM계정
    일반 사용자 계정 등의 관리가 가능
    데이터베이스 내보내기/가져오기 데이터베이스 마법사를 통해 파일 형태로 데이터 내보내기/가져오기 가능
    환경 설정 버퍼의 크기, 동시 접속 클라이언트 숫자, 스레드 숫자 등의 환경 변수 설정

     

    DBMS

     

    1. DBMS(Data base Management System)  개념

     

     - DBMS는 데이터 관리의 복잡성을 해결하는 동시에 데이터 추가, 변경, 검색, 삭제 및 백업, 복구, 보안 등의 기능을 지원하는 소프트웨어

     

     - 저장되는 정보는 텍스트, 이미지, 음악 파일, 지도 데이터 등 매우 다양하며, SNS 발달과 빅데이터의 폭넓은 활용으로 인해 데이터의 종류와 양은 급증

     

    2. DBMS 유형

     

     - 관리하는 데이터의 형태 및 관리 방식에 따라 관계형 데이터베이스, 문서 저장 시스템, 그래프 데이터 베이스,

     

        Key-value 스토어 등으로 구분

    유형 설명
    키-값(Key-Value) DBMS - 키 기반 Get/Put/Delete 제공, 메모리 기반에서 성능 우선 시스템 및 빅데이터 기반 처리 가능 DBMS
     - Unique한 키에 하나의 값을 가지고 있는 형태
    컬럼 기반 데이터 저장
    (Column Family Data Store)
    - Key안에(Column, Value) 조합으로 된 여러 개의 필드를 갖는 DBMS
    - 테이블 기반, 조인 미지원, 컬럼 기반으로 구글의 Bigtable 기반으로 구현
    문서 저장(Document Store) DBMS - 값(Value)의 데이터 타입이 문서(Document)라는 타입을
      사용하는 DBMS
    - 테이블 기반, 조인 미지원, 컬럼 기반으로 구글의 Bigtable 기반으로 
      구현
    그래프(Graph) DBMS - 시맨틱 웹과 온톨로지 분야에서 활용되는 그래프로 데이터를 표현하는 DBMS
    - 노드와 엣지로 특징되는 요소 특화
    - 노드 간 관계를 구조화하여 저장

     

    1) DBMS 특징

    특징 설명
    데이터 무결성 부적절한 자료가 입력되어 동일한 내용에 대하여 서로 다른 데이터가 저장되는 것을 허용 하지 않는 성질
    데이터 일관성 삽입, 삭제 ,갱신, 생성 후에도 저장된 데이터가 변한없이 일정
    데이터 회복성 장애가 발생하였을 시 특정 상태로 복구되어야 하는 성질
    데이터 보안성 불법적인 노출, 변경, 손실로부터 보호되어야 하는 서잊ㄹ
    데이터 효율성 응답 시간, 저장 공간 활용등이 최적화되어 사용자, 소프트웨어, 시스템 드으이 요구조건을 만족시켜야 하는 성질

     

    2) 상용 DBMS 및 오픈 소스 기반 DBMS

     

     (1) 상용 DBMS

     

     - 상용 데이터베이스 관리시스템은 특정 회사에서 유료로 판매하는 시스템

     

     - 유지보수와 지원이 원활

     

      (2) 오픈 소스 기반 DBMS

     

     - 오픈 소스 기반 데이터베이스 시스템은 오픈 소스 라이선스 정책을 준용하는 범위 내에서 사용이 자유로움

     

     - 오픈 소스 기반 데이터베이스 관리 시스템 사용 시 고려사항은 다음과 같다

    - 기업들의 원가 절감 노력과의 상관관계를 파악

    - 인공 지능, 클라우드, 빅데이터 등 새로운 기술의 증가에 따른 오픈 소스 데이터베이스 관리 시스템의 대응 동향을 분석

    - 오픈 소스 진영에서 보안, 안정성에 대한 우려를 해결하고자 노력하는지를 조사한다.

    - 정책적으로 오픈 소스 데이터베이스 관리시스템 활성화를 추진하는 사례를 정리

     

     

    2. 관계형 데이터베이스 활용

     

     (1) ERD(E-R Diagram) 개념

     

     - ERD 는 업무 분석 결과로 도출된 실제(엔티티)와 엔티티 간의 관계를 도식화 한 다이어그램

     

     - ERD로 요소 간 연관성을 도식화하여 데이터베이스 관리자, 개발자, 사용자 모두 데이터의 흐름과 연관성을 공통적으로 쉽게 확인 가능

     

     (2) ER 모델

     

     - ERD의 구성요소인 개체, 관계, 속성을 추출하기 위해서는 업무나 시스템에 대한 명확한 정의가 있어야 한다.

     

     - ERD로 도식화 하기 전에 각 개체를 사각형, 화살표, 마름모로 표기한 형태를 ER 모델이라고 한다.

     

     

     (3) Entity

     

     - 엔티티는 사물 또는 사건으로 정의되며 개체라고 한다.

     

     - 피터 첸 모델에서는 엔티티를 사각형으로 표시

     

     - 까마귀발 모델에서는 엔티티를 표 형식으로 표시

     

     

     (4) 속성 (atribute)

     

     - 속성은 엔티티가 가지고 있는 요소 또는 성질

     

     - 피터 첸 모델 에서는 속성을 타원형(o) 으로 표시한다.

     

     - 까마귀발 모델에서는 속성을 원 내부에 표시

     

     (5) 관계(Relationship)

     

     - 두 엔티티 간의 관계를 정의

     

     - 피터 챈 모델에서는 관계를 마름모

     

     - 까마귀발 모델에서는 

     


    데이터베이스 관리

     

    트랜잭션(Transaction)

     

     - 인가받지 않은 사용자로부터 데이터를 보장하기 위해 DBMS가 가져야 하는 특성이자, 데이터베이스 시스템에서 하나의 논리적 기능을

     

       정상적으로 수행하기 위한 작업의 기본 단위

     

    특성

    특성 설명 주요기법
    원자성
    (Atomicity)
    - 분해가 불가능한 작업의 최소단위
    - 연산 전체가 성공 또는 실패
    - 하나라도 실패할 경우 전체가 취소
    commit/rollback
    회복성 보장
    일관성
    (Consistency)
    - 트랜잭션이 실행 성공 후 항상 일관된 데이터베이스 상태를 보존 무결성 제약조건
    동시성 제어
    격리성
    (Isolation)
    트랜잭션 실행 중 생성하는 연산의 중간 결과를 다른 트랜잭션이 접근 불가 read Uncommit
    read Commit
    repeatable read
    serializable
    영속성
    (Durability)
    성공이 완료된 트랜잭션 결과는 영속적으로 데이터베이스에 저장 회복기법

     

    상태

    상태 설명
    활동 상태(Active) 초기 상태, 트랜잭션이 실행 중일 때 가지는 상태
    부분 완료 상태(Partially Committed) 마지막 명령문이 실행된 후에 가지는 상태
    완료 상태(Committed) 트랜잭션이 성공적으로 완료된 후 가지는 상태
    실패 상태(Failed) 정상적인 실행이 더 이상 진행될 수 없을 때 가지는 상태
    철회 상태(Aborted) 트랜잭션이 취소되고 데이터베이스가 트랜잭션 시작 전 상태로 환원된 상태

     

    트랜잭션 제어

     

    - 트랜잭션 제어언어는 TCL(Transaction Control Laguage) 이라고 하며, 트랜잭션의 결과를 허용하거나 취소하는 목적으로 사용되는 언어

    명령어 핵심 설명
    커밋(COMMIT) 트랜잭션 확정 트랜잭션을 메모리에 영구적으로 저장
    롤백(ROLLBACK) 트랜잭션 취소 트랜잭션 내역을 저장 무효화 시킴
    체크포인트(CHECKPOINT) 저장 시기 결정 ROLLBACK을 위한 시점 지정

     

    데이터베이스 기본 연산

     

     

    댓글

Designed by Tistory.