DataBase Management System
DBMS : 데이터베이스를 관리하는 어플리케이션
- 데이터베이스에 새로운 정보를 기록하거나, 기록된 내용을 수정, 삭제하는 역할
DBMS 종류
Relational
(관계형) |
MySQL, MariaDB, PostgreSQL, SQLite
|
Non-Relational
(비관계형) |
MongoDB, CouchDB, Redis
|
※ 관계형은 행과 열의 집합인 테이블 형식으로 데이터를 저장하고, 비관계형은 테이블 형식이 아닌 키-값 형태로 값을 저장한다.
RDBMS : 테이블 형태로 저장되는 관계형 DBMS
RDBMS에서 관계 연산자는 Structured Query Language (SQL) 라는 쿼리 언어를 사용하고, 쿼리를 통해 테이블 형식의 데이터를 조작한다.
SQL
Structured Query Language (SQL)는 RDBMS의 데이터를 정의하고 질의, 수정 등을 하기 위해 고안된 언어
SQL은 구조화된 형태를 가지는 언어로 웹 어플리케이션이 DBMS와 상호작용할 때 사용된다. SQL은 사용 목적과 행위에 따라 다양한 구조가 존재하며 대표적으로 아래와 같이 구분된다.
DDL
(Data Definition Language) |
데이터를 정의하기 위한 언어입니다. 데이터를 저장하기 위한 스키마, 데이터베이스의 생성/수정/삭제 등의 행위를 수행합니다.
|
DML
(Data Manipulation Language) |
데이터를 조작하기 위한 언어입니다. 실제 데이터베이스 내에 존재하는 데이터에 대해 조회/저장/수정/삭제 등의 행위를 수행합니다.
|
DCL
(Data Control Language) |
데이터베이스의 접근 권한 등의 설정을 하기 위한 언어입니다. 데이터베이스 내에 이용자의 권한을 부여하기 위한 GRANT와 권한을 박탈하는 REVOKE가 대표적입니다.
|
DDL
RDBMS 기본 구조 : 데이터베이스 → 테이블 → 데이터 구ㅗㅈ
데이터를 다루기 위해서는 데이터베이스와 테이블을 사용해야 하는데 , 이때 DDL 을 사용해야 한다.
CREATE :데이터베이스 생성 쿼리문
CREATE DATABASE dtname;
CREATE BOARD
USE dtname;
# Board 이름의 테이블 생성
CREATE TABLE Board(
idx INT AUTO_INCREMENT,
boardTitle VARCHAR(100) NOT NULL,
boardContent VARCHAR(2000) NOT NULL,
PRIMARY KEY(idx)
);
DML
생성된 테이블에 데이터를 추가하기 위해서 DML 을 사용한다.
INSERT : 데이터 생성
INSERT INTO
Board(boardTitle, boardContent, createdDate)
Values(
'Hello',
'World !',
Now()
);
SELECT : 데이터 조회
SELECT
boardTitle, boardContent
FROM
Board
Where
idx=1;
UPDATE : 데이터 수정
UPDATE Board SET boardContent='DreamHack!'
Where idx=1;