DB

[DB] 데이터베이스 개념

inyeong 2024. 5. 31. 14:32

데이터베이스란?

  • 데이터를 효율적으로, 안전하게 저장하기 위해 데이터를 구조적으로 모아둔 데이터 집합소

데이터베이스 유형

  1. 관계형 데이터베이스 (Relational Database, RDB)
    데이터를 열과 행을 가진 테이블 형태로 표현하며,
    구조적으로 데이터 관리
  2. NoSQL
    비구조적, 가변적 데이터
    관계형 데이터베이스에 비해 큰 데이터를 빠르게 처리할 수 있어 빅데이터에 적합
  3. 이외에도 계층형, 네트워크형, 객체지향형 등이 있다.

데이터베이스 용어

  • table, relation
  • row, record, tuple
  • column, 속성

관계형 데이터베이스 관리 시스템 (RDBMS)

DBMS(데이터베이스 관리 시스템)

  • 데이터베이스를 관리하는 시스템
  • DB는 단순 저장소, DB에 접근하게 해주는 것이 DBMS
  • 주요 기능은 데이터 추가, 수정, 삭제, 조회, 데이터 무결성 유지, 트랜잭션 관리,백업 및 복원, 보안 등

RDBMS(관계형 데이터베이스 관리 시스템)

  • 관계형 데이터베이스를 관리하는 시스템
  • RDBMS 소프트웨어의 예시로는 Oracle, MySQL, MSSQL, PostgreSQL 등이 있다.
    독보적 1위는 오라클
    MySQL은 무료이기 때문에 중소 기업이나 개인이 많이 사용한다.
    공공기관, 대기업, 중견 기관에서는 오라클, MSSQL 등을 많이 사용한다.
  • NoSQL DBMS의 예시로는 몽고 DB가 있다.

DBMS Application

  • DBMS를 사용하기 위해서는 application이 사용되고 2가지로 분류한다.
    1. SQL client
    2. 프로그래밍 언어 java, php, python, C, C++

SQL 

SQL(Structured Query Language)이란?

  • RDBMS의 데이터를 관리하기 위해 설계된 특수 목적 프로그래밍 언어
  • DBMS를 이용하기 위해 application에서 SQL로 명령, 작업 요청

SQL 문법 종류

  1. DDL (Data Definition Language, 데이터 정의 언어)
    •    관계형 데이터베이스의 구조를 정의
    •    주요 명령어 : create, drop, alter
  2. DML (Data Manipulation Language, 데이터 조작 언어) ⇒ CRUD
    •    관계형 데이터베이스의 데이터 조작
    •    select, insert, update, delete
  3. DCL (Data Control Language, 데이터 제어 언어)
    •    데이터에 대한 액세스 제어
    •    grant - 권한 부여 , revoke - 권한 제거

CRUD

  • 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능을 묶어서 일컫는 말
  • 사용자 인터페이스가 갖추어야 할 기능을 가리키는 용어로도 사용

    Create 생성 INSERT
    Read 읽기 SELECT
    Update  갱신 UPDATE
    Delete 삭제 DELETE