SQLD 공부 - DB 환경세팅

SQLD - Week 3 - 환경세팅

주피터노트북 + 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 데이터베이스를 사용하는 경우,

  1. Docker, colima 설치 완료한 이후 터미널에서 아래 순서대로 진행 (참고: 위 블로그에서 colima 설치까지!)

  2. oracle 11g 버전 찾아서, pull

  • jaspeen/oracle-xe-11g 버전으로 골라야 한다

    docker search oracle-xe-11g
    
    docker pull jaspeen/oracle-xe-11g
    

    Screenshot 2024-05-13 at 22 14 22
    Screenshot 2024-05-13 at 22 14 55

  1. 도커 컨테이너 생성
  • 명령어가 길어서 보기 편하도록 \로 구분했지만 한 줄에 이어서 써도 상관없다
    docker run \
     --restart unless-stopped \
     --name oracle \
     -e ORACLE_PASSWORD=oracle \
     -p 1521:1521 \
     -d \
     jaspeen/oracle-xe-11g
    

    Screenshot 2024-05-13 at 22 15 11

  1. 컨테이너 로그 확인
  • 명령어로 해당 컨테이너가 잘 생성되었는지 확인을 먼저 해보고
    docker ps -a
    

    Screenshot 2024-05-13 at 22 15 21

  • 해당 컨테이너 로그 확인
    docker logs -f oracle
    

    Screenshot 2024-05-13 at 22 16 05

    • 위 이미지대로 뜬다면 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을 열어서 테스트해보면 잘 실행이 된다🥳 Screenshot 2024-05-13 at 23 28 38