[데이터베이스] RDBMS, NoSQL, 데이터베이스 언어

공혁준·2022년 4월 24일
0

데이터베이스

목록 보기
1/4
post-thumbnail

📌 RDBMS, NoSQL, 데이터베이스 언어를 다룹니다.

데이터베이스란?

데이터베이스란 여러 사람들이 공유하고 사용할 목적으로 통합 관리되는 데이터들의 모임이다.

등산할 때 기반이 되는 기지를 베이스캠프라 하듯이 데이터베이스라는 용어도 1950년대 미국에서 데이터의 기지라는 뜻에서 데이터베이스라는 용어를 처음 사용했다고 한다.

RDBMS, NoSQL

RDBMS는 데이터베이스를 이루는 객체들의 릴레이션을 통해서 데이터를 저장하는 데이터베이스입니다. SQL을 사용해 데이터의 저장, 질의, 수정, 삭제를 할 수 있으며 데이터를 효율적으로 보관하는 것을 목적으로 하고 구조화가 굉장히 중요합니다.

장점으로는 명확한 데이터 구조를 보장하고, 중복을 피할 수 있습니다.

NOSQL은 RDBMS에 비해 자유로운 형태로 데이터를 저장합니다. 또한 수평확장을 할 수 있고 분산처리를 지원합니다. 다양한 형태의 NOSQL 데이터베이스가 있고, 대표적으로 key-value store, bigtable, dynamo, document db, graph db 등이 있습니다.

둘은 대체될 수 있는 것이 아니고, 각각 필요한 시점에 적절히 선택해서 사용해야 합니다. 둘 다 같이쓰는 상호보완적인 존재가 될 수도 있습니다.

데이터베이스 언어

DDL

Data Definition Language : 데이터 정의어

  • CREATE, ALTER, DROP, RENAME
  • 데이터베이스 객체(table, view, index...)의 구조를 정의 (생성, 변경, 제거)

DML

Data Manipulation Language : 데이터 조작어

  • INSERT, SELECT, UPDATE, DELETE
  • 데이터베이스 테이블의 레코드를 CRUD (Create, Read, Update, Delete)

DCL

Data Control Language : 데이터 제어어

  • GRANT, REVOKE
  • 데이터베이스와 그 구조에 대한 접근 권한을 제공하거나 제거

TCL

Transaction Control Language : 트랜잭션 제어어

  • COMMIT, ROLLBACK, Savepoint
  • DML 명령문으로 수행한 변경을 관리 (트랜잭션 관리)

참고

https://noahlogs.tistory.com/36
https://github.com/Seogeurim/CS-study/tree/main/contents/database

profile
몰입을 즐기는 개발자입니다.

0개의 댓글