본문 바로가기
커리어 노트 📈/KPMG 교육

Project 기획 및 관리 (1) MySQL

by Hayley S 2024. 11. 15.

csv파일을 엑셀로 열어서 열과 행으로 나눠주고, 질의어를 생각한다. 예를 들면 "진행중인 프로젝트 리스트만 주세요, 예산 500만원이상 프로젝트건 주세요, 진행중이거나 완료된 데이터 건수 확인해주세요"와 같은 질의어들이 있다. 회의 끝나고 어떤 정보가 필요한지 메일이나 메시지로 확인해야한다. 딴소리 하지 않게.

SQL 외우려고 하지않고, Grouping 한다고 생각해라.
Select count(*)
from 프로젝트 db
group by 상태

이 언어들은 SQL에서 정의어, 조작어, 제어어가 있다. 우리가 하는 것은 조작어이다. 데이터베이스를 구축하거나 수정하는 것이 아니다. 데이터 아키텍처라는 파트가 있다. 여기는 진짜 잘하는 사람이 하는거다. 건물의 뼈대를 만들고, 강의장을 몇개로 할 것이며, 휴게실은 어디에 있을 것이며, 인원 수가 몇명일 것이며 설계하는 사람이 데이터 정의어를 다루는 사람이다. 한번 잘못 설계하면 다시 설계하기 어렵다. 시작일 종료일을 물어보고, 어떤 게 필요한지 다 물어보고 설계한다. 우리가 배우는 언어는 정의어와 제어어는 우리의 업무가 아니다. 누군가가 만들어 놓은 데이터셋에서 꺼내는 역할만 하면 된다.

데이터베이스가 쉬운 이유는 Select, from, where, group by, having, order by가 대부분의 명령어이다. 여기서 함수가 조금 더해진다. 서버에서 자료를 빠르게 가져올 수 있는 질의언어가 SQL이다.

1) where 상태 = “진행중”
2) where 상태 like “진행중”

→ 첫번째가 속도가 훨씬 더 빠르다. 빠르게 하는 것이 튜닝이다. 빠르게 하는 방법을 찾는 것이 중요하다. 좋은 프로그래머는 어떠한 시스템에서도 사용할 수 있어야하고, 빠르게 나오게 만드는 것이다. 빠르게 나오게 하는 과정이 튜닝이라는 것이다. 우리의 업무는 튜닝이 아니기 때문에, 결과물이 빠르고 잘 나오게 하는 방법론에 대해 생각해야한다. 코딩시험에서는 코드가 최대한 간결하고, 소요시간도 중요하다. 프로그래머들은 하나의 정렬을 하거나 찾기 할때도 우리가 어떻게 하면 빠르게 찾을 수 있는지 많이 고민한다.

데이터베이스: 하드웨어 아니고 프로그램 이름이다. 구조적 질의 언어라는 SQL 언어로 사용되고 있다. Oracle사의 Oracle은 시청, 구청에서 쓰는 엄청 큰 데이터를 다루고, 현재 잘 갖추어져있다. 몇년전에는 mysql이 대세였었는데, 요즘의 문제는 데이터가 빅데이터.. 양이 아주 많아 졌다. mysql은 소용량데이터베이스이다보니 요즘은 안쓰인다. 어떤 DB를 써도 조작어는 다 비슷하다. 이렇게 만들어진 데이터셋들은 파이썬하고 연결을 한다. 코딩시험볼 때 mysql이다. 요즘 많이 쓰는 프로그램은 postgre, MongoDB, MariaDB(클라우드환경에서 많이 쓰임),Elasticsearch(벡터DB)이지만 우리는 조작어만 쓰니까 뭐든 큰 차이가 없다. 제어하는 파트가 조금 다를 뿐이다. 오픈소스가 대세이다. 국가에서 아예 제안서 받을 때 오픈소스 쓰라고 한다. 오픈소스는 대세다. 하지만 가장 큰 문제는 저렴하고 화면도 간단해서 잘 쓸수 있는 것처럼 보이지만, 누구나 쉽게 접근하지만 능숙한 사람이 없다는 것이다. 잘 다룰 수 있는 사람은 많지 않고, 그냥저냥 하는 사람들이 많다는 것이 현문제라고 한다. 사람들의 전문성이 떨어지고 있다.

채용공고에서 요즘 Data Engineer로 많이 올라오고 있다. SQL과 파이썬은 기본 베이스로 다 포함된다. SQLD 자격증도 고려할 수 있다.

 

위키독스

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

위키독스는 IT관련도서 오픈 사이트이다.

AI가 못하는 SQL에 대한 것도 배울 것이다.

더북(TheBook)

 

더북(TheBook)

더북(TheBook): (주)도서출판 길벗에서 제공하는 IT 도서 열람 서비스입니다.

thebook.io

길벗출판사에서 무료로 풀어놓은 것도 있고, 일정 부분만 무료다. IT관련 도서 읽을 수 있다. 알고리즘을 공부하는 것을 권장한다.


MySQL 설치 후 실습

  • ‘-’ 붙이면 실행안되고 주석 기능한다.
  • schema - 엑셀 파일 이름과 같다.
  • table - 엑셀 Sheet와 같다.

보통 Shell로도 연결해서 많이 사용한다.

Shell Script 라고 불린다. 스크립트 자체가 명령어를 타이핑해서 쓴다. 그래픽기반은 속도가 떨어질 수 있어서 커맨드기반으로 자주 쓴다. shell와 GUI(그래픽) 차이를 알면 좋다. 보통 데이터 내보내기할 때 저장하는 방법이 하나의 다른 예이다.


기획자여도 기술사가 있어야 한다. 경력이 높은 사람들이다.


평생 필요한 데이터 분석 - MySQL과 주식 데이터로 재밌게

https://wikidocs.net/book/6371

 

평생 필요한 데이터 분석 - MySQL과 주식 데이터로 재밌게

**평생 필요한 데이터 분석 - MySQL과 주식 데이터로 재밌게** - 실제 주식 데이터로 재밌게 배우는 SQL - SQL을 가장 흥미롭게 배울 수 있는 책 - 비개발…

wikidocs.net