본문 바로가기
CS/DataBase

데이터베이스 첫걸음 정리 - 1장 데이터베이스

by yongckim 2022. 7. 31.
728x90
반응형

데이터란?

  • 컴퓨터안에 기록되어 있는 숫자를 의미합니다.

데이터 베이스란?

  • 이러한 데이터의 집합을 데이터 베이스라고 부릅니다.
  • 넓은 의미에서는 “컴퓨터 안에 기록된 모든 것”을 데이터베이스라고 할 수 있습니다.
  • 단, 일반적으로 데이터베이스는 특정 데이터를 확인하고 싶을 때 간단하게 찾아낼 수 있도록 정리된 형태를 의미합니다.

데이터베이스가 데이터를 저장하는 장치

데이터베이스 내의 데이터는 영구적을 보존되어야 합니다.

주기억장치(RAM 같은)에만 데이터를 저장된다면 전원을 끄는 순간 데이터는 전부 사라지기 때문에 하드디스크나 플래시 메모리(SSD) 등 비휘발성 저장장치에 저장합니다.

데이터 베이스 사용예시

  • 인터넷에서 웹 애플리케이션을 통해 물건을 쇼핑할 때 DB에 접근하게 됨
  • 편의점에서 물건을 사면 계산대(POS 시스템)에서 데이터가 데이터베이스로 전송됨
  • 스마트폰의 전화번호부도 데이터베이스임

DB와 DBMS

데이터베이스(DB)는 저장장치내에 정리되어 저장된 데이터의 집합이고, 이를 효율적으로 관리하는 소프트웨어를 ‘데이터베이스 관리 시스템(Database Management System), 약자로 DBMS라고 부릅니다.

바로 DB에 사용하지 않고 DBMS를 사용하는 이유는 다음과 같습니다.

  • 생산성
    • 어떤 시스템에서든 데이터 검색, 추가, 삭제, 갱신과 같은 처리가 이루어지는데 이와 같은 기본 기능을 DBMS가 제공해줍니다.
    • 시스템 개발 과정에서 생산성 향상을 기대할 수 있습니다.

위와 같이 모든 기본 기능을 직접 다 구현하는 것보다 따로 서비스를 사용하는 것이 생산성 측면에서 훨씬 효율적입니다.

  • 기능성
    • 복수 유저의 요청에 대응하거나 대용량의 데이터를 저장하고 고속으로 검색하는 기능을 제공하기도 합니다.
    • 만약, 데이터베이스 관리 기능을 확장하고 싶을 경우 직접 확장하는 것도 가능해서 유연한 시스템 개발을 할 수 있게 해줍니다.
    • DBMS는 데이터베이스를 다루는 기능을 많이 제공합니다.

  • 신뢰성
    • 이를 위해 하드웨어를 여러대로 구성하여 신뢰성을 높이는 동시에 성능향상을 꾀하기도 합니다.이를 보통 클러스터 구성 또는 스케일 아웃이라고 부릅니다.
    • 실제로 일부 DBMS는 컴퓨터 여러 대를 두고, 소프트웨어를 통해 확장성과 부하분산을 구현합니다.
    • 대규모 데이터베이스는 많은 요청에 대응할 수 있도록 만들어져 있습니다.

요약하면 DBMS는 데이터베이스를 관리하는 소프트웨어로, 사용 목적은 생산성 향상과 기능성, 신뢰성 확보에 있습니다.

SQL

사용자와 DBMS 간의 대화를 하기 위해 필요한 언어가 SQL 입니다

데이터 베이스에도 몇가지 종류가 존재하는데 SQL은 그 중 관계형 데이터베이스 관리 시스템(RDBMS)을 조작할 때 사용합니다.

SQL 명령의 종류

  • DML(Data Manipulation Language)
    • 데이터베이스에 새롭게 데이터를 추가하거나 삭제하거나 내용을 갱신하는 등, 데이터를 조작할 때 사용됩니다.
  • DDL(Data Definition Language)
    • 데이터를 정의하는 명령어, 데이터베이스는 “데이터베이스 객체”라는 데이터 그릇을 이용하여 데이터를 관리하는데 이 같은 객체를 만들거나 삭제하는 명령어 입니다.
  • DCL (Data Control Language)
  • DCL은 트랜잭션을 제어하는 명령과 데이터 접근권한을 제어하는 명령이 포함되어 있습니다.

반응형