상세 컨텐츠

본문 제목

[정보처리기사 실기 공부] 데이터베이스 개념

정보처리기사 공부지식

by 소란한소란 2024. 3. 8. 14:31

본문

728x90

데이터베이스 개념: 심층 탐구

데이터베이스는 현대 사회의 핵심 인프라로서, 방대한 양의 정보를 효율적으로 관리하고 활용하는 데 필수적인 역할을 합니다. 이 글에서는 데이터베이스의 기본 개념부터 핵심 요소, 종류, 장점까지 심층적으로 탐구하며, 실생활에서의 활용 사례와 함께 데이터베이스의 미래까지 살펴봅니다.


데이터

  • 정의: 관찰, 측정, 기록 등을 통해 수집된 사실, 숫자, 문자 등의 기본적인 정보 단위

데이터 특징

  • 객관성: 주관적인 해석 없이 사실 그대로 기록
  • 무의미성: 단독으로는 의미를 부여하기 어려움
  • 정형화: 숫자, 문자, 날짜 등의 구조화된 형태
  • 독립성: 서로 연결되지 않은 개별적인 정보

 

정보

  • 정의: 데이터를 분석, 가공, 조직화하여 의사 결정에 유용하게 활용할 수 있는 형태로 변환된 결과물

정보 특징

  • 주관성: 분석 및 해석 과정을 거쳐 의미를 부여
  • 유의성: 특정 목적에 부합하여 가치를 제공
  • 비정형화: 텍스트, 이미지, 음성 등 다양한 형태
  • 연관성: 데이터 간의 관계를 통해 의미를 확장

 

데이터와 정보의 관계

  • 데이터는 정보의 기본 구성 요소
  • 정보는 데이터를 가공하여 얻는 가치
  • 데이터 -> 정보: 분석, 가공, 조직화 과정
  • 정보 -> 데이터: 정보의 저장, 공유, 활용 과정

 

데이터베이스

  • 정의: 특정 조직의 업무를 수행하는 데 필요한 상호 관련한 데이터들의 모임

 

데이터베이스의 정의 (★) (영어로도 알아둘 것)

  • 통합 데이터 (Integrated Data) : 검색을 효율성을 위해 중복이 최소화된 데이터의 모임
  • 저장 데이터 (Stored Data) : 컴퓨터가 접근 가능한 저장 매체에 저장된 데이터
  • 운영 데이터 (Operational Data) : 조직의 목적을 위해 존재 가치가 확실하고 반드시 필요한 데이터
  • 공유 데이터 (Shared Data) : 여러 응용 프로그램들이 공동으로 사용하는 데이터

데이터베이스의 특징

  • 실시간 접근성 (Real Time Accessibility)
    • 사용자의 질의에 대하여 즉시 처리하여 응답
  • 계속적인 변화 (Continuous Evolution)
    • 삽입, 삭제, 갱신을 통하여 항상 최근의 정확한 데이터를 유지
  • 동시 공유 (Concurrent Sharing)
    • 여러 사용자가 동시에 원하는 데이터를 공유
  • 내용에 의한 참조 (Content Reference)
    • 데이터베이스에 있는 데이터를 주소가 아닌 내용에 따라 참조
  • 데이터의 독립성 (Independence)
    • 논리적 독리성
      • 데이터의 논리적 구조를 변경시키더라도, 응용 프로그램은 변경되지 않음
    • 물리적 독립성
      • 데이터베이스의 물리적 구조를 변경시켜도 응용 프로그램이나 논리적 구조에는 영향을 미치지 않음

데이터베이스 생명주기

  • 분석 → 설계 → 구현 → 운영 → 감시 및 개선

데이터 언어 (★)

  • DDL(Data Definition Language : 데이터 정의어)
    • DB의 구조, 데이터 형식, 접근 방식 등 DB의 구축과 변경 목적으로 사용하는 언어
    • 데이터베이스의 논리적, 물리적 구조를 정의 및 변경
    • 스키마(Schema)에 사용되는 제약 조건을 정의
  • DML(Data Manipulation Language : 데이터 조작어)
    • 데이터 처리를 위한 응용 프로그램과 데이터베이스 관리 시스템 간의 인터페이스를 위한 언어
    • 데이터의 검색, 삽입, 삭제, 갱신 연산 등을 포함한 집합
  • DCL(Data Control Language : 데이터 제어어)
    • 보안 및 권한 제어, 무결성, 회복, 병행 제어를 위한 언어

