01-1. 데이터베이스 알아보기
- 우리 일상생활 대부분의 정보가 저장되고 관리됨
- 데이터: 카톡 메시지, 교통카드 사용 내역, 커피 가격 ...
"데이터베이스는 데이터의 집합이다"
🎨 DBMS
- Data Base Management System
- 그냥 소프트웨어라고 생각! ➡️ DB를 운영하고 관리하는 소프트웨어
- 엑셀도 데이터를 관리하는 것이지만, DBMS라고 부르지는 않는다
🧩 전제 조건
- 대용량
- Ex. 전국민이 1년동안 보내는 카톡 메시지들을 저장하고 관리할 수 있는 DBMS
- 엑셀은 이렇게 많은 데이터 저장 불가
- 공유
- 여러명이 동시에 접근 가능
- 엑셀은 내가 작업하고 있는 파일에 다른 사람이 접근해 동시에 작업 불가
Ex) 은행 예금
은행 DBMS에 예금 계좌 주인, 은행 담당 직원, 인터넷 뱅킹, ATM 기기가 모두 접근해 사용할 수 있다.
🧩 DBMS의 종류
- 문서 작성시에는 아래한글, 워드프로세스 / 표 계산시에는 엑셀 등을 사용하는 것 처럼
- 데이터를 사용하기 위해서는 소프트웨어가 필요하다!
✅ MySQL

- 제작사: Oracle
- 적용 운영체제: Unix, Linux, Windows, MAC
- 오픈소스(무료), 상용
- 라이선스가 애매해져서 무료로 사용 가능하지만 회사에서 사용하려면 유로로 유도하기도 함
- 이 때 Maria DB 사용
- 우리나라에서 많이 사용
✅ MariaDB

- 제작사: Maria DB
- 적용 운영체제: Unix, Linux, Windows
- 오픈 소스(무료), MySQL, 초기 개발자들이 독립해서 만듦
- MySQL과 핵심 개발자가 같음 (제작사가 다름)
- 실무에서도 완전 무료로 사용하고 싶을 때
- MySQL과 거의 비슷하게 사용되기 때문에 하나만 배워도 다른 하나를 (어느 정도)사용할 수 있다
- 우리나라에서 많이 사용
✅ Postage SQL

- 제작사: Postage SQL
- 적용 운영체제: Unix, Linux, Windows, MAC
- 오픈 소스(무료)
✅ Oracle

- 제작사: Oracle
- 적용 운영체제: Unix, Linux, Windows
- 상용 시장 점유율 1위
- 대용량 - 은행, 증권사 등에서 자주 사용
- 우리나라에서 많이 사용
✅ SQL Server

- 제작사: Microsoft
- 적용 운영체제: Windows
- 주로 중/대형급 시장에서 사용
- 우리나라에서 많이 사용
✅ DB2

- 제작사: IBM
- 적용 운영체제: Unix, Linux, Windows
- 메인 프레임 시장 점유율 1위
✅ Access

- 제작사: Microsoft
- 적용 운영체제: Windows
- PC용
✅ SQLite

- 제작사: SQLite
- 적용 운영체제: Android, iOS
- 모바일 전용, 오픈 소스(무료)
- 이보다 더 많이 있지만 이정도가 많이 쓰이는 것들
🧩 DBMS 발전 과정
✅ DBMS 이전에는...
- 종이에 펜으로 기록
- 컴퓨터가 없던 시절
- 컴퓨터의 등장
- 종이에 쓰던 것들을 컴퓨터에 옮김
- 메모장
- 엑셀의 등장
- Spread Sheet - 표 형식, 입력한 값을 자동으로 계산하는 등 편리한 기능 제공
- 하나의 작은 슈퍼마켓의 데이터를 다루는 건 가능했으나 대형 마트에서 여러 줄의 계산 줄에서 나오는 데이터 한 번에 다루기 어려움, 각각 따로 엑셀파일을 가져야하는데 교대 등의 상황에서 데이터가 손실될 우려
- 한 명이 작업하거나 작은 작업을 하기에는 편리하지만, 여러명/대용량 작업은 불편하다
✅ DBMS의 등장
- 대용량 관리 가능
- 동시 사용 가능
- 공유 가능
- DMBS의 개념 등장: 1973년, 에드거 프랭커드
- 데이터베이스를 잘 관리하고 운영하기 위한 SW
✅ SQL
- Structured Query Language
- DBMS에 데이터를 구축, 관리, 운용하기 위해 사용되는 언어
- 미국에서 사업하려면 영어를 알아야 하는 것 처럼!
🧩 DBMS의 종류
- 중요하진 않음
✅ 계층형(Hierarchical)
- 지금은 사용하지 않음
- 맨 마지막 계층이 서로 연결 X
✅ 망형(Network)
- 마지막 끼리도 연결 가능
- 두 개 연결 가능
- 거의 사용 X
✅ 관계형(Relational)
- 지금 우리가 사용하는 것
- RDBMS라고 씀
- 요즘엔 워낙 다 관계형이라 그냥 DBMS라고 해도 그냥 RDBMS라고 이해해도 됨
- 최소 단위: 테이블
- 열(세로, Column)과 행(가로, row)으로 이루어짐
✅ 객체 관계형(Object-Relational)
🎨 SQL
- DBMS에서 사용되는 언어 (조작하기 위한 언어)
🧩 표준 SQL
- DBMS를 만드는 회사가 여러군데인데 SQL이 다 다르면 힘들어
- 국제 표준화 기구에서 표준 SQL을 지정함
- 모든 DBMS가 표준 SQL을 지킨다
- 각각의 회사는 표준을 지키면서 거기에 자신들의 특징을 집어넣는 것
- 자동차에 비유하면 '엑셀은 오른쪽 브레이크는 왼쪽'이라 지정한 표준을 지켜야 하는 것 과 같음
이것이 지켜지지 않으면 큰 사고로 이어질 수 있음
하지만 에어컨 트는 버튼은 각 회사마다 다르게 만들 수 있음
제작사 | SQL |
ORACLE | PL/SQL |
SQL Server | T-SQL |
MySQL | SQL |
출처: https://youtu.be/6JFEJWLcKUc?si=oq0l77LFzJl2lAeN
'MySQL > 혼공SQL' 카테고리의 다른 글
[SQL 기초 강의] 6강. SQL 기본 문법(SELECT ~ FROM ~ WHERE) (0) | 2023.11.07 |
---|---|
[SQL 기초 강의] 5강. 데이터베이스 개체(인덱스, 뷰, 스토어드 프로시저) (1) | 2023.11.07 |
[SQL 기초 강의] 4강. 데이터베이스 만들기 (1) | 2023.11.03 |
[SQL 기초 강의] 3강. 데이터베이스 모델링 (1) | 2023.10.31 |
[SQL 기초 강의] 2강. MySQL 설치 방법과 정상 작동 확인하기 (1) | 2023.10.31 |