startonebyone 2025. 2. 3. 15:07

 

종류 대표적인 DBMS
Relational(관계형) MySQL, MariaDB, PostgreSQL, SQLite
Non-Relational(비관계형) MongoDB, CouchDB, Redis
  • 관계형은 행과 열의 집합인 테이블 형식으로 데이터를 저장하고, 비관계형은 테이블 형식이 아닌 키-값 (Key-Value) 형태로 값을 저장

 

Relational DBMS

  • 행(Row)과 열(Column)의 집합으로 구성된 테이블의 묶음 형식으로 데이터를 관리하고, 테이블 형식의 데이터를 조작할 수 있는 관계 연산자를 제공한다.
  • RDBMS에서 관계 연산자는 Structured Query Language (SQL) 라는 쿼리 언어를 사용하고, 쿼리를 통해 테이블 형식의 데이터를 조작한다.

 

SQL

  • RDBMS의 데이터를 정의하고 질의, 수정 등을 하기 위해 고안된 언어이다.
  • SQL은 구조화된 형태를 가지는 언어로 웹 애플리케이션이 DBMS와 상호작용할 떄 사용된다.

 

언어 설명
DDL(Data Definition Language) 데이터를 정의하기 위한 언어입니다. 데이터를 저장하기 위한 스키마, 데이터베이스의 생성/수정/삭제 등의 행위를 수행합니다.
DML(Data Manipulation Language) 데이터를 조작하기 위한 언어입니다. 실제 데이터베이스 내에 존재하는 데이터에 대해 조회/저장/수정/삭제 등의 행위를 수행합니다.
DCL(Data Control Language) 데이터베이스의 접근 권한 등의 설정을 하기 위한 언어입니다. 데이터베이스 내에 이용자의 권한을 부여하기 위한 GRANT와 권한을 박탈하는 REVOKE가 대표적입니다.

 

DDL

  • 웹 어플리케이션은 SQL을 사용해서 DBMS와 상호작용을 하며 데이터를 관리한다.
  • RDBMS에서 사용하는 기본적인 구조는 데이터베이스 → 테이블 → 데이터 구조다.
  • 데이터를 다루기 위해 데이터베이스와 테이블을 생성해야 하며, DDL을 사용해야 한다.
  • DDL의 CREATE 명령을 사용해 새로운 데이터베이스 또는 테이블을 생성할 수 있다.
  • 데이터베이스 생성
    • CREATE DATABASE Dreamhack;
  • 테이블 생성
USE Dreamhack;
# Board 이름의 테이블 생성
CREATE TABLE Board(
	idx INT AUTO_INCREMENT,
	boardTitle VARCHAR(100) NOT NULL,
	boardContent VARCHAR(2000) NOT NULL,
	PRIMARY KEY(idx)
);

DML

  • 생성된 테이블에 데이터를 추가하기 위해 DML을 사용한다.
  • 새로운 데이터를 생성하는 INSERT, 데이터를 조회하는 SELECT, 그리고 데이터를 수정하는 UPDATE의 예시
    • 테이블 데이터 생성
    INSERT INTO 
      Board(boardTitle, boardContent, createdDate) 
    Values(
      'Hello', 
      'World !',
      Now()
    );
    
    • 테이블 데이터 조회
    SELECT 
      boardTitle, boardContent
    FROM
      Board
    Where
      idx=1;
    
    • 테이블 데이터 변경
    UPDATE Board SET boardContent='DreamHack!' 
      Where idx=1;
    

 

 

<aside> 💡

  • 데이터베이스: 데이터가 저장되는 공간
  • DBMS: 데이터베이스를 관리하는 어플리케이션
  • RDBMS: 테이블 형태로 저장되는 관계형 DBMS
  • SQL: RDBMS와 상호작용할 때 사용되는 언어 </aside>