Postgre SQL로 시작하는 SQL과 Data Base
생각지 못했던 기회
2020 빅데이터 청년 캠퍼스를 수료하고 그대로 연이 끝나는 줄 알았지만 여러 가지 소식들과 정보들을 공유해줬었는데 이번에는 수료생들을 대상으로 한 건지 모르겠지만 나에게 패스트 캠퍼스의 강의 중 하나를 골라서 수강할 수 있는 기회를 줬고 필자는 SQL과 DB 강의를 수강하기로 했다.
이전에도 sql을 공부한 적은 있었지만 데이터들을 이용해서 제대로 하기보다 이론이나 손 코딩 위주로 공부했었고 sqld 시험을 벼락치기로 준비했다가 벌써 두 번이나 떨어져서 제대로 익히자는 마음으로 시작하게 됐다.
PostgreSQL은 뭐야?
이전에 배웠던 sql은 oracle sql이나 mysql이었는데 여기서 가르쳐주는 게 PostgreSQL(포스트그레에스큐엘)이라고해서 뭔지 궁금해서 좀 찾아봤다. 수업에서도 알려주기는 하지만 추가로 알아보니 여러 가지 특징이 있었는데 간단히 언급하고 넘어가려고 한다. 중요한 건 특징이라기보다 대세를 익히고 사용할 줄 알아야 되는 거니까.. 특징은 패스트 캠퍼스의 강의와 아래 링크에서 추렸다.
- 무료 소프트웨어
- multi-version concurrency control(MVCC) 완벽 지원
- C/C++, Java 등의 프로그래밍 언어 연동 완벽 지원
- 커뮤니티 활성화
- 9.2 버전에서 이루어진 네이티브 JSON 지원이다. 첫 버전은 그리 좋지 않았지만, 버전 9.4에서 JSONB가 오래된 데이터베이스에 상당한 마력을 부여했다.
- “NoSQL과 빅데이터에 대한 피로감”이 생기면서 개발자들이 갑자기 일부 핵심 워크로드용으로 사용하던 몽고 DB와 카산드라의 대안으로 이미 검증을 마친 포스트그레SQL을 선택
- 포스트그레SQL용 오픈소스 확장 기능인 시투스(Citus)가 등장하면서 포스트그레SQL은 여러 노드에 걸쳐 확장하기 쉽고 트랜잭션과 SQL 쿼리를 지능적으로 배포해 대규모 병렬 처리가 가능
- 포스트그레SQL은 언제나 데이터베이스의 기본을 잘 수행해 왔다. 바로 데이터를 저장하고 잃어버리지 않는 것
- 개발자의 관점에서 사용하기 즐겁다. 문서화는 뛰어나고 데이터 타입은 개발자가 작업하는 타입을 반영하며, 예상을 벗어나는 일이 별로 없다
PostgreSQL 설치 및 실행법 및 샘플 DB준비
www.postgresql.org/download/windows/에 들어간 후 Download the installer 클릭 - 자신의 운영체제에 맞게 찾은 후 Download - 설치 파일 실행(주로 다음만 눌러주면 되고 언어는 Korean-Korea, Superuser password의 경우 자신이 기억할 수 있는 비밀번호를 설정한다., 마지막에 Stack Builder 체크 박스는 해제한다.)
설치 후 검색을 이용해서 pgAdmin 4를 실행하면 인터넷 창이 하나 열리고 비밀번호를 입력하라는 창이 뜨는데 설치할 때 입력한 postgre Super user password를 입력해서 접속한다. - 왼쪽의 Servers -> PostgreSQL 13(뒤 숫자는 다를 수 있음) -> Databases -> postgres 마우스 오른쪽 클릭 -> Qeury Tool 클릭 후 sql 문을 입력해 볼 수 있음. 추후 이런 식으로 sql문을 입력하는 듯하다.
아래 링크를 통해서 다뤄볼 샘플 DB를 다운로드할 수 있다. zip 파일을 압축 푸는데 C://temp에 푸는 것을 추천한다.(. tar파일은 압축 풀지 말 것)
www.postgresqltutorial.com/wp-content/uploads/2019/05/dvdrental.zip
샘플 DB를 받았다면 다시 pgAdmin 4를 실행해서 왼쪽 메뉴에서 Server -> PostgreSQL 13 -> Databases 마우스 오른쪽 클릭 -> Create -> Database -> databases명을 입력(dvdrental로 하면 좋음 내용이 dvd에 관한 내용임) -> 왼쪽 Databases 리스트에서 생성한 dvdrental 마우스 오른쪽 클릭 -> restore -> filename 오른쪽 점 세 개 클릭 후 C://temp 경로로 들어가서. tar파일 선택(오른쪽 아래 Format : all file로 설정) 이 과정에서 error 하나 발생할 수 있는데 문제없음.
이제 다시 왼쪽 메뉴 dvdrental -> schema -> tables로 들어가면 샘플 DB가 보일 것 이제 dvdrental 마우스 오른쪽 클릭 -> Qeury Tool을 클릭해서 샘플 DB 조작 가능.
dbeaver 다운로드
아래 링크를 통해서 다운로드한다.
자신의 운영체제에 맞게 다운로드해주면 된다.
강의에서 sql 실습을 위해서 위의 pgAdmin 4 보다 dbeaver가 더 유용하다고 판단됐다고 한다. 배우는 입장에서 굳이 다른 프로그램을 사용할 이유는 없으니 따라 하기로 한다.
파일을 실행하고 드라이버를 다운로드한 후 왼쪽 상단에 플러그 플러스 버튼 클릭 -> Postgresql 클릭(코끼리 모양) 후 아래 사진처럼 세팅 후 마지막에 완료 버튼을 누르면 로드된다.
모두 잘 진행됐다면 아래 사진처럼 들어가면 Tables이 잘 만들어진 걸 볼 수 있다.
sql 입력창은 제일 위의 dvdrental - localhost:5432 부분 마우스 오른쪽 클릭 후 sql 편집기 클릭하면 된다. 예로 간단히 actor 리스트를 전부 뽑는 sql문을 실행해봤다. 여기서는 pgAdmin 4와 다르게 sql문 실행을 위해서 Ctrl + Enter를 입력한다.
아래 표에서 어느 셀이든 클릭에서 마우스 오른쪽 클릭 -> 추출 -> csv 파일로 추출을 진행하면 엑셀 파일 생성이 가능하다. 필자의 경우 파일 추출 후 구글 스프레드 시트를 이용해서 실행해봤다. 잘 추출된 걸 볼 수 있다.
테이블 간의 관계 파악
왼쪽 메뉴에서 dvdrental -> Schemas -> public 마우스 오른쪽 클릭 -> 다이어그램 보기 클릭을 통해 테이블 간의 관계를 아래 사진처럼 한눈에 볼 수 있다.
데이터 수정
각 테이블 마우스 오른쪽 클릭 -> 데이터 수정 -> 셀 클릭하고 데이터 수정을 통해 데이터를 마음대로 쉽게 조작할 수 있다.
앞으로 계획
강의 중간중간에 있는 실전 문제 위주로 해결해가면서 포스팅해볼 생각이다. 중간중간 모르는 내용의 경우 강의 외적 소스에서 얻은 게 있다면 추가하겠지만 강의 내용을 그대로 가져오는 것은 안될 것 같으니 패스
이번에 제대로 공부해서 sql 졸업하고 싶다.
참고 링크
www.fastcampus.co.kr/data_online_sqldb
댓글