주제
관계형데이터베이스 파이프라인을 구축하는 법에 대해 배웠다.
관계형 데이터베이스
- 엔티티에 대한 데이터를 테이블로 구성한다.
- 각 레코드, 행은 엔티티의 인스턴스이다.
- 각 컬럼은 속성에 대한 정보이다.
- 테이블은 고유 키를 통해 테이블들을 연결시킬 수 있다.
- 데이터의 퀄리티 조정과 더 많은 데이터를 처리하고 동시 사용자를 지원한다.
- 각 컬럼에 구체적은 데이터 타입을 적용한다.
- SQL을 사용해 데이터베이스와 상호작용한다.
데이터베이스 연결
- 데이터베이스를 연결하는 방법을 만든다.
- SQL 또는 Pandas로 쿼리한다.
이 작업을 위해 SQLAlchemy 라이브러리를 사용한다.
create_engine()
을 사용하면 데이터베이스 연결을 다룰 수 있다.
연결하기 위해서는 DB의 URL 주소가 필요하다.
URL은 데이터베이스마다 다른 패턴이다.
SQLite URL 형식은 sqlite:///filename.db
이다.
데이터베이스 쿼리하기
pd.read_sql(쿼리, 엔진)
을 사용해서 데이터베이스로부터 데이터를 읽을 수 있다.
- 인수
- 쿼리 : SQL 쿼리문이거나 테이블 이름을 넣으면 전체 테이블을 로드할 수 있다.
- 엔진 : 데이터베이스에 연결하는 엔진 객체이다.
SQL : SELECT 예제
SELECT 컬럼이름 FROM 테이블이름;
#전체 데이터를 가지고 온다면
SELECT * FROM 테이블이름;
데이터베이스로부터 데이터 가져오기
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine("sqlite:///data.db")
weather = pd.read_sql("weather", engine)
# 또는
weather = pd.read_sql("SELECT * FROM weather", engine)
data.db
데이터베이스에서 날씨 테이블 전체를 가져오는 작업을 실행한다.
Uploaded by Notion2Tistory v1.1.0