ADsP 데이터 이해_DB 종류와 특징_MongoDB_SQL문법분류

SQL 이름이 들어간 비슷한 DB 종류들입니다!



관계형 DB (SQL 계열) 전체 비교

DB제조사비용특징
MySQLOracle무료웹서비스 1위
MariaDB오픈소스무료MySQL 대체
SQL ServerMicrosoft유료윈도우 최적화
PostgreSQL오픈소스무료기능 최강
SQLite오픈소스무료초경량/모바일
Oracle DBOracle유료대기업/금융

MariaDB

MySQL에서 파생된 오픈소스 관계형 DB
MySQL과 거의 동일하지만 완전 무료!
MySQL ──→ Oracle이 인수
              ↓
         유료화 우려
              ↓
         개발자들이 분리
              ↓
          MariaDB 탄생 (완전 무료!)
특징설명
형식SQL (관계형)
라이선스완전 무료 오픈소스
호환성MySQL과 거의 동일
장점무료, 빠른 성능
단점대기업 지원 부족
활용 예시
→ 중소기업 웹서비스
→ 워드프레스 DB
→ 개인 프로젝트

SQL Server

Microsoft에서 만든 관계형 DB
윈도우 환경에서 강력한 성능
특징설명
형식SQL (관계형)
제조사Microsoft
운영체제Windows 최적화
라이선스유료 (무료 버전 있음)
장점MS 제품과 완벽 연동
단점비용 부담
MS 제품 연동
SQL Server ──→ Excel
            ──→ Power BI
            ──→ Azure 클라우드
            ──→ Windows Server

활용 예시
→ 대기업 ERP 시스템
→ 금융권 시스템
→ 공공기관 시스템

PostgreSQL

오픈소스 관계형 DB 중 가장 강력한 기능
"오픈소스 DB의 끝판왕"
특징설명
형식SQL (관계형)
라이선스완전 무료 오픈소스
안정성매우 높음
기능가장 풍부한 기능
장점무료 + 강력한 기능
단점설정이 복잡함
활용 예시
→ 대규모 웹서비스
→ GIS (지리정보시스템)
→ 금융 데이터 분석
→ AI/빅데이터 분석

4가지 한눈에 비교

MongoDBMariaDBSQL ServerPostgreSQL
형식NoSQLSQLSQLSQL
비용무료무료유료무료
제조사MongoDB Inc오픈소스Microsoft오픈소스
난이도쉬움보통보통어려움
성능빠름빠름높음매우 높음
주요 용도빅데이터웹서비스기업용대규모 서비스

어떤 걸 선택해야 할까?

📌 개인 프로젝트/입문    → MariaDB
📌 SNS/빅데이터         → MongoDB
📌 윈도우 기반 기업      → SQL Server
📌 대규모 서비스/안정성  → PostgreSQL

MongoDB(몽고는 성격이 다르다)

NoSQL 데이터베이스
표(테이블) 대신 문서(Document) 형태로 저장
저장 형태 (JSON 형식)
{
  "이름": "홍길동",
  "나이": 25,
  "취미": ["축구", "독서", "게임"]
}
특징설명
형식NoSQL (비관계형)
저장 방식JSON 문서 형태
유연성스키마 없이 자유롭게 저장
장점대용량, 빠른 처리
단점복잡한 관계 표현 어려움
활용 예시
→ SNS (게시글, 댓글)
→ 실시간 빅데이터
→ IoT 데이터

SQL 종류와 주요 명령어

SQL = Structured Query Language


약어풀네임
SStructured구조화된
QQuery질의 (질문/요청)
LLanguage언어

한 줄 정의

데이터베이스에 질문(요청)하는
구조화된 언어

예시

sql

-- "학생 테이블에서 모든 데이터 가져와줘"
SELECT * FROM 학생;

-- "나이가 20살 이상인 학생 찾아줘"
SELECT * FROM 학생 WHERE 나이 >= 20;

쉽게 말해 “데이터베이스와 대화하는 언어” 입니다! 😊

SQL 종류

종류풀네임설명
DDLData Definition Language데이터 정의어
DMLData Manipulation Language데이터 조작어
DCLData Control Language데이터 제어어
TCLTransaction Control Language트랜잭션 제어어

1. DDL (데이터 정의어)

sql

-- 테이블 생성
CREATE TABLE 학생 (이름 VARCHAR(10), 나이 INT);

-- 테이블 수정
ALTER TABLE 학생 ADD 지역 VARCHAR(10);

-- 테이블 삭제
DROP TABLE 학생;
→ 테이블을 만들고, 수정하고, 삭제하는 명령어

2. DML (데이터 조작어)

sql

-- 데이터 조회
SELECT * FROM 학생;

-- 데이터 삽입
INSERT INTO 학생 VALUES ('홍길동', 20);

-- 데이터 수정
UPDATE 학생 SET 나이 = 21 WHERE 이름 = '홍길동';

-- 데이터 삭제
DELETE FROM 학생 WHERE 이름 = '홍길동';
→ 데이터를 조회/삽입/수정/삭제하는 명령어
→ 가장 많이 사용!

3. DCL (데이터 제어어)

sql

-- 권한 부여
GRANT SELECT ON 학생 TO 홍길동;

-- 권한 취소
REVOKE SELECT ON 학생 FROM 홍길동;
→ 사용자 접근 권한을 관리하는 명령어

4. TCL (트랜잭션 제어어)

sql

-- 작업 확정
COMMIT;

-- 작업 취소
ROLLBACK;

-- 저장점 설정
SAVEPOINT 저장점1;
→ 데이터 작업을 확정하거나
  취소하는 명령어

한눈에 정리

DDL → 테이블 구조 관리 (만들기/수정/삭제)
DML → 데이터 관리 (조회/삽입/수정/삭제)
DCL → 권한 관리 (부여/취소)
TCL → 트랜잭션 관리 (확정/취소)

가장 많이 쓰는 건 DMLSELECT, INSERT, UPDATE, DELETE 입니다! 😊

댓글 남기기