brunch

You can make anything
by writing

C.S.Lewis

by 빅데이터스터디 Oct 22. 2021

누구나 바로 이해할 수 있는 데이터베이스 기초지식

[학습 계획] 십 주 안에 영부터 데이터 분석 입문까지 에서 3주 차 데이터베이스와 SQL를 공부하겠습니다. 이번에는 데이터베이스의 구조 및 인기 있는 오픈 소스 DBMS 제품 MySQL를 사용하는 방법을 소개하겠습니다.

제가 1주 차 데이터 분석의 마인드와 2주 차 Excel에 대해 설명한 이유는 다음과 같습니다.


첫째, 온라인에서도 책에서도 Excel 관한 내용이 많습니다. 공부하면 점점 익힐 수 있습니다. 또한 데이터 분석의 마인드를 갖고 싶으면 실제로 데이터를 분석하면서 기본 개념을 알고 활용해야 됩니다. 그런데 데이터베이스와 SQL은 대량 데이터의 처리 및 자동화 등 Excel에서 해결할 수 없는 문제를 쉽게 풀릴 뿐만 아니라 다른 데이터 분석 도구 간의 다리 역할도 할 수 있습니다. 그래서 제가  2 부분으로 나누고 데이터베이스와 SQL에 대해 자세히 설명하고 싶습니다. 이번에는 먼저 데이터베이스에 대해 설명하겠습니다. 다음에는 SQL에 대해 설명하겠습니다.


1. 데이터베이스란 무엇입니까?

데이터베이스 (DB, Database)는 많은 데이터를 저장할 수 있는 곳, 즉 데이터 집합입니다. 이 데이터 집합에서 데이터를 추출하거나 편집할 수 있습니다. Excel과 다른 것은 방대한 데이터를 순식간에 자동으로 정리해주고 수동으로 관리할 필요가 없고, 그리고 데이터가 모두에게 공유할 수 있고 따로 편집할 수 있습니다. 업데이트 누출을 피할 수도 있습니다.

현재 컴퓨터에서 데이터베이스 관리 시스템 (DBMS : Database Management System)과 그 시스템에서 취급하는 데이터 집합을 "데이터베이스"라고 부르는 경우가 많습니다.


다음 현재 주류를 이루고 있는 "관계형 데이터베이스"에 대해 설명합니다.


관계 데이터베이스는 한 장 또는 여러 장의 테이블을 포함하여 각 테이블에 행과 열이 있고, 각 행에 유일한 ID가 있습니다. 그것은 Excel과 비슷하지만, 데이터베이스의 테이블 사이에 관계가 존재하고 있습니다. 따라서, '데이터베이스 = 여러 테이블 + 테이블 간의 관계'라는 등식입니다.


앞선 내용을 보면 관계형 데이터베이스의 구축에는 두 가지 방면에서 생각해야 합니다.


1.1 테이블의 구조

각 테이블에 이름이 있고 열에 각각의 항목에도 이름이 있습니다. 행에 데이터를 기록합니다. 예를 들어, 아래의 "학생 번호"라는 테이블입니다.


앞선 테이블에 '학번"은 식별자 설정됩니다. 학생의 이름은 같은 경우가 있을지도 모르지만 ID 번호가 다르므로, 한 학생을 특정할 수 있습니다. 이러한 필드가 테이블의 기본 키라 고합니다.


1.2 테이블 간의 관계

관계형 데이터베이스는 테이블의 집합으로, 동일한 데이터베이스의 여러 테이블이 서로 연관되어 있습니다. 아래 이미지는 '학번'과 '학과'테이블입니다.


'학번'과 '학과'는 '학번'으로 연결됩니다. 해당 데이터베이스에서 작업은  join입니다. 이와 같이 2 개의 테이블을 결합하여, 예를 들어 학생 "박지원" 어느 학과에 소속되어 있는지 확인할 수 있습니다.



2. 관계형 데이터베이스 관리 시스템 MySQL

2.1 MySQL의 특징 

(1) MySQL은 오픈 소스 (OSS) RDBMS에서 상업적 사용의 경우 라이선스를 구입해야 합니다.

(2) C 언어, Java R, Python, PHP, Ruby 등 다양한 언어로 개발 가능 (ODBC, JDBC 모두 지원)

(3) 표준 SQL 언어를 사용하고 있습니다.


2.2 MySQL 설치

다운로드 :https://dev.mysql.com/downloads/windows/installer/8.0.html


두 번째를 다운로드합니다.


더블 

클릭하여 설치를 시작합니다.


승인하고 "다음"을 클릭합니다.


첫 번째를 선택합니다. 'Next'를 클릭합니다.


다음의 화면이 나올 때까지 "Next"를 클릭합니다. "Execute"를 클릭합니다.


데이터베이스의 root 암호를 입력합니다. 이것을 잘 기억하십시오.


"Add User"를 클릭하여 사용자 이름과 암호를 입력합니다.

 "Next"또는 "Execute"를 클릭합니다. 다음 화면에서 아까 설정한 root 암호를 입력합니다.

"Finish"가 나올 때까지 "Next"또는 "Execute"를 클릭합니다. "Finish"가 나오면, MySQL 설치가 완료됩니다.

"Wordbench"를 시작합니다. local을 선택하고 root 암호를 입력합니다.

MySQL 내장된 데이터베이스가 있습니다. 다음 화면에서 SQL 문에서 데이터를 추출할 수 있습니다.


3. 데이터 분석 도구와 MySQL 데이터베이스 연결

데이터베이스는 데이터를 저장하는 집합이라서 SQL로 데이터의 추출 및 집계 등의 간단한 조작을 달성할 수 있습니다. 하지만 다각적인 분석과 고급 분석에는 역시 데이터 분석 도구로 데이터베이스에 연결하여 드릴 다운 / 드릴 업 / 드릴 스루 등을 실시합니다. FineReport에서 MySQL 데이터베이스에 연결하는 방법을 설명했습니다.    


 FineReport 는 거의 모든 데이터베이스에 연결할 수 있고 여러 데이터 소스를 하나의 템플릿과 연관됩니다. 한번 연결하면 언제라도 부담 없이 데이터를 꺼낼 수 있습니다. 절차는 다음과 같습니다.


JDBC 데이터 연결을 만듭니다.


데이터베이스 유형에서 MySQL을 선택합니다. 아래같이 FineReport가 SQL Server, Oracle Access 또는 Postgre 등의 주류 데이터베이스에 연결할 수 있습니다.

드라이버가 데이터베이스 유형에 따라 자동으로 표시됩니다. URL, 사용자 ID 및 암호를 입력하고 "연결 테스트"를 클릭합니다. "연결 성공"이 표시되면 데이터베이스와의 연결이 완료됩니다.

다음에 데이터 쿼리 창에서 MySQL 데이터베이스의 데이터를 추출할 수 있습니다. 정말 간단하죠? 데이터를 준비하게 되면, 장표 또는 대시보드 만들기를 시작합시다 ~

여기 FineReport 를 다운로드할 수 있습니다.


이번 주의 공유 내용은 여기에서 마치도록 하겠습니다. 

다음 주 통계학에 관한 내용을 업데이트하겠습니다! 또 만나요!~

데이터 분석에 관심이 있으시면 페이스북에서 우리 팔로우해주세요~ @bigdatastudy


FineReport는 상용 리포팅 대시보드 툴로 리포트/대시보드 디자인, Import, 데이터 입력 및 모바일 BI 등 풍부한 리포팅 기능을 가지고 있으며, 영업, 인사, Iot와 같은 업무별 보고서 템플릿을 준비할 수 있습니다. 가발자들은 단시간에 실용성 높은 업무 리포트를 작성할 수 있습니다.


현재 파인리포트(FineReport)는 기간과 기능의 제한이 없는 개인 사용자용 라이선스를 공식 홈페이지에서 무료로 배포하고 있습니다. 기업용으로는 사용이 불가능하며, 두 명의 사용자를 초과할 경우, 필요한 기능에 대한 비용을 지불해야 합니다.


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari