[도서] 아는 만큼 보이는 백엔드 개발 - Ch4. DBMS

곽동현·2024년 2월 26일
0

Chapter4 : DBMS

📌목차

4-1) DBMS의 개요

4-2) RDBMS에서의 CRUD

4-3) NoSQL에서의 CRUD



✅ 내용정리

RDBMS와 NoSQL의 사용 목적은 무엇을 초점을 두고 있나요?

RDBMS : 데이터 간의 관계와 효율적인 관리에 특화되었다.
NoSQL : 분산된 대량의 데이털르 저장하고 조회하는데에 특화되었다.

RDBMS) SQL 문법 중, DDL / DML / DCL 의 차이를 설명해주세요.

DDL(Data Definition Language) : 데이터 정의어 - 테이블이나 관계의 구조를 생성하고 관리하기 위해 사용
-> CREATE / DROP / ALTER / TRUNCATE
DML(Data Manipulation Language) : 데이터 조작어 - 테이블의 데이터를 생성/조회/수정/삭제하기 위해 사용
-> SELECT / INSERT / UPDATE / DELETE
DCL(Data Control Language) : 데이터 제어어 - 데이터의 사용 권한을 관리하기 위해 사용
-> GRANT / REVOKE

일반적으로 개발자는 DML를 많이 쓰게된다.

RDBMS) 대표적인 RDBMS의 종류를 말씀해주세요.

잘 알려진(자주 사용하는) RDBMS로는 Oracle / MySQL / PostgreSQL / MariaDB가 있다.

RDBMS) JOIN의 종류와 특징에 대해 간략히 설명해주세요.

먼저 조인(Join)2개 이상의 테이블을 연결해 관련 데이터를 함께 검색하기 위해 사용하는 문법이다.
테이블의 공통 속성 값을 기준으로 테이블끼리 연결한다.
일반적으로 조인문은 SELECT 문의 FROM 절에서 사용한다.
1) INNER JOIN : 두 테이블에서 공통된 속성 값을 가지고 있는 튜플을 반환한다.
2) FULL OUTER JOIN : 왼쪽 테이블과 오른쪽 테이블의 모든 행을 반환한다.
(공통 속성값이 일치하지 않는 경우, NULL로 채워서 반환한다.)
3) LEFT JOIN : 기준 테이블인 왼쪽 테이블의 모든 튜플을 결과에 포함하고, 오른쪽 테이블에서는 일치하는 값을 가진 튜플만 결과에 포함한다. (오른쪽 테이블에 값이 없는 경우 나머지 속성을 NULL로 채운다.)
4) RIGHT JOIN : 기준 테이블인 오른쪽 테이블의 모든 튜플를 결과에 포함한다. (이하 LEFT JOIN과 반대로 생각한다.)

NoSQL) 대표적인 NoSQL의 종류를 말씀해주세요.

잘 알려진(자주 사용하는) NoSQL로는 MongoDB가 있다.

NoSQL) NoSQL의 특징은 무엇인가요? (RDBMS와 비교하여 설명하세요.)

  • NoSQL은 이름 그대로 SQL을 사용하지 않는 DBMS다.
  • RDBMS 처럼 일정한 데이터 형식이 아닌, 저장 형식이 일정하지 않은 비정형 데이터효율적으로 관리하기 위해서 탄생하였다.
  • NoSQL은 RDBMS와 달리 데이터 저장 유형이 다양하며, 대표적으로는 도큐먼트 데이터베이스 / 키-값 데이터베이스 / 그래프 데이터베이스의 저장 유형이 존재한다.

NoSQL) 그렇다면 저장 유형에 대해 좀 더 자세히 말씀해주시겠어요?

  • 도큐먼트 데이터베이스 : JSON 또는 XML 형식의 도큐먼트로 데이터를 저장하는 데이터베이스이다.
    -> RDBMS 와 달리, 행과 열의 개념이 없다. 그냥 도큐먼트 형식만 맞추면 되며, 데이터마다의 구성또한 달라도된다.
    -> 대표 프로그램 : MongoDB
  • 키-값 데이터베이스 : 키와 값으로 구성된 데이터베이스이다.
    -> 읽고 쓰는 속도가 매우 빠르다.
    -> 대표 프로그램 : CassandraDB / DynamoDB
  • 그래프 데이터 베이스 : 노드와 간선으로 이루어진 그래프 형태의 데이터 모델을 사용하는 데이터베이스이다.
    -> 4개 이상의 테이블을 이용하는 복잡한 쿼리를 수행할 때 강점을 발휘한다.
    -> 대표 프로그램 : Neo4j
profile
실패의 경험들을 채워나가기!

0개의 댓글