SQLD 공부 - DB 환경세팅
SQLD - Week 3 - 환경세팅
- 주피터노트북에서 PostgreSQL 패키지 psycopg2-binary를 활용해 SQL을 사용하도록 환경세팅
- Mac에서 Oracle DB 사용하도록 환경 세팅
- 참고자료 :
Blog - 함함ː, 사자, Shane’s planet, wheezy, 김상웅,
DBeaver Community
- 참고자료 :
- 책 <2023 유선배 SQL개발자(SQLD) 과외노트>로 기본 이론 단권화
- 챕터 3 정리
- 유튜브 <홍쌤의 데이터랩>, 강의자료 참고
- SQL문 실습 내용은 추후 포스팅 예정
주피터노트북 + PostgreSQL 연결
Using Magic Command
- 주피터노트북의 매직명령어를 사용해서 쉽게 postgresDB를 사용
- 판다스를 활용한 방식도 시도해보았지만, SQL문 작성 방식이 시험공부하기엔 적절하지 않은 것같아서 주피터노트북의 매직명령어를 사용하는 방법으로 최종 결정
- but, 실습에서 반복해서 나오는
DUAL
테이블을 사용할수 없음!- 사실 dual 테이블은 갑자기 어디에서 나왔는지, 책에 있는 예제 실습은 어떻게 해야할지 감이 없어서 한참을 헤맸다😇
Dual table?
The DUAL is special one row, one column table present by default in all Oracle databases. (w3resource)
- 간단하게 함수를 이용해서 계산 결과를 확인할때 사용하는 일종의 dummy table
- 오라클에서 제공하는 테이블이기때문에 사용이 어려움!
- Oracle DB를 추가 세팅해서 주피터노트북에서 사용이 안되는 쿼리문을 테스트해보기로 결정
MAC에서 Oracle DB 사용
Using Docker, Colima
- 블로그마다 유저세팅하고 테스트하는 DB가 HR DB였지만, 24년인 지금은 최신DB xe로 설치하게 되면 해당 DB는 포함이 안되있어서 User 세팅부분에서 에러가 발생
- 이것도 한참 헤맸지만 앞서 길을 걸어갔던 블로거분 덕분에 헤매는걸 멈출수 있었다 (자세한 포스팅을 올려주셔서 무한 감사를…)
- 그래도 여러 블로그를 반복해서 보고 테스트하다보니 오히려 docker 기본 사용법을 익히게 되었다 굿!
- HR DB를 사용할필요가 없다면 이 블로그-1를 추천! 그대로만 진행하면 세팅 완료! (만약 좀더 자세한 설명이 필요하다면: 블로그-2) (이 두 분께도 무한 감사를…)
👉 HR 데이터베이스를 사용하는 경우,
-
Docker, colima 설치 완료한 이후 터미널에서 아래 순서대로 진행 (참고: 위 블로그에서 colima 설치까지!)
-
oracle 11g 버전 찾아서, pull
-
jaspeen/oracle-xe-11g
버전으로 골라야 한다docker search oracle-xe-11g docker pull jaspeen/oracle-xe-11g
- 도커 컨테이너 생성
- 명령어가 길어서 보기 편하도록
\
로 구분했지만 한 줄에 이어서 써도 상관없다docker run \ --restart unless-stopped \ --name oracle \ -e ORACLE_PASSWORD=oracle \ -p 1521:1521 \ -d \ jaspeen/oracle-xe-11g
- 컨테이너 로그 확인
- 명령어로 해당 컨테이너가 잘 생성되었는지 확인을 먼저 해보고
docker ps -a
- 해당 컨테이너 로그 확인
docker logs -f oracle
- 위 이미지대로 뜬다면 Oracle DB 설치 완료
Using DBeaver
- RDBMS를 사용하기 위해 pgAdmin4 혹은 SQL Developer를 이용해도 되지만 DBeaver를 사용해보기로 결정!
- 특징
DBeaver Community is a free cross-platform database tool for developers, database administrators, analysts, and everyone working with data. It supports all popular SQL databases like MySQL, MariaDB, PostgreSQL, SQLite, Apache Family, and more.
- 여러가지 데이터베이스(Oracle, PostgreSQL, MySQL, A…)를 지원하는 통합 데이터베이스 툴
- 오픈소스
- 직관적인 인터페이스
- 크로스플랫폼 지원: Mac OS, Windows, Linux
👉 Oracle DB - DBeaver 연결
- 위의 가이드대로 연결했다면,
Host: localhost
Port: 1521
Database: xe
Username: system
Password: oracle - Test Connection 눌러서 연결 확인후 Finish!
- Query Console을 열어서 테스트해보면 잘 실행이 된다🥳