[A project ] study(10) DBMS(데이터베이스 관리 시스템)을 알아보자!

dev kyu·2025년 2월 13일

project

목록 보기
12/15

DBMS(데이터베이스 관리 시스템)

대표적인 DBMS 6개를 쉽고 빠르게 알아보자!

1️⃣ MySQL (마이SQL)

✔️ 가장 많이 쓰이는 무료 데이터베이스
✔️ 속도가 빠르고, 웹사이트, 앱에서 많이 사용됨
✔️ 유명한 사용처: 네이버, 카카오, 유튜브, 페이스북 일부

📌 예시:
네이버에 가입하면 내 정보(이름, 이메일, 비밀번호 등)를 저장할 곳이 필요해.
👉 이런 사용자 정보를 저장하는 데 MySQL이 사용될 수 있어!

2️⃣ MariaDB (마리아DB)

✔️ MySQL과 거의 똑같지만, 더 자유롭게 쓸 수 있음
✔️ MySQL이 오라클(Oracle)에 인수된 후, 오픈소스로 만든 DB
✔️ 기업에서도 많이 사용함

📌 예시:
카카오톡 같은 서비스가 있고, MySQL을 쓰던 회사가 비용 부담 없이 더 자유롭게 운영하고 싶다면?
👉 MariaDB로 바꾸면 됨! 기능이 거의 동일해.

3️⃣ PostgreSQL (포스트그레SQL)

✔️ 데이터를 정밀하게 관리해야 할 때 사용
✔️ 데이터를 안전하게 보호하는 기능이 뛰어남
✔️ 은행, 금융, 연구소에서 많이 사용
✔️ 무료인데도 강력한 기능 제공

📌 예시:
은행에서 고객의 계좌 잔액을 정확하게 관리해야 해.
👉 PostgreSQL은 실수 없이 데이터를 저장하고 보호하는 데 강점이 있어!

4️⃣ Microsoft SQL Server (MS SQL)

✔️ 마이크로소프트(Microsoft)에서 만든 DB
✔️ 윈도우 환경에서 최적화되어 있음
✔️ 기업에서 많이 사용하며, 보안이 강력함

📌 예시:
회사 내부에서 직원 정보, 매출 데이터를 관리하려면?
👉 MS SQL이 많이 사용됨. 특히 MS Office(엑셀, 워드)와도 연동이 쉬움!

5️⃣ MongoDB (몽고DB)

✔️ 엑셀처럼 칸(표)으로 데이터를 저장하지 않고, JSON 형태로 저장
✔️ 빠르게 변경할 수 있는 데이터에 적합
✔️ SNS, 쇼핑몰, 게임 데이터에 많이 사용됨

📌 예시:
인스타그램 같은 SNS에서 게시글, 댓글, 좋아요 수가 계속 바뀌지?
👉 이런 데이터를 MongoDB가 빠르게 저장하고 관리할 수 있어.

6️⃣ SQLite (에스큐라이트)

✔️ 가장 가벼운 DB, 설치 없이 파일 하나로 동작
✔️ 스마트폰, 작은 앱, 소규모 프로젝트에서 사용됨
✔️ 네트워크 연결 없이 단독으로 동작

📌 예시:
휴대폰 앱에서 메모 앱 같은 간단한 기능을 만들 때, 서버가 없어도 저장이 필요할 때!
👉 SQLite는 별도 서버 없이 파일 하나로 DB를 쓸 수 있음.


🚀 진짜 쉬운 설명

🗂 엑셀처럼 칸으로 정리할 거면? → MySQL, PostgreSQL, MS SQL
📄 자유롭게 저장하고 싶다면? → MongoDB
📱 작은 앱에서 쓴다면? → SQLite

  • 웹사이트, 앱 → MySQL, MariaDB
  • 기업용 데이터, 금융 서비스 → PostgreSQL, MS SQL
  • SNS, 쇼핑몰, 게임 → MongoDB
  • 모바일 앱, 간단한 데이터 저장 → SQLite

데이터베이스 한눈에 비교!

