ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 정보처리기사[실기 핵심 정리] - 데이터베이스 개념
    용어 정리 2024. 4. 16. 19:34

    데이터베이스 개념

    1) 데이터와 정보

    구분 설명
    데이터 (Data) 관찰이나 측정을 통해 수집한 사실이나 값
    정보 (Information) 데이터를 처리하여 의사 결정에 유용하게 정리한 결과물

     

    2) 데이터베이스

    • 특정 조직의 업무에 필요한 상호 관련된 데이터들의 집합
    • 공유하고 통합적으로 관리되는 데이터 모음

     

    3) 데이터베이스 정의 (공장통운)

    정의 설명
    통합 데이터
    (Integrated Date)
    중복이 최소화된 데이터 모임
    저장 데이터
    (Stored Data)
    컴퓨터가 접근 가능한 매체에 저장된 데이터
    운영 데이터
    (Operational Data)
    조직의 목적을 위한 필수 데이터
    공유 데이터
    (Shared Data)
    여러 응용 프로그램들이 공동으로 사용하는 데이터

     

    4) 데이터베이스 특징

    특징 설명
    실시간 접근성 사용자의 질의에 즉시 응답
    계속적인 변화 최신 및 정확한 데이터 유지
    동시 공유 여러사용자의 동시 데이터 접근 및 공유
    내용에 의한 참조 주소가 아닌 내용으로 데이터 참조
    데이터의 독립성 논리적 및 물리적 독립성

     

    5) 데이터베이스 생명주기

    • 분설 -> 설계 -> 구현 -> 운영 -> 감시 및 개선

     

    6) 데이터 언어 (DMC)

    언어 설명
    DDL
    (Data Definition Language)
    데이터베이스의 구조와 제약 조건 정의
    DML
    (Data Manipulation Language)
    데이터 처리 및 조작에 사용되는 언어
    DCL
    (Data Control Language)
    보안, 권한, 무결성 및 병행 제어를 위한 언어

     

    7) 스키마(Schema)

    • 스키마의 정의
      • 스키마는 데이터베이스의 구조, 제약조건, 속성, 개체, 관계를 포함한 전반적인 명세를 기술한 것
      • 개체(Entity)는 여러 속성(Attribute)의 집합으로 이루어져 있으며, 개체들 사이에는 관계(Relation)가 존재한다.
      • 스키마에 명세된 정보는 데이터 사전(Data Dictionary)에 저장된다.
    • 3계층 스키마

    • 외부스키마(External Schema) - 사용자 뷰
      • 사용자나 응용 프로그램의 관점에서 데이터베이스의 논리적 구조를 정의한다.
      • 서브 스키마(Sub Schema)라고도 불리며, 하나의 데이터베이스에 여러 개의 외부 스키마가 존재할 수 있다.
      • 여러 응용 프로그램이나 사용자가 하나의 외부 스키마를 공유하여 사용할 수 있다.
      • 데이터베이스 접근 시 SQL과 같은 질의어나, C, Java 등의 프로그래밍 언어를 사용할 수있다.
    • 개념 스키마(Conceptual Schema) - 전체적인 뷰
      • 전체적인 구조와 제약조건을 나타낸것
      • 데이터베이스의 전체적인 논리적 구조를 나타내며, 전체 조직의 데이터 요구사항을 종합적으로 반영한다.
      • 일반적으로 하나의 데이터베이스에는 하나의 개념 스키마만 존재한다.
    • 내부 스키마(Internal Schema) - 저장 스키마
      • 물리적 저장장치에 관점에서 데이터베이스의 구조를 정의한다.
      • 실제로 데이터가 어떻게 저장 장치에 배열되고 저장되는지, 레코드의 물리적 구조, 표현방식, 순서 등을 명세한다.
    • 데이터 독립성
      • 논리적 독립성
        • 응용 프로그램에 영향을 주지 않고 데이터베이스 논리적 구조를 변경할 수 있는 능력
        • 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원
      • 물리적 독립성
        • 응용 프로그램이나 데이터베이스의 논리적 구조에 영향을 미치지 않고 데이터의 물리적 구조를 변경할 수 있는 능력
        • 내부 스키마가 변경되어도 외부/ 개념 스키마가 영향을 받지 않도록 지원

    데이터베이스 관리 시스템(Database Management System)

    1) DBMS의 정의

    • DBMS는 데이터베이스를 효과적으로 관리하고 조작하기 위한 전용 소프트웨어이다.
    • 응용 프로그램들이 데이터베이스를 공유하고 사용할 수 있도록 환경을 제공한다.
    • 데이터의 저장, 검색, 보안, 백업 및 복구, 인터페이스 제공 등 다양한 기능을 포함한다.

     

    2) DBMS 기능(정조제)

    기능 설명
    데이터 정의 데이터의 형식, 구조 및 제약조건을 설정한다.
    데이터 조작 데이터 검색, 갱신 및 보고서 생성을 위한 질의 수행 기능을 제공한다.
    데이터 제어 데이터 무결성, 보안 및 동시성 제어 기능을 포함한다.
    데이터 공유 여러 사용자나 응용프로그램이 동시에 데이터베이스에 접근할 수 있게 한다.
    데이터 보호 불법적이거나 권한이 없는 접근, 시스템 장애로부터 데이터를 보호한다.
    데이터 구축 데이터를 DBMS가 관리하는 저장 장치에 저장하는 기능이다.
    유지보수 시간이 흐름에 따른 요구사항의 변화를 반영하여 데이터베이스를 수정하거나 업데이트하는 기능이다.

     

    3) DBMS의 장 단점

    장점 ● 중복된 데이터의 최소화

    ● 데이터 독립성 확보

    ● 동시 데이터 접근 및 공유 가능 

    ● 강화된 데이터 보안

    ● 데이터 무결성 유지

    ● 시스템 장애 발생 시 복구 기능
    단점 ● 비용 부담

    ● 복잡한 백업 및 복구 절차

     

    4) DBMS의 종류

    • 계층형(Hirearchical DataBase)
      • 트리 구조로 데이터 간의 관계를 표현하며, 세그먼트(레코드) 단위로 데이터를 관리한다.
      • 구조가 간단하고 구현, 수정, 검색이 쉽지만 부모 자식 간에 N:N(다 대 다) 관계 처리가 불가능하고, 구조 변경이 어렵다.
    • 네트워크 형(Network DataBase)
      • 계층형의 단점을 보완하여, 데이터 간의 다대다 관계를 가능하게 하는 망형 모델이다
      • 구조가 복잡해 유지보수가 어렵다.
      • CODASYL이 제안한 것으로 CODASYL DBTG 모델이라고도 한다.
    • 관계형(Relational DataBase)
      • 키 와 값으로 이루어진 데이터들을 행 과 열로 구성된 테이블 구조로 단순화시킨 모델
      • SQL(Structured Query Language)을 사용하여 데이터를 처리
    • 객체 지향형(Object-Oriented DataBase)
      • 객체지향 프로그래밍 개념에 기반하여 만든 데이터베이스 모델
      • 정보를 객체의 형태로 표현
      • 객체지향 프로그래밍 개념(클래스, 상속 등)을 사용할 수 있다.
      • 비정형 데이터들을 데이터베이스화 할 수 있도록 하기 위해 만들어진 모델
    • 객체 관계형(Object-Relational DataBase)
      • 관계형 데이터베이스에 객체지향 개념을 도입하여 만든 데이터베이스 모델
      • 객체지향 개념을 지원하는 표준SQL을 사용할 수 있고, 데이터 타입도 관계형 데이터베이보다 더 다양하게 추가
    • NoSQL
      • Not Only SQL의 줄임말로 SQL뿐만 아니라 다양한 특성을 지원한다는 의미
      • 데이터 간에 관계를 정의하지 않는 데이터베이스 모델로 기존의 RDBMS의 복잡도와 용량의 한계를 극복하기 위한 목적으로 만들어졌다.
      • 비정형 데이터 처리에 유리하지만 스키마 변경이 불가능해 데이터값에 문제가 발생하면 감지가 어렵다.
    • NewSQL
      • RDBMS와 NoSQL의 장점을 결합한 모델로, 확장성과 트랜잭션을 동시에 지원한다.

     

Designed by Tistory.