MySQL/혼공SQL

[SQL 기초 강의] 1강. 데이터베이스 알아보기

묘걍 2023. 10. 30. 21:30

01-1. 데이터베이스 알아보기

- 우리 일상생활 대부분의 정보가 저장되고 관리됨

     - 데이터: 카톡 메시지, 교통카드 사용 내역, 커피 가격 ...

"데이터베이스는 데이터의 집합이다"

 

🎨 DBMS

- Data Base Management System

- 그냥 소프트웨어라고 생각! ➡️ DB를 운영하고 관리하는 소프트웨어

- 엑셀도 데이터를 관리하는 것이지만, DBMS라고 부르지는 않는다

 

🧩 전제 조건

  1. 대용량
    • Ex. 전국민이 1년동안 보내는 카톡 메시지들을 저장하고 관리할 수 있는 DBMS
    • 엑셀은 이렇게 많은 데이터 저장 불가
  2. 공유
    • 여러명이 동시에 접근 가능
    • 엑셀은 내가 작업하고 있는 파일에 다른 사람이 접근해 동시에 작업 불가

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