Text to SQL(TTS)이란?
사용자의 자연어 질의를 SQL Query문으로 변환해주는 기능입니다.
사용 방법
1.
상단 메뉴바에서 SQL ▾ → SQL Lab을 클릭합니다.
2.
좌측 메뉴에서 조회하고자하는 데이터베이스와 스키마를 선택합니다.
3.
우측의 질문 입력칸에 질문 입력 후 생성하기 버튼을 클릭합니다.
4.
화면에 쿼리가 생성되면 실행하기 버튼을 클릭하여 결과를 확인합니다.
5.
쿼리 생성 이유와 생성된 쿼리가 실행 가능한지 확인합니다.
결과 활용 방법
1.
결과 창 상단의 버튼을 클릭하여 결과 데이터로 차트 생성하기, CSV 형식으로 다운로드, 클립보드에 복사하기가 가능합니다.
a.
차트 생성하기 : 차트를 저장하면 해당 쿼리로 구성된 가상 테이블도 함께 저장됩니다.
b.
CSV 형식으로 다운로드: 쿼리 생성 결과에 해당하는 데이터를 CSV 형식으로 다운로드합니다.
c.
클립보드에 복사하기: 쿼리 생성 결과에 해당하는 데이터를 시스템의 클립보드에 복사합니다.
2.
해당 쿼리로 ABI에 쿼리 또는 가상 테이블로 저장하려면, 저장하기 또는 우측 화살표 버튼을 클릭하세요.
a.
저장하기 : 작성된 쿼리가 ABI에 저장됩니다. 저장된 쿼리는 상단 메뉴바의 SQL - 저장된 쿼리에서 확인할 수 있습니다.
b.
데이터셋 저장하기 : 작성된 쿼리로 구성된 가상 테이블이 ABI에 저장됩니다. 저장된 테이블은 상단 메뉴바의 데이터셋에서 확인할 수 있습니다.
3.
해당 데이터셋을 DB에 물리적 테이블 또는 뷰로 저장하려면, 실행하기 우측 화살표 버튼을 클릭하세요.
a.
테이블 생성하기 : 쿼리 결과가 입력한 이름의 물리적 테이블로 DB에 저장됩니다. 저장된 테이블은 상단 메뉴바의 데이터셋에서 확인할 수 있습니다.
b.
뷰 생성하기 : 쿼리 결과가 입력한 이름의 뷰로 DB에 저장됩니다.
c.
저장되는 경로는 SQL 에디터에 선택된 스키마 또는 데이터베이스에 기본 설정되어있는 스키마에 저장됩니다.
생성된 테이블과 뷰를 저장하는 스키마 지정하는 화면 (설정 - 데이터베이스 연결 - 수정하기 - 고급설정 - SQL Lab - CTAS & CVAS SCHEMA)
주의 사항
1.
메타 테이블의 필요성 관리자 기능
•
TTS는 GPT-4 기반 LLM(대형 언어 모델)을 사용하기 때문에, 데이터의 내용, 구조, 비즈니스 로직에 대한 상세 정보를 스스로 파악할 수 없습니다.
•
따라서 TTS 기능을 정확하게 사용하기 위해서는 관리자가 메타 테이블을 통해 LLM에게 비즈니스 정보 및 데이터 구조를 알려줘야 합니다.
•
메타 테이블이란?
◦
메타 테이블은 데이터베이스 내의 비즈니스 정보와 코드로 구성된 컬럼의 내용, 그리고 데이터 구조에 대한 정보를 담고 있는 테이블입니다.
◦
업무에 사용되는 코드 데이터와 비즈니스 로직의 상세 정보를 입력해야 합니다.
◦
또한, 테이블 간 연계(join) 정보나 중복값 처리 로직 등 데이터베이스 스키마에 등록되지 않은 구조에 대한 추가 정보도 포함되어야 합니다.
◦
메타 테이블에 등록된 테이블만 TTS로 사용 가능합니다.
•
TTS 메타 테이블 입력 예시
컬럼 이름 | 설명 | 예시 |
db_name | 메타 정보를 저장할 데이터베이스 이름을 입력한다(대소문자 구분). | postgresql |
schema_name | 메타 정보를 저장할 스키마 이름(위의 db_name에 입력한 데이터베이스에서 사용할 스키마 이름)을 입력한다(소문자 입력). | adventureworks |
table_name | 테이블 이름을 입력한다(소문자로 입력). | adventureworks_customers |
comment | 테이블의 설명을 입력한다. | 고객 정보 테이블
adventureworks_sales 테이블과 고객고유키로 조인할 수 있음 |
column_list | 테이블에 저장되어 있는 컬럼명을 입력한다(중요하거나 자주 사용하는 컬럼명은 필수). | 고객고유키, 이름, 생년월일 등 |
remark | 컬럼 설명 및 비즈니스 로직, 데이터 구조에 대한 참고 정보를 입력한다. | 생년월일:
문자형식, 예) 'MM/DD/YYYY'
연봉정보:
문자형식, 예) ‘$80,000’
쿼리에 사용할 땐 숫자만 추출 후 숫자타입으로 변환하여 사용해야함 |
2.
토큰 초과 시 고려사항
•
메타 테이블을 통해 Text-to-SQL에서 사용하는 테이블 목록을 줄인다.
•
테이블 및 컬럼의 주석을 짧게 요약
•
테이블명이나 컬럼명은 내용을 추측할 수 있도록 수정하고, 주석을 삭제하여 토큰 개수를 줄인다.
•
지원되는 토큰 수가 더 많은 모델로 변경 문의 요망