[dreamhack] Relational DBMS

남다은·2023년 2월 26일
0

web hacking

목록 보기
12/12

📌 DataBase Management System (DBMS)

웹 서비스는 데이터베이스에 정보를 저장하고, 이를 관리하기 위해 DataBase Management System(DBMS)을 사용한다.
DBMS는 데이터베이스에 새로운 정보를 기록하거나, 기록된 내용을 수정, 삭제하는 역할을 한다.

DBMS의 특징

  • 다수의 사람이 동시에 데이터베이스에 접근할 수 있다.
  • 웹 서비스의 검색 기능과 같은 복잡한 요구사항을 만족하는 데이터를 조회할 수 있다.

DBMS는 크게 관계형과 비관계형을 기준으로 분류하며, 다양한 종류의 DBMS가 존재한다.
관계형은 행과 열의 집합인 테이블 형식으로 데이터를 저장하고, 비관계형은 테이블 형식이 아닌 키-값(Key-Value) 형태로 값을 저장한다.


✏️ Relational DBMS

Relational Database Management System (RDBMS, 관계형 DBMS)는 행(row)과 열(column)의 집합으로 구성된 테이블의 묶음 형식으로 데이터를 관리하고, 테이블 형식의 데이터를 조작할 수 있는 관계 연산자를 제공한다.

Codds가 정의한 12가지의 규칙을 모두 따르지는 않고 12가지 중 최소한 2가지의 조건을 만족하는 DBMS를 RDBMS라고 부른다.

RDBMS에서 관계 연산자는 Structured Query Language(SQL)라는 쿼리 언어를 사용하고, 쿼리를 통해 테이블 형식의 데이터를 조작한다.


SQL

Structed Query Language(SQL)은 RDBMS의 데이터를 정의하고 질의, 수정 등을 하기 위해 고안된 언어이다.
SQL은 웹 어플리케이션이 DBMS와 상호작용할 때 사용된다. SQL은 사용 목적과 행위에 따라 다양한 구조가 존재하며, 대표적으로 아래와 같이 DDL, DML, DCL
로 구분
된다.

웹 애플리케이션은 SQL을 사용해서 DBMS와 상호작용을 하며 데이터를 관리한다.
RDBMS에서 사용하는 기본적인 구조는 데이터베이스 -> 테이블 -> 데이터 구조이다.


DDL

데이터를 다루기 위해 데이터베이스와 테이블을 생성해야 하며, 이때 DDL을 사용해야 한다.
DDL의 CREATE 명령을 사용해서 새로운 데이터베이스 또는 테이블을 생성할 수 있다.

데이터베이스 생성

다음은 Dreamhack이라는 데이터베이스를 생성하는 쿼리문이다.

CREATE DATABASE Dreamhack;

테이블 생성

다음은 Dreamhack 데이터베이스에 Board 테이블을 생성하는 쿼리문이다.

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의 예시는 다음과 같다.

테이블 데이터 생성

Board 테이블에 데이터를 삽입하는 쿼리문이다.

INSERT INTO 
  Board(boardTitle, boardContent, createdDate) 
Values(
  'Hello', 
  'World !',
  Now()
);

테이블 데이터 조회

Board 테이블의 데이터를 조회하는 쿼리문이다.

SELECT 
  boardTitle, boardContent
FROM
  Board
Where
  idx=1;

테이블 데이터 변경

Board 테이블의 칼럼 값을 변경하는 쿼리문이다.

UPDATE Board SET boardContent='DreamHack!' 
  Where idx=1;
profile
차곡차곡 쌓아나가는 WEB FE 개발자

0개의 댓글