#혼공학습단 #혼공 #혼자공부하는SQL #혼공S
본 글은 2023년 7월 3일 ~ 2023년 8월 20일까지 진행하는 혼공학습단에 참여하며 정리한 글입니다.
01-1 데이터베이스 알아보기
데이터베이스와 DBMS
•
데이터베이스(database, db) : “데이터의 집합”
•
DBMS (database management system) : 데이터베이스를 관리하고 운영하는 소프트웨어
◦
데이버데이스는 여러 명의 사용자나 응용프로그램과 공유하고 동시에 접근이 가능해야 한다.
•
DBMS의 종류
◦
MySQL, 오라클, SQL 서버, Maria DB 등
◦
DBMS | 제작사 | 작동 운영체제 | 최신 버전 | 비고 |
MySQL | Oracle | Unix, Linux, Windows, Mac | 8.0 | 오픈소스(무료), 상용 |
MariaDB | MariaDB | Unix, Linux, Windows | 10.6 | 오픈소스(무료), MySQL초기 개발자들이 독립해서 만듬 |
PostgreSQL | PostgreSQL | Unix, Linux, Windows, Mac | 12 | 오픈소스(무료) |
Oracle | Oracle | Unix, Linux, Windows | 18c | 상용 시장 점유율 1위 |
SQL Server | Microsoft | Windows | 2019 | 주로 중/대형급 시장에서 사용 |
DB2 | IBM | Unix, Linux, Windows | 11 | 메인프레임 시장 점유율 1위 |
Access | Microsoft | Windows | 2019 | PC용 |
SQLite | SQLite | Android, IOS | 3 | 모바일 전용, 오픈소스(무료) |
DBMS의 분류
DBMS의 유형에는 계층형(Hierarchical), 망형(Network), 관계형(Relational), 객체지향형(Object-Oriented), 객체관계형(Object-Relational) 등으로 분류된다. 여기서 가장 많이 사용되는 DBMS는 관계형 DBMS이며, 이 책에서 사용할 MySQL도 관계형 DBMS에 포함된다.
•
계층형 DBMS
◦
각 계층은 트리 형태를 갖음
◦
처음 구성을 완료한 후에 이를 변경하기가 상당히 까다로움
◦
한 노드에서 다른 노드로 찾아가는 것이 매우 비효율적 → 지금은 잘 사용하지 않는 DBMS
•
망형 DBMS
◦
계층형 DBMS의 문제점을 개선하기 위해 1970년대에 등장
◦
트리 형태에서 모든 하위 노드간에 연결이 가능한 구조
◦
다만, 망형 DBMS를 잘 활용하려면 프로그래머가 모든 구조를 이해해야만 가능 → 지금은 잘 사용하지 않는 DBMS
•
관계형 DBMS
◦
관계형 DBMS는 줄여서 RDBMS라 부름
◦
RDBMS는 최소단위인 테이블(table)로 구성
◦
이 테이블은 열(column)과 행(row)로 이루어짐
DBMS에서 사용되는 언어: SQL
•
표준 SQL : SQL은 특정 회사에서 만드는 것이 아니라 국제표준화기구에서 표준을 정해 발표함
•
SQL을 사용하는 DBMS를 만드는 회사가 여러 곳이기 때문에 각 SQL 회사는 이 표준 SQL을 준수하되, 각 제품의 특성을 반영한 SQL을 사용함
•
각 회사마다 변형된 SQL의 호칭
◦
오라클 : PL/SQL
◦
SQL 서버 : T-SQL
◦
MySQL : SQL
01-2 MySQL 설치하기
MySQL은 교육용이나 개인에게는 무료로 제공된다. (무료에디션) 단 영리를 목적으로 사용한다면 정해진 비용을 지불해야한다.(상용 에디션) 상용 에디션에는 Standard, Enterprise, Cluster CGE가 있다. 만약 상용 목적인데 무료로 사용하고 싶다면 MariaDB를 추천
Mac에 MySQL설치하기
책에는 Windows 기준으로 설치방법이 담겨 있어, 맥을 기준으로 설치하는 방법을 정리했다.
1.
Terminal 에서 다음 명령어 입력.
$ brew install mysql
Bash
복사
2.
설치 버전 확인
$ mysql -V
Bash
복사
3.
Mysql 시작
$ mysql.server start
# 중지 명령어
$ mysql.server stop
Bash
복사
4.
mysql workbench 설치
$ brew install --cask mysqlworkbench
Bash
복사