스키마

  • 스키마의 정의
    • 데이터베이스의 구조와 제약조건에 관해 전반적인 명세를 기술한 것
    • 개체(Entity), 속성(Attribute), 관계(Relation)에 대한 정의와 이들이 유지해야 할
    • 제약조건들을 기술한 것
    • 스키마는 데이터 사전(Data Dictionary)에 저장
  • 3계층 스키마 (★)

3계층 스키마 구조

  • 외부 스키마(External Schema) - 사용자 뷰
    • 데이터베이스의 논리적 구조 정의, 사용자 뷰
    • 전체 데이터베이스의 한 논리적 부분으로 서브스키마라고도 한다.
    • 하나의 데이터베이스에는 여러 개의 외부스키마가 존재 가능
    • 하나의 외부스키마를 여러 개의 응용포로그램이나 사용자가 공유 가능
    • 질의어(SQL)을 이용하거나 C, JAVA 등의 언어를 사용하여 DB에 접근
  • 개념 스키마(Conceptual Schema) - 전체적인 뷰
    • 데이터베이스의 전체적인 논리적 구조
    • 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재
    • 데이터베이스 파일에 저장되는 데이터의 형태를 나타내는 것으로, 단순히 스키마라고 하면 개념 스키마를 의미
    • 데이터의 접근 권한, 보안 정책, 무결성 규칙에 대한 명세를 정의
  • 내부 스키마(Internal Schema) - 저장 스키마
    • 물리적 저장장치의 입장에서 본 데이터베이스 구조
    • 실제로 데이터베이스에 저장될 레코드의 물리적인 구조를 정의하고, 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서 등을 나타낸다.

 데이터 독립성

  • 논리적 독립성
    • 응용 프로그램에 영향을 주지 않고 데이터베이스 논리적 구조를 변경할 수 있는 능력
    • 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원
  • 물리적 독립성
    • 응용 프로그램이나 데이터베이스의 논리적 구조에 영향을 미치지 않고 데이터의 물리적 구조를 변경할 수 있는 능력
    • 내부 스키마가 변경되어도 외부/개념 스키마가 영향을 받지 않도록 지원

DBMS의 정의

  • 데이터베이스를 조작하는 별도의 소프트웨어

DBMS의 기능 (★)

기능 설명
데이터 정의 데이터에 대한 형식, 구조, 제약조건들을 명세하는 기능
데이터 조작 특정한 데이터를 검색하기 위한 질의,
데이터베이스의 갱신, 보고서 생성 기능
데이터 제어 데이터 무결성
보안 / 권한 검사
동시성 제어
  • 데이터 공유
    • 여러 사용자와 프로그램이 데이터베이스에 동시에 접근하도록 하는 기능
  • 데이터 보호
    • 하드웨어나 소프트웨어의 오동작 또는 권한이 없는 악의적인 접근으로부터
    • 시스템을 보호
  • 데이터 구축
    • DBMS가 관리하는 기억 장치에 데이터를 저장하는 기능
  • 유지보수
    • 시간이 지남에 따라 변화하는 요구사항을 반영할 수 있도록 하는 기능

DBMS의 장/단점

장점 - 데이터 중복 최소화
- 데이터 독립성 확보
- 데이터를 동시 공유
- 데이터 보안이 향상
- 데이터 무결성을 유지
- 장애 발생 시 회복이 가능
단점 - 비용이 많이 든다.
- 백업과 회복 방법이 복잡
  • 무결성 : 인과된 사용만 인과된 방법으로 접근을 해야한다.

 

DBMS의 종류

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

데이터베이스는 현대 사회의 정보 시대를 지탱하는 핵심 인프라입니다. 방대한 양의 데이터를 효율적으로 관리하고 활용함으로써, 다양한 분야에서 혁신을 이끌어내고 있습니다. 2024년에 정보처리기사를 따기 위해 노력하는 모두에게 행운을 빕니다!

 

728x90

관련글 더보기