[CS] 데이터베이스(Database) 이해하기

히끼·2024년 3월 20일

TIL

목록 보기
27/43

1. 데이터베이스가 필요한 이유

기존 파일 처리 시스템(업무별 애플리케이션이 개별 데이터를 데이터 파일에 저장・관리하는 시스템)의 문제를 해결하기 위함

< 발생 가능한 문제 >

  1. 데이터 종속의 문제 : 저장된 데이터가 특정 H/W에서 또는 사용자 및 S/W만 사용될 있도록 제한되는 문제
  2. 데이터 중복의 문제 : 동일한 사항에 대한 중복 데이터는 일관성, 보안성, 경제성 측면에서 문제 발생
  3. 무결성 훼손의 문제
  4. 동시 접근의 문제 : 동일 데이터에 다수 사용자의 접근 허용 시 일관성이 훼손

2. 데이터베이스 (Database)

데이터 사용자가 데이터 저장 관리소에 직접 접근하지 않고, 모든 것을 데이터베이스에 일임하여 실직적 접근은 데이터베이스만 가능하도록 함
→ 데이터의 사용과 관리의 영역을 분리하여, 직접 접근하지 못하도록 함

데이터베이스의 특징

  1. 데이터베이스 시스템의 자기 기술성
    • 데이터와 데이터의 정의 및 설명(메타데이터)을 포함
    • 데이터와 데이터의 의미를 같이 저장함
  2. 프로그램과 데이터의 격리 및 추상화
    • 사용자에게 데이터에 대한 개념적인 표현을 제공하여 접근성을 향상
  3. 다중 뷰 제공
    • 각 사용자가 관심을 갖는 데이터베이스의 일부만을 표현할 수 있는 기능 제공
  4. 데이터 공유와 다수 사용자 트랜잭션 처리
    • 다수의 데이터 조작 요청을 동시성 제어 기능을 통해 데이터의 일관성을 보장하면서 동시에 작업을 수행
    • 트랜잭션 : 하나의 논리적 작업을 처리하기 위한 일련의 데이터베이스 명령의 집합

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

  • 사용자/프로그래머가 애플리케이션을 통해 DBMS에 접근 → DBMS 내부의 소프트웨어 모듈이 동작하여, 데이터를 가져옴
  • 저장된 데이터베이스 : 실제 데이터가 저장되는 곳
  • 저장된 데이터베이스 (메타데이터) : 데이터의 의미를 알아야 사용자 요청 시 알맞은 데이터를 꺼낼 수 있음 (자기기술성)
    • 데이터(data) : 하나의 값이 두 개 이상의 설명태그가 붙어 만들어짐
    • 메타데이터(meta data) : 값에 의미를 부여하는 부연설명

데이터베이스 관련 용어

  1. 데이터(data): 어떠한 사실에 대한 정량적, 정성적 특징을 나타낼 수 있는 값과 값에 대한 설명(메타데이터)
  2. 데이터베이스(database): 특정 기관의 애플리케이션 시스템에서 사용되는 데이터의 집합
  3. 데이터베이스 관리 시스템(DBMS): 데이터베이스에 저장된 데이터의 구성, 저장, 관리, 사용을 위한 소프트웨어 패키지
  4. 데이터베이스 시스템(database system): 정보를 데이터베이스에 저장・관리하여 사용자에게 요구된 형태의 정보로 제공하는 컴퓨터 기반 시스템
    • 데이터베이스와 애플리케이션을 묶은 전체

데이터베이스 언어

  1. 데이터 정의 언어(DDL) : 데이터베이스 객체를 생성, 수정, 삭제하기 위한 언어
  2. 데이터 조작 언어(DML) : 구조화된 데이터에 사용자가 접근 및 조작할 수 있도록 지원하는 언어(검색, 삽입, 삭제, 수정)

0개의 댓글