[CODE]/Database

[DB] 1. 데이터베이스 시스템

원°C 2026. 3. 25. 14:39

1) 데이터베이스 시스템

데이터란?
DB저장값 = 데이터 - (조회/분석/가공) → 정보 - (해석/축적) → 지식
  • 데이터
    : 단순히 관찰/측정하여 수집한 정량적/정성적인 값
  • 정보
    : 데이터에 맥락과 의미를 부여한 것
  • 지식
    : 정보를 바탕으로 사물/현상에 대한 이해를 형성한 것
데이터 분류
  • 구조(형태)
    : 정형(ex. excel) / 반정형(ex. JSON) / 비정형(ex. img)
  • 특성
    • 범주형(질적, 종류 나타냄)
      : 명목형 / 순서형 데이터
    • 수치형(양적, 비교/연산 가능)
      : 이산형 / 연속형 데이터
데이터베이스 개념

: 여러 사용자가 공유-사용할 수 있도록 통합-저장한 운영 데이터의 집합

  • 공유 데이터
    : 특정 조직의 여러 사용자가 함께 소유, 이용 가능한 공용 데이터
  • 통합 데이터
    : 최소의 중복 + 통제 가능한 중복만 허용하는 데이터
  • 저장 데이터
    : 컴퓨터 접근 가능한 매체에 저장된 데이터
  • 운영 데이터
    : 조직의 주요 기능 수행 위해 지속적으로 필요한 데이터
데이터베이스 시스템

: 각 조직에서 사용하던 데이터를 통합하고 공유할 때 생기는 장점을 이용하는 시스템

데이터베이스 시스템
= DBMS(데이터베이스 관리 시스템) + DB(데이터베이스) + 데이터 모델 (+ 데이터베이스 사용자 + 인터페이스)
  • 데이터베이스 사용자: 데이터를 이용하기 위해 접근하는 모든 사람
    = 일반 사용자 / SQL 사용자 / 응용 프로그래머 / 데이터베이스 관리자(DBA)
  • 인터페이스 = 데이터베이스 언어(SQL), 응용 프로그램

2) 데이터베이스 시스템의 발전

정보기술과 데이터베이스 시스템의 발전
  • 1단계: 소매상 = 실체 시스템 = 동네 서점
  • 2단계: 소기업 = 파일 시스템 = 초기 전산화
  • 3단계: 중견기업 = 데이터베이스
  • 4단계: 대기업 = 인터넷 통신 = 홈페이지 구축
  • 5단계: 종합그룹 = 인터넷 통신 = 인터넷 쇼핑몰 확장
정보 시스템의 발전(데이터 처리 관점)
  • 1단계: 파일시스템
  • 2단계: 데이터베이스시스템
  • 3단계: 웹 데이터베이스 시스템
  • 4단계: 분산 데이터베이스 시스템

3) 파일시스템과 DBMS

비교
구분 파일시스템 DBMS
데이터 정의 응용 프로그램 DBMS
데이터 저장 파일 시스템 데이터베이스
데이터 접근 방법 응용 프로그램이 파일에 직접 접근 응용 프로그램이 DBMS에 파일 접근 요청
사용 언어 자바, C++, C 등 자바, C++, C 등과 SQL
CPU/주기억장치 사용 적음 많음

 

DB(데이터베이스)

: 실제 데이터가 저장되는 물리적 저장소

DBMS

: 데이터베이스를 관리하고 운영하는 제어센터

  • 기능
    • 데이터 정의
    • 데이터 조작
    • 데이터 추출
    • 데이터 제어
  •  장점
    • 데이터 중복 통제 가능
    • 데이터 독립성 확보
    • 데이터 동시 공유
    • 데이터 보안 향상
    • 데이터의 무결성 유지
    • 표준화 가능
    • 장애 발생시 회복 가능
    • 응용 프로그램 개발 비용 감소
  •  단점
    • 도입비용 많이 듬
    • 백업, 장애 회복 방법 복잡
    • 중앙 집중 관리로 인한 취약점 존재
    • 대규모 사용자의 동시 접속 / 복잡한 쿼리 처리시 성능 저하 발생
    • 설계, 운영, 최적화, 튜닝에 전문지식 요구 및 효율적 관리 위해 숙련된 DBA 필요
  • 발전 과정
    • 1세대: 네트워크 DBMS(그래프 형태), 계층 DBMS(트리 형태)
    • 2세대: 관계 DBMS
    • 3세대: 객체지향 DBMS, 객체관계 DBMS(객체지향 + 관계)
    • 4세대: NoSQL, NewSQL DBMS
      • NoSQL DBMS: 비정형 데이터를 처리하는데 적합, 확장성 뛰어남
      • NewSQL DBMS: 관계 DBMS의 장점, NoSQL의 확장성 및 유연성

4) 데이터베이스 시스템의 구성

SQL

: 사용자와 데이터베이스 관리 시스템 간의 통신 수단 

  • 구성
    • 데이터 정의어(DDL) - 구조 정의
    • 데이터 조작어(DML) - 검색,삽입,삭제,수정
    • 데이터 제어어(DCL) - 규칙, 권한 관리
데이터 모델

: 현실 세계 데이터를 DB 구조로 변환하는 논리적 가이드 라인 

  • 관계 표현 방법 따라 모델이 달라진다.
    • 포인터
      : 계층 데이터 / 네트워크 데이터 모델
    • 속성값
      : 관계 데이터 모델 (가장 많이 사용됨)
    • 객체 식별자
      : 객체 데이터 모델
데이터베이스 구조
  • 3단계 데이터베이스 구조
    : 외부 / 개념 / 내부 단계  
    • 외부 스키마
      : 개별 사용자 관점 /  여러 개의 외부 스키마 o
    • 개념 스키마
      : 조직 전체의 관점 / 통합 조직별로 하나만 존재, DBA가 관리
    • 내부 스키마
      : 저장 장치의 관점 / 하나의 데이터베이스에 하나만 존재
  • DBMS는 매핑(사상)을 통해 각 단계의 대응 관계를 정의한다.
    • 외부/개념 사상 (= 응용 인터페이스)
      : 외부 - 개념 스키마의 대응 관계
    • 개념/내부 사상 (= 저장 인터페이스)
      : 개념 - 내부 스키마의 대응 관계
  • 스키마와 인스턴스
    • 스키마(schema)
      : 데이터베이스에 저장되는 데이터 구조와 제약조건 정의
    • 인스턴스(instance)
      : 스키마에 따라 데이터베이스에 실제로 저장된 값  
  • 데이터 독립성
    : 하위 단계의 내용 추상화 상위 단계에 숨김 다른 단계와 상호 간섭 없도록 한다.
    = 하위 스키마를 변경하더라도 상위 스키마가 영향 받지 않도록 한다.
    • 논리적 데이터 독립성(외부 - 개념 사이)
      : 개념 스키마 변경되어도 외부 스키마에 영향 X
    • 물리적 데이터 독립성(개념 - 내부 사이)
      : 내부 스키마 변경되어도 개념 스키마에 영향 X

 

 

+ 관련 노션 링크

 

 

[목차여기]