4-1) DBMS의 개요
4-2) RDBMS에서의 CRUD
4-3) NoSQL에서의 CRUD
RDBMS : 데이터 간의 관계와 효율적인 관리에 특화되었다.
NoSQL : 분산된 대량의 데이털르 저장하고 조회하는데에 특화되었다.
DDL(Data Definition Language) : 데이터 정의어 - 테이블이나 관계의
구조를 생성하고 관리
하기 위해 사용
-> CREATE / DROP / ALTER / TRUNCATE
DML(Data Manipulation Language) : 데이터 조작어 - 테이블의데이터를 생성/조회/수정/삭제
하기 위해 사용
-> SELECT / INSERT / UPDATE / DELETE
DCL(Data Control Language) : 데이터 제어어 -데이터의 사용 권한을 관리
하기 위해 사용
-> GRANT / REVOKE일반적으로 개발자는 DML를 많이 쓰게된다.
잘 알려진(자주 사용하는) RDBMS로는
Oracle / MySQL / PostgreSQL / MariaDB
가 있다.
먼저
조인(Join)
은2개 이상의 테이블을 연결
해 관련데이터를 함께 검색하기 위해
사용하는 문법이다.
테이블의공통 속성 값을 기준으로 테이블끼리 연결
한다.
일반적으로 조인문은SELECT 문의 FROM 절에서 사용
한다.
1) INNER JOIN : 두 테이블에서 공통된 속성 값을 가지고 있는 튜플을 반환한다.
2) FULL OUTER JOIN : 왼쪽 테이블과 오른쪽 테이블의 모든 행을 반환한다.
(공통 속성값이 일치하지 않는 경우, NULL로 채워서 반환한다.)
3) LEFT JOIN : 기준 테이블인 왼쪽 테이블의 모든 튜플을 결과에 포함하고, 오른쪽 테이블에서는 일치하는 값을 가진 튜플만 결과에 포함한다. (오른쪽 테이블에 값이 없는 경우 나머지 속성을 NULL로 채운다.)
4) RIGHT JOIN : 기준 테이블인 오른쪽 테이블의 모든 튜플를 결과에 포함한다. (이하 LEFT JOIN과 반대로 생각한다.)
잘 알려진(자주 사용하는) NoSQL로는
MongoDB
가 있다.
- NoSQL은 이름 그대로 SQL을 사용하지 않는 DBMS다.
- RDBMS 처럼 일정한 데이터 형식이 아닌,
저장 형식이 일정하지 않은 비정형 데이터
를효율적으로 관리
하기 위해서 탄생하였다.- NoSQL은 RDBMS와 달리 데이터 저장 유형이 다양하며, 대표적으로는
도큐먼트 데이터베이스
/키-값 데이터베이스
/그래프 데이터베이스
의 저장 유형이 존재한다.
- 도큐먼트 데이터베이스 : JSON 또는 XML 형식의 도큐먼트로 데이터를 저장하는 데이터베이스이다.
-> RDBMS 와 달리, 행과 열의 개념이 없다. 그냥 도큐먼트 형식만 맞추면 되며, 데이터마다의 구성또한 달라도된다.
-> 대표 프로그램 :MongoDB
- 키-값 데이터베이스 : 키와 값으로 구성된 데이터베이스이다.
-> 읽고 쓰는 속도가 매우 빠르다.
-> 대표 프로그램 :CassandraDB
/DynamoDB
- 그래프 데이터 베이스 : 노드와 간선으로 이루어진 그래프 형태의 데이터 모델을 사용하는 데이터베이스이다.
-> 4개 이상의 테이블을 이용하는 복잡한 쿼리를 수행할 때 강점을 발휘한다.
-> 대표 프로그램 :Neo4j