DB 종류특징대표 사용처
MySQL빠르고 많이 사용됨웹사이트, 앱 (네이버, 유튜브)
MariaDBMySQL 대체, 무료오픈소스 기반 서비스
PostgreSQL정밀하고 안전은행, 금융, 연구소
MS SQL Server기업용, MS 제품과 호환기업 내부 시스템
MongoDB유연하고 빠름SNS, 쇼핑몰, 게임
SQLite가벼움, 파일 하나로 동작모바일 앱, 간단한 프로젝트

✏️ 더 알아가기

1️⃣ DBMS가 필요한 이유는?

✅ 데이터 정리 & 관리 → 파일로 저장하면 관리하기 어려움
✅ 빠른 검색 & 수정 → 필요한 정보를 빠르게 찾고, 수정 가능
✅ 동시 접속 & 보안 → 여러 사람이 동시에 사용할 수 있고, 보안 설정 가능
✅ 데이터 무결성 보장 → 잘못된 데이터가 들어가는 걸 방지

예를 들어,
📌 웹사이트 회원 정보를 파일에 저장하면? → 파일이 커지고, 검색이 느려짐
📌 DBMS를 사용하면? → 데이터가 체계적으로 정리되고, 빠르게 찾을 수 있음!

2️⃣ DBMS의 기본 개념

DBMS를 이해하려면, 데이터가 어떻게 저장되는지 먼저 알아야 해.

📌 1. 데이터베이스 (Database)
✔️ 여러 개의 테이블(표)로 구성된 데이터 저장 공간
✔️ 하나의 웹사이트(서비스)는 하나의 데이터베이스를 가짐

💡 예시:

KINS_DB (KiNS 서비스의 데이터베이스)
E_COMMERCE_DB (쇼핑몰 데이터베이스)

📌 2. 테이블 (Table)

✔️ 데이터가 저장되는 표 형태의 구조
✔️ 행(Row) = 데이터 한 줄, 열(Column) = 속성(이름, 나이, 이메일 등)

💡 예시: 회원 테이블(User Table)

ID이름나이이메일
1홍길동30hong@example.com
2김영희25kim@example.com

📌 3. SQL (Structured Query Language)

✔️ 데이터베이스와 소통하는 언어
✔️ 데이터를 추가, 수정, 삭제, 조회하는 데 사용됨

💡 예시

-- 회원 테이블에서 모든 데이터 조회
SELECT * FROM users;

-- 회원 추가
INSERT INTO users (이름, 나이, 이메일) VALUES ('박철수', 28, 'park@example.com');

-- 회원 정보 수정
UPDATE users SET 나이 = 29 WHERE ID = 1;

-- 회원 삭제
DELETE FROM users WHERE ID = 2;

3️⃣ DBMS의 주요 기능

기능설명
데이터 저장데이터를 테이블에 저장하고 구조적으로 관리
데이터 조회필요한 데이터를 빠르게 찾고 검색
데이터 수정기존 데이터를 업데이트
데이터 삭제불필요한 데이터를 제거
보안 & 권한 관리사용자별 데이터 접근 권한 설정
트랜잭션 관리데이터가 정확하고 안정적으로 저장되도록 보장

💡 트랜잭션(Transaction)이란?
✅ 데이터의 일관성을 유지하기 위해 작업 단위를 묶어서 처리하는 것
✅ 중간에 오류가 나면 모두 취소(ROLLBACK) 되거나,
✅ 성공하면 완전히 저장(COMMIT) 됨.

예시: 은행 송금

A의 계좌에서 100만 원을 출금
B의 계좌에 100만 원을 입금
✔️ 둘 다 성공해야 완료! (트랜잭션이 보장됨)
✔️ 하나라도 실패하면? 다시 원상복구(Rollback)

🚀 진짜 쉬운 설명

🔹 RDBMS(MySQL, PostgreSQL 등) = 엑셀
➡️ 칸(테이블) 안에 데이터를 정리해서 저장
➡️ 모든 데이터가 체계적이고 명확한 관계를 가짐

🔹 NoSQL(MongoDB, Redis 등) = 포스트잇
➡️ 자유롭게 데이터를 붙이고 수정 가능
➡️ 빠르게 저장하고 변경해야 할 때 유용

데이터베이스는 우리가 사용하는 모든 웹 서비스의 핵심이야!
🚀 DBMS를 이해하면, 데이터를 더 효율적으로 다룰 수 있어! 💡

profile
dev kyu

0개의 댓글