정보처리기사

1. 데이터베이스 개념

nayeonee__ 2023. 4. 6. 08:34

https://www.njobler.net/product/lecture/show/prod/10810

 

1억뷰 N잡

[연장 미포함] 흥나게 합격달성! 정보처리기사 실기

www.njobler.net

본 강의를 듣고 내용을 정리하며 적은 게시글 입니다. 

 

 

 

 

 

  • 데이터베이스 개념
    • 데이터와 정보
      • 데이터
      • 정보
    • 데이터베이스
      • 여러 사람들이 공유하고 사용할 목적으로 통합관리되는 데이터들의 모임
    • 정의
      • 통합데이터
        • 검색의 효율성을 위해 중복이 최소화된 데이터의 모임
      • 저장 데이터
        • 컴퓨터가 접근 가능한 저장 매체에 저장된 데이터
      • 운영 데이터
        • 조직의 목적을 위해 존재가치가 확실하고 반드시 필요한 데이터
      • 공유 데이터
        • 여러 응용 프로그램들이 공동으로 사용하는 데이터
    • 특징
      • 실시간 접근성
        • 사용자의 질의에 대해 즉시 처리하여 응답
      • 계속적인 변화
        • 삽입, 삭제, 갱신을 통하여 항상 최신의 데이터를 유지
      • 동시 공유
      • 내용에 의한 참조
        • 데이터베이스에 있는 데이터를 주소가 아닌 내용에 따라 참조
      • 데이터의 독립성
        • 논리적 독립성
        • 물리적 독립성
    • 데이터베이스 생명주기
      • 분석 → 설계 → 구현 → 운영 → 감시 및 개선
    • 데이터 언어
      • DDL( Data Definition Language : 데이터 정의어 )
        • DB의 구조, 데이터 형식, 접근 방식 등 DB 의 구축과 변경 목적으로 사용하는 언어
        • 스키마에 사용되는 제약조건을 정의
        • 데이터베이스의 논리적, 물리적 구조를 정의 및 변경
      • DML( Data Manipulation Language : 데이터 조작어 )
        • 데이터의 검색, 삽입, 삭제, 갱신 연산등을 포함한 집합
      • DCL ( Data Control Language : 데이터 제어어 )
        • 보안 및 권한 제어, 무결성, 회복, 병행 제어를 위한 언어
    • 스키마
      • 정의
        • 데이터베이스의 구조와 제약 조건에 관해 전반적인 명세를 기술 한 것
        • 개체, 속성, 관계에 대한 정의와 이들이 유지해야할 제약조건들을 기술한 것
        • 스키마는 데이터 사전에 저장
      • 3계층 스키마
        • 외부 스키마 - 사용자 뷰
          • 데이터베이스의 논리적 구조 정의, 사용자 뷰
          • 하나의 데이터베이스에는 여러 개의 외부 스키마가 존재 가능
          • 전체 데이터베이스의 한 논리적 부분으로 서브 스키마라고도 한다.
          • 하나의 외부스키마를 여러 개의 응용 프로그램이나 사용자가 공유 가능
          • 질의어(SQL)를 이용하거나 C, JAVA 등 언어를 사용하여 DB 에 접근
        • 개념 스키마 - 전체적인 뷰
          • 데이터베이스의 전체적인 논리적 구조
          • 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재
          • 데이터베이스 파일에 저장되는 데이터의 형태를 나타내는 것으로, 단순히 스키마라고 하면 개념 스키마를 의미
          • 데이터의 접근 권한, 보안 정책. 무결성 규칙에 대한 명세를 정의
        • 내부 스키마 - 저장 스키마
          • 물리적 저장 장치의 입장에서 본 데이터베이스 구조
          • 등등
      • 데이터 독립성
        • 논리적 독립성
          • 응용프로그램에 영향을 주지않고 데이터베이스 논리적 구조를 변경할 수 있는 능력
          • 개념 스키마가 변경되어도 외부스키마에는 영향을 미치지 않도록 지원
        • 물리적 독립성
          • 응용프로그램에 영향을 주지않고 데이터베이스 물리적 구조를 변경할 수 있는 능력
          • 내부 스키마가 변경되어도 외부/개념 스키마가 영향을 받지 않도록 지원
  • 데이터베이스 관리 시스템 - DBMS
    • 정의
      • 데이터베이스를 조작하는 별도의 소프트웨어
      • 데이터베이스를 구축하는 틀을 제공하고, 효율적으로 데이터를 검색하고 저장하는 기능을 제공
      • 등등
    • 기능
      • 데이터 정의
      • 데이터 조작
      • 데이터 제어
      • 데이터 공유
      • 데이터 보호
      • 데이터 구축
      • 유지보수
    • 장점
      • 데이터 중복 최소화
      • 독립성 확보
      • 동시 공유
      • 보안이 향상
      • 무결성이 유지
      • 장애 발생시 회복이 가능
    • 단점
      • 비용이 많이 든다
      • 백업과 회복 방법이 복잡
    • 종류
      • 계층형
        • 데이터간의 관계가 트리 형태의 구조
        • 구조가 간단하고 구현, 수정, 검색이 쉽지만 부모 자식간에 N:N 다대다 관계처리가 불가능하고 구조 변경이 어렵다.
      • 네트워크형
        • 계층형 데이터베이스의 단점을 보완하여 데이터 간 N:N 다대다 구성이 가능한 망형 모델
        • 계층 구조에 링크를 추가하여 유연성과 접근성을 높였다.
        • 구조가 복잡해 유지보수가 어렵다.
        • CODASYL 이 제안한 것으로, CODASYL DBTG 모델이라고도 한다.
      • 관계형
        • 키와 값으로 이루어진 데이터들을 행과 열로 구성된 테이블 구조로 단순화시킨 모델
        • SQL 을 사용하여 데이터를 처리
      • 객체 지향형
        • 객체지향 프로그래밍 개념에 기반하여 만든 데이터베이스 모델
        • 정보를 객체의 형태로 표현
      • 객체 관계형
        • 관계형 데이터베이스에 객체 지향 개념을 도입하여 만든 데이터베이스 모델
        • 객체지향 개념을 지원하는 표준 SQL 을 사용할 수 있고, 데이터 타입도 관계형 데이터베이스보다 더 다양하게 추가
      • NoSQL
        • Not Only SQL 의 줄임말로 SQL 뿐만 아니라 다양한 특성을 지원한다는 의미
        • 데이터 간에 관계를 정의하지 않는 데이터베이스 모델로 기존의 RDBMS 의 복잡도와 용량의 한계를 극복하기 위한 목적으로 만들어졌다.
        • 비정형 데이터 처리에 유리하지만 스크마 변경이 불가능 해 데이터 값에 문제가 발생하면 감지가 어렵다.
      • NewSQL
        • RDBMS의 SQL과 NoSQL의 장점을 결합한 관계형 모델
        • 트랜잭션 지원 및 확장성과 고가용성을 모두 만족시키려는 목적에서 만들어진 데이터베이스 모델