DBMS
는 데이터베이스에 새로운 정보를 기록
하거나,
기록된 내용을 수정, 삭제
하는 역할을 한다.
또한 DBMS는 다수의 사람
이 데이터베이스에 접근 가능하고
웹 서비스의 검색 기능과 같이 복잡한 요구사항
을 만족하는 데이터를 조회
할 수 있다는 특징이 있다.
DBMS는 크게 관계형과 비관계형
으로 나누어진다.
종류 | 대표적인 DBMS | 데이터 저장 방식 |
---|---|---|
관계형 ( Relational ) | MySQL, MariaDB, PostgreSQL | 테이블 ( 행과 열 ) |
비관계형 ( Non-Relational ) | MongoDB, CouchDB, Redis | 키-값 ( Key-Value ) |
Relational DataBase Management System
RDBMS는 1970년에 Codds가 12가지
규칙을 기반으로 생성한 데이터베이스 모델이다.
RDBMS는 행(row)과 열(culumn)의 집합으로 구성된 테이블
의 묶음 형식으로 데이터를 관리한다.
RDBMS에서는 Structured Query Language
( SQL )라는 쿼리 언어를 사용한다.
테이블이란?
테이블이란 우리가 잘 알고 있는 표
와 비슷하다. ( 아래 사진 출처 : 드림핵 )
이와 같이 학생 명부, 드림과목 출석부 등을 각각 테이블
이라고 한다.
데이터를 정의
하기 위한 언어.
데이터를 저장하기 위한 스키마
, 데이터베이스 생성 / 수정 / 삭제
등의 행위를 수행
대표적으로 데이터베이스를 생성하는 명령어인 CREATE
가 있다.
CREATE DATABASE Hyeonuk; //Hyeonuk 이라는 이름의 데이터베이스를 생성하는 명령어
데이터를 조작
하기 위한 언어.
실제 데이터베이스 내에 존재하는 데이터
에 대해 저장 / 수정 / 삭제
등의 행위를 수행.
( DDL은 데이터베이스 자체를 의미, DML은 그 안에 존재하는 데이터를 조작 )
대표적으로 DB내에 데이터를 삽입하는 INSERT
와 조회하는 SELECT
, 수정하는 UPDATE
가 있다.
INSERT INTO Hyeonuk(age, name) Values(18, '정현욱');
//Hyeonuk 이라는 데이터베이스에 나이와 이름 삽입
SELECT * FROM Hyeonuk;
//Hyeonuk 데이터베이스 안에 있는 데이터 모두 조회 ( * = 모든 값 조회 )
UPDATE Hyeonuk SET age = 19 WHERE name = '정현욱';
//Hyeonuk 데이터베이스에서 이름이 정현욱인 사람의 나이를 19으로 변경 ( WHERE = 조건 )
데이터베이스에 대한 접근 권한
등의 설정을 하기 위한 언어.
권한을 부여하는 GRANT
와 권한을 박탈하는 REVOKE
가 대표적이다.