ChatGPT가 데이터 분석가를 대체할 수 있을까요?ChatGPT로 복잡한 SQL 쿼리를 손쉽게 생성
Updated on
소개
SQL (구조적 쿼리 언어) 는 관계형 데이터베이스에서 데이터를 관리하고 조작하는 데 널리 사용되는 프로그래밍 언어입니다.기업과 조직은 데이터를 저장하고 검색하고 분석해야 합니다.그러나 SQL 쿼리를 작성하는 것은 시간이 많이 걸리고 오류가 발생하기 쉬운 작업이며, 특히 복잡한 쿼리나 대규모 데이터베이스의 경우 더욱 그렇습니다.
이 기사에서는 OpenAI에서 개발한 대규모 언어 모델인 ChatGPT가 효율적인 SQL 쿼리를 생성하는 데 어떤 기능을 제공하는지 살펴보겠습니다.ChatGPT가 어떻게 복잡한 쿼리를 신속하게 생성하고, 높은 정밀도로 데이터를 필터링하고, 기존 쿼리를 최적화할 수 있는지 보여 드리겠습니다.
샘플 데이터베이스 생성
명확히 말씀드리자면, 다음과 같은 샘플 데이터베이스를 예로 들어 보겠습니다.
표 1: 책
이 표에는 책, 저자, 출판사 및 ISBN을 포함하여 서점에 있는 모든 책에 대한 정보가 포함됩니다.
코드_블록_플레이스홀더_0
표 2: 고객 이 테이블에는 서점에 등록한 고객에 대한 이름, 이메일 주소, 전화번호 등의 정보가 저장됩니다.
코드_블록_플레이스홀더_1
표 3: 주문
이 테이블에는 주문한 고객, 주문한 책, 주문 날짜 및 주문 상태를 비롯하여 고객이 주문한 모든 주문에 대한 정보가 저장됩니다.
코드_블록_플레이스홀더_2
표 4: 인벤토리
이 테이블은 스토어에 있는 각 책의 현재 재고 수준을 추적합니다.
코드_블록_플레이스홀더_3
다음은 서점 데이터베이스를 시작하는 데 필요한 기본 테이블일 뿐입니다.특정 요구 사항에 따라 이러한 테이블에 테이블이나 열을 추가할 수 있습니다.
데이터 집계를 위한 ChatGPT 프롬프트
데이터베이스 작업에서 가장 일반적인 작업 중 하나는 데이터 집계입니다.이는 특정 조건을 기반으로 데이터를 요약하는 것을 말합니다.예를 들어, 특정 제품 범주의 총 판매액 또는 특정 부서의 직원 평균 급여를 계산합니다.집계 쿼리는 작성하기가 복잡할 수 있으며 작업자에게는 상당한 시간이 걸릴 수 있습니다.
그러나 ChatGPT는 이러한 쿼리를 빠르고 정확하게 생성할 수 있습니다.데이터의 구조와 원하는 출력을 이해하고 최소한의 노력으로 필요한 정보를 검색할 수 있는 효율적인 쿼리를 생성할 수 있습니다.이렇게 하면 오류 위험이 줄어들고 사용자의 시간이 절약됩니다.
다음은 ChatGPT에서 다음 프로모트를 사용하여 생성한 데이터 집계 쿼리의 예입니다.
지난 분기에 가장 많이 팔린 책 5권을 저자 및 총 판매 수익과 함께 찾아보세요.”
이 집계를 수행하려면 책, 주문 및 인벤토리 테이블을 결합하고, 책 및 저자별로 결과를 그룹화하고, 지난 분기 주문을 기준으로 필터링하고, 각 책의 총 판매 수익을 계산해야 합니다.마지막으로 수익을 기준으로 결과를 정렬하고 출력량을 상위 5권의 책으로 제한해야 합니다.
ChatGPT는 이 작업을 수행하기 위해 다음과 같은 SQL 코드를 생성합니다.
코드_블록_플레이스홀더_4
데이터 필터링
데이터베이스 작업의 또 다른 중요한 작업은데이터 필터링입니다.이는 특정 기준에 따라 데이터베이스에서 특정 데이터를 추출하는 것을 말합니다.예를 들어 특정 위치의 고객 또는 회사에서 5년 이상 근무한 모든 직원이 수행한 모든 거래를 추출합니다.쿼리 필터링은 작성하기도 복잡할 수 있으며 작업자의 경우 상당한 시간이 소요될 수 있습니다.
ChatGPT는 높은 정밀도와 리콜로 이러한 쿼리를 생성할 수 있습니다.데이터의 구조와 원하는 출력을 이해하고 가장 관련성이 높은 데이터를 검색할 수 있는 쿼리를 생성할 수 있습니다.그 결과 분석 및 의사 결정을 위한 더 정확한 데이터가 생성됩니다.다음은 이 ChatGpt 프롬프트를 사용하여 생성된 데이터 필터링 쿼리의 예입니다.
'펭귄 랜덤 하우스'에서 출판하고 현재 재고가 있는 모든 책을 저자 이름 오름차순으로 정렬하여 찾아보세요.”
이 필터링을 수행하려면 책과 인벤토리 테이블을 결합하고 'Penguin Random House'에서 발행한 책을 기준으로 필터링한 다음 현재 재고가 있는 책만 선택해야 합니다.마지막으로 작성자 이름을 기준으로 결과를 오름차순으로 정렬해야 합니다.
ChatGPT는 이 요구 사항을 충족하기 위해 다음과 같은 SQL 코드를 생성합니다.
코드_블록_플레이스홀더_5
쿼리 최적화
ChatGPT는 새 SQL 쿼리를 생성하는 것 외에도 기존 쿼리를 최적화하는 데 도움을 줄 수 있습니다.ChatGPT는 쿼리의 구조와 성능을 분석하여 쿼리를 더 빠르고 효율적으로 실행할 수 있는 개선 사항을 제안할 수 있습니다.예를 들어, ChatGPT는 데이터베이스 기능을 활용하기 위해 인덱스를 사용하거나 쿼리를 다시 작성하도록 제안할 수 있습니다.
쿼리를 최적화하는 것은 사람, 특히 크고 복잡한 데이터베이스의 경우 어려운 작업일 수 있습니다.ChatGPT는 이 작업을 단순화하고 데이터베이스의 성능을 개선하는 데 도움을 줄 수 있습니다.다음은 이 ChatGpt 프롬프트를 사용하여 생성된 쿼리 최적화의 예입니다.
작년에 도서에 가장 많이 지출한 상위 10개 고객을 총 지출액 및 주문당 평균 지출액과 함께 찾아보세요.”
이 쿼리를 최적화하려면 결과를 생성하기 위해 데이터베이스가 수행해야 하는 작업 수를 최소화해야 합니다.고려할 수 있는 몇 가지 최적화 기법은 다음과 같습니다.
1.인덱스 사용: 고객 및 주문 테이블의 관련 열에 인덱스를 추가하여 조인 및 필터링 작업의 속도를 높입니다.
2.조인 전 집계: 고객 및 주문 테이블을 조인한 다음 결과를 집계하는 대신 먼저 고객별로 주문 테이블을 집계한 다음 결과 테이블을 고객 테이블과 조인할 수 있습니다.
3.하위 쿼리 사용: 고객 및 주문 테이블을 직접 조인하는 대신 하위 쿼리를 사용하여 날짜 범위별로 주문 테이블을 필터링하고 각 고객의 총 지출 및 주문당 평균 지출을 계산할 수 있습니다.
다음은 ChatGPT에서 생성된 이러한 최적화를 구현하는 예제 SQL 쿼리입니다.
코드_블록_플레이스홀더_6
또 다른 자동 데이터 분석 옵션: RATH
효율적인 SQL 쿼리를 생성하는 ChatGPT의 기능 외에도 Tableau와 같은 데이터 분석 및 시각화 도구를 대체하는 오픈 소스 대안인 RATH (opens in a new tab) 도 있습니다.RATH는 증강 분석 엔진으로 탐색적 데이터 분석 (EDA) 워크플로를 자동화하여 데이터 분석을 한 단계 끌어올립니다.
[RATH는 광범위한 데이터 소스를 지원합니다](/rath/Connect-your-data #online -데이터베이스).RATH에 연결할 수 있는 몇 가지 주요 데이터베이스 솔루션은 다음과 같습니다. MySQL, ClickHouse, Amazon Athena, Amazon Redshift, Apache Spark SQL, Apache Doris, Apache Hive, Apache Impala, Apache Kylin, Oracle 및 PostgreSQL이 있습니다.
RATH (opens in a new tab) 는 오픈 소스입니다.RATH GitHub를 방문하여 차세대 [Auto-EDA](/rath/Explore-data/자동화된 데이터-인사이트) 도구를 경험해 보십시오.RATH 온라인 데모를 데이터 분석 플레이그라운드로 활용할 수도 있습니다!
강조 표시된 RATH 기능은 다음과 같습니다.
|기능|설명|미리보기| |: ---: |---|: ---: | | [AutoEDA](/rath/Explore-data/자동화된 데이터-인사이트) |패턴, 인사이트 및 인과 관계를 발견하기 위한 증강 분석 엔진.클릭 한 번으로 데이터 세트를 탐색하고 데이터를 시각화하는 완전 자동화된 방법입니다.| | | 데이터 시각화 | 효과 점수를 기반으로 다차원 데이터 시각화를 생성하십시오.| | | 데이터 랭글러 |데이터 및 데이터 변환의 요약을 생성하기 위한 자동화된 데이터 랭글러.| | | 데이터 탐색 부파일럿 |자동화된 데이터 탐색과 수동 탐색을 결합합니다.RATH는 데이터 과학 분야의 부조종사로 일하며 관심사를 파악하고 증강 분석 엔진을 사용하여 관련 권장 사항을 생성합니다.| | | 데이터 페인터 |추가 분석 기능을 사용하여 데이터에 직접 색상을 지정하여 탐색적 데이터 분석을 위한 직관적이고 강력한 대화형 도구입니다.| | |대시보드|멋진 대화형 데이터 대시보드를 구축하세요 (대시보드에 제안을 제공할 수 있는 자동화된 대시보드 디자이너 포함) .| | | [인과 분석](/rath/discover-인과 관계/인과 분석) |복잡한 관계 분석을 위한 인과 관계 발견 및 설명 제공.| |
결론
결론적으로 ChatGPT는 효율적인 SQL 쿼리를 생성하기 위한 강력한 도구입니다.데이터 집계, 필터링 및 최적화를 위한 복잡한 쿼리를 신속하게 생성하여 오류 위험을 줄이고 사용자의 시간을 절약할 수 있습니다.
효율적인 SQL 쿼리를 생성하는 ChatGPT의 기능 외에도 탐색적 데이터 분석 (EDA) 작업을 자동화하는 오픈 소스 도구인 RATH도 있습니다.flow는 자동화된 데이터 탐색, 시각화 및 반자동 탐색을 제공하여 데이터 분석을 보다 효율적이고 효과적으로 만듭니다.