노센스와 함께하는 데이터 분석

데이터과학자, '현장에서 바로 써먹는' 시리즈 저자

(책) 현바데분 with R

(현바데분withR) PostgreSQL DB 연결용 iris 테이블 생성 방법

노센스 2022. 9. 5. 23:14

독자분께서 도움을 요청하셔서 이렇게 포스팅을 합니다.

"Chapter 9 참고할 만한 내용들"에서 "1 데이터베이스 연결 및 SQL 사용법" 실습을 하기 위해서는 PostgreSQL을 설치하고, 스키마(Schema)를 생성한 뒤에 테이블(Table)을 만들고, iris 데이터까지 밀어넣어야 합니다.

 

PostgreSQL 설치는 별도 포스팅을 할 예정이며 하기 사이트에서 본인의 OS 환경에 맞춰 최신버전을 다운로드 받아 install 하면 됩니다. 다만 주의할 점은 설치 시 비밀번호를 입력해야하는데 잊지않도록 해야합니다.

 

https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

 

Download PostgreSQL

PostgreSQL Database Download

www.enterprisedb.com

 

PostgreSQL DB가 설치가 되었다는 전제 하에 설명드리겠습니다.

 

저는 PostgreSQL 13버전을 설치했고, DB를 수정하기 위해 관리도구인 pgAdmin 4를 실행합니다. 해당 프로그램은 웹을 기반으로 실행됩니다.

 

실행하면 아래와 같이 비밀번호를 입력하는 창이 뜹니다. 여기에 설치 시 입력했던 비밀번호를 입력하면 됩니다.

 

올바르게 비밀번호를 입력했으면 아래와 같은 화면이 처음에 나옵니다. DB가 생소하다면 어려울 수 있지만 용기를 내서 보겠습니다. 좌측 상단에 Servers 옆 화살표(>)를 누르면 계층구조로 여러가지가 표시됩니다.

 

여기서는 Schemas에 datawithr을 추가해야합니다. (기본적으로 Schemas에는 public만 있지만 저는 따로 만든게 있어 datawithpy가 존재합니다.) Schemas위에 마우스 우클릭을 하면 "Create"가 나오고 "Schemas..."가 표시됩니다. 이걸 클릭하면 스키마를 추가할 수 있습니다.    

 

스키마(Schema)란 DB의 가장 기본적인 요소로 데이터들간의 논리적 구조 및 관계를 기술한 것인데 계정(ID)이라고 생각하면 이해가 어렵지 않습니다. 최종적으로 구현할 모습은 datawithr이라는 계정(스키마)에 iris 테이블을 만드는 것입니다. 아래와 같이 General 탭에서 Name을 datawithr로 만들고, Save 합니다.

 

그러면 이렇게 datawithr이라는 스키마가 생성되고, 여기에서 마우스 우클릭을 통해 Table을 추가하겠습니다. "Create" -> "Table..."을 클릭합니다.

 

테이블을 만드는 데는 다소 많은 정보가 필요합니다. 우선 Name(이름)을 iris로 하고, Columns 탭으로 넘어가겠습니다.

 

Columns 탭에서 iris 데이터 셋(csv)의 열이름을 입력하면 됩니다. iris 데이터 셋은 아래와 같으며 첨부파일을 이용하시기 바랍니다. 해당 파일은 c:\iris.csv 위치에 두고 따라하시면 됩니다. 

iris.csv
0.00MB

 

열이 총 5개이기 때문에 우측 상단에 위치한 플러스(+) 아이콘을 5번 클릭해서 5개의 열을 입력할 수 있는 공간을 추가합니다. 그리고 위에 첨부한 데이터 셋과 동일하게 Table의 Name을 입력합니다. 그리고 Data type을 지정하는데 sl, sw, pl, pw는 소수점이 존재하는 실수형태이기 때문에 "real"을 지정하고, species는 문자이기 때문에 "char"을 지정합니다. 그리고 저장(Save)합니다.

 

그러면 아래와 같이 datawithr 스키마 밑에 Table에 iris가 생깁니다. 이게 이 iris 테이블에 첨부한 iris 데이터 셋(csv) 파일을 Import 시키도록 하겠습니다. iris 테이블에서 마우스 우클릭을  통해 "Import/Export..."를 클릭합니다.

 

기본값이 "Export"인데 클릭을 통해 "Import"로 바꿔줍니다. 그리고 파일은 불러오기(우측의 ...)를 통해 iris.csv 파일을 선택합니다. 그리고 아래에 Header 부분은 "No"에서 "Yes"로 바꿔줍니다. 이는 iris.csv 파일의 첫 번째 행(row)이 컬럼명이기 때문입니다. 컬럼명과 Header는 동일한 의미입니다. 이제 OK를 눌러주면 데이터 셋의 파일이 iris 테이블로 들어갑니다.

 

정상적으로 import가 되었다면 아래의 그림 우측 하단처럼 Successfully completed. 메시지가 표시될 것입니다.

 

이제 데이터가 똑바로 들어왔는지 쿼리문을 실행시켜 확인해보도록 하겠습니다. Tools 메뉴에서 "Query Tool"을 클릭합니다. 

 

그러면 Query Editor 창이 나오면서 쿼리(Query)를 입력할 수 있습니다. "select * from datawithr.iris"라는 쿼리를 입력하고, 실행(F5)하면 아래와 같이 Data Output에 iris 테이블에 있는 데이터가 출력되는 것을 확인할 수 있습니다.

 

참고로 iris 테이블을 만들 때 Query Editor에서 아래 쿼리를 입력하고 실행(F5)해서 만들 수도 있습니다.

 

CREATE TABLE datawithr.iris
(
    sl real,
    sw real,
    pl real,
    pw real,
    species character(10) COLLATE pg_catalog."default"
)

TABLESPACE pg_default;

ALTER TABLE datawithr.iris
    OWNER to postgres;

 

현장에서 바로 써먹는 데이터 분석 with 파이썬의 경우도 동일하게 Chapter 9에 DB 연결 부분이 있으며 위에서 스키마 이름을 datawithr에서 datawithpy로만 변경해서 동일하게 iris 테이블을 생성하고, 데이터를 import 하면 됩니다.

 

도움이 되셨길 바랍니다. 감사합니다.