데이터베이스(DataBase, DB)는 데이터의 집합이다.
도서관에서는 책을 관리하고 부자들은 돈을 관리한다. 그럼 데이터베이스는?
➡️DBMS(DataBase Management System)는 대용량 데이터를 관리하고 운영하기 위한 소프트웨어다. 데이터 관리라고 하니 MS사의 엑셀을 떠올리는 사람이 많겠지만 엑셀은 DBMS라 말하지 않는다.
우리가 구글에 검색을 했는데 내 컴퓨터에 있던 정보가 아니면 접근이 안된다 생각해보면 엑셀이 왜 DBMS가 아닌지 확실히 알 수 있다. 이렇듯 DB는 여러 명의 사용자나 응용 프로그램과 공유하고 동시에 접근이 가능해야 하는데 이를 관리하기 위한 소프트웨어가 DBMS다.
문서 작업을 위한 소프트웨어가 엑셀, 한글, 노션 등등 종류가 많은 것 처럼 DBMS도 다양하다.
DBMS | 제작사 | 작동 운영체제 | 기타 |
---|---|---|---|
MySQL | Oracle | Unix, Linux, Windows, Mac | 오픈소스(무료), 상용 |
MariaDB | Mariadb | Unix, Linux, Windows | 오픈소스(무료), Mysql 초기 개발자들이 독립해 만듦 |
PostgreSQL | PostgreSQL | 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 | 모바일 전용, 오픈소스(무료) |
혼자 공부하는 SQL에서는 비교적 쉽고 실무에서도 자주 사용되는 MySQL을 사용할 것이다!
최근에는 대부분 관계형 DBMS를 사용하지만 다른 유형의 DBMS도 존재한다.
1. 계층형 DBMS
왜 안쓰나요? ➡️ 사진처럼 항상 참인 데이터가 아닌 매번 수정이 필요한 데이터의 경우 불편하기 때문 + 말에서 파리지옥으로 가려면 생물까지 거슬러 올라간 후 식물의 여러 분류에서 파리지옥까지 내려가야하는 지옥의 비효율 때문에 사용하지 않는다.
2. 망형 DBMS
왜 안쓰나요? ➡️ 계층형과 다르게 바로 말에서 파리지옥을 바로 찾아갈 수 있지만 이 데이터 모델을 쓰려면 모든 프로그래머가 이 데이터 모델의 구조를 이해해야 사용가능 해서 사용하지 않는다.
3. 관계형 DBMS (RDBMS)
관계형 데이터베이스 모델의 주요 이점은 직관적인 데이터 표현 방법을 제공하고 관련 데이터 포인트에 쉽게 액세스할 수 있다는 점입니다. 그래서 관계형 데이터베이스는 인벤토리 추적부터 트랜잭션 데이터 처리 및 애플리케이션 로깅에 이르기까지 대량의 구조화된 데이터를 관리해야 하는 조직에서 가장 많이 사용합니다.
왜 쓰나요? ➡️ 이해하기 쉽고 접근도 쉽고 찾기도 쉽고...
SQL(Structured Query Language)은 관계형 데이터베이스에서 사용되는 언어로, 데이터를 조작한다.
SQL은 특정 회사에서 만드는 것이 아닌 국제 표준화 기구에서 SQL에 대한 표준을 정해서 발표하고 이를 표준 SQL이라 한다.
하지만 SQL을 사용하는 DBMS를 만드는 회사가 위에 봤듯이 아주 많기 때문에 표준 SQL이 각 회사를 모두 포용하지 못한다. 그래도 표준 SQL을 배우면 대부분의 DBMS에 공통적으로 적용이 가능하다.
Windowx64 환경, MySQL 8.0.21 ver 다운로드 과정입니다.
MySQL에 접속해 Download 클릭
No, Thanks로 로그인 회피하기
다운로드한 파일 더블 클릭 후 Installer 실행 후 커스텀 클릭
Select Products and Features 에서 MySQL Servers - MySQL Server - MySQL Server 8.0 - MySQL Server 8.0.21 - X64 선택 후 초록 화살표 클릭
같은 방식으로 아래 사진과 같이 추가하고 Next 클릭
Installation에서 3가지 항목 확인 후 Execute 버튼 클릭해 설치를 진행
설치가 성공했는지 확인 후, Next 클릭
Product Configuration에 MySQL Server와 Sample and Examples를 확인하고 Next 클릭
High Availability 에서 기본값인 Standalne~ 선택
Type and Networking에서 Config Type을 Develpopent Computer, TCP/IP가 체크된 상태에서 Port번호가 3306임을 확인, 그 아래 Open Windows Firewall ports for network access 체크도 확인 후 next
Authentication Method는 파이썬과의 연동을 원활하게 하기 위해 Use Legacy Authentication Method 선택 (원래는 Strong Password를 많이 사용)
Accounts and Roles 에서는 MySQL Root 비밀번호를 설정, 각자 원하는 비밀번호 설정하면 되는데 기억하기 쉬운 비밀번호를 추천
Windows Service에서는 기본 설정 그대로 둔다.
Apply Configuration에서 Excecute 클릭 후 설정 확인하고 Finish를 누른다.
MySQL Server의 Status를 확인하고 Next를 눌러 Samples and Examples의 설정을 시작한다.
Connect To Server에서 설치한 MySQL Server가 뜨는지 확인하고 설정한 Root 비밀번호를 입력 후 check를 클릭해 status에 Connection secceeded.를 확인한다. 그 후 Next 클릭
Apply Configuration 에서 Execute 버튼 클릭 후 초록 체크가 표시되면 성공. 그 후 Finish 클릭해 설정을 종료한다.
흑흑..드디어 설정완료 Next 클릭
workbench 시작안한다리또 체크 후 Finish하면 드디어 MySQL 설치가 끝
이제 제대로 작동하는지 확인해보자 ! ! !
Workbench 자주 사용하니 작업표시줄에 고정하기
Workbench 실행 후 Local instance MySQL 클릭, 설정한 Root 비밀번호로 입력 후 MySQL 서버 접속
서버에 접속 후 우측 상단의 가장 오른쪽에 있는 SQL Addiction 패널을 클릭해 숨김
Show DATABASES 보고 끝~~