PE Notes · AI
TEXT2SQL — 자연어에서 SQL로
자연어 질의를 SQL로 바꾸는 TEXT2SQL의 스키마 링킹·생성·검증 흐름, 규칙·미세조정·프롬프트 접근, 환각과 방언·보안 한계를 정리합니다.
분석 요청은 늘어나는데, 조인과 집계를 바로 쓰는 사람은 적습니다. (NL2SQL)은 그 간격을 자연어로 메워, 질문자가 스키마를 몰라도 조회에 이르게 합니다. 목표는 문장 생성이 아니라 실행 가능한 SQL입니다.
정의
사용자의 자연어 데이터 질문을 구조화 질의(SQL)로 자동 변환하는 기술입니다. 의 대표 경로로 불리며, BI 챗, 사내 어시스턴트, 공공 데이터 조회에 붙습니다.
핵심은 언어 모델이 아니라 입니다. “매출”이 어느 테이블의 어느 컬럼인지 못 맞추면, 그다음 생성은 없는 이름을 지어냅니다.
등장 배경 / 필요성
SQL을 가르치지 않고 질의 권한을 넓히면 현업 대기 시간이 줄어듭니다. 다만 잘못된 SQL이 돌아가면 틀린 숫자가 보고서로 나갑니다. 그래서 생성만 하지 않고 검증·실행 일치·권한 범위를 같이 설계합니다.
구성과 절차
| 구성 | 역할 |
|---|---|
| 언어 이해 | 의도·개체·기간·집계 여부 |
| 스키마 링킹 | 질문 토큰 ↔ 테이블·컬럼·관계 |
| SQL 생성 | 스키마를 넣은 모델이 구문을 씀 |
| 실행·검증 | DB 실행, 오류·권한, 결과 요약 |
자연어 → 스키마 주입 → SQL 초안 → 구문·존재 검사 → 실행 → 결과 / 재생성
스키마가 크면 테이블을 통째로 넣지 못하고, 관련 조각만 검색해 붙이는 구성이 됩니다. 문서 RAG와 달리 검색 대상이 카탈로그·DDL입니다.
접근 방식
| 비교축 | 규칙·템플릿 | 미세조정 | 프롬프트(few-shot) |
|---|---|---|---|
| 정확도 | 고정 패턴만 | 도메인이 맞으면 높음 | 중간~높음 |
| 유연성 | 낮음 | 중간 | 높음 |
| 구축 비용 | 낮음 | 학습 데이터·연산 | 상대적으로 낮음 |
| 새 스키마 | 규칙 재작성 | 재학습 | 스키마만 갈아 끼움 |
| 복잡 질의 | 약함 | 가능 | CoT·예시로 보완 |
한계
없는 컬럼·함수를 만드는 것은 입니다. 실행 전 스키마 존재 검사와 읽기 전용 실행이 기본 방어입니다. 생성된 문자열이 그대로 실행되면 경로가 열리므로, 파라미터화·권한 분리·금칙 DDL이 필요합니다.
엔진 방언(MySQL·PostgreSQL·Oracle)이 다르면 같은 의미가 다른 구문이 됩니다. 복잡 JOIN·서브쿼리·윈도우는 단순 조회보다 정확도가 떨어집니다. 스키마가 바뀌면 링킹이 한꺼번에 깨집니다.
| 한계 | 대응 |
|---|---|
| 스키마 과부하 | 검색으로 관련 테이블만 |
| 환각 컬럼 | 카탈로그 검증, 실행 실패 재생성 |
| 인젝션 | 읽기 전용, 바인딩, 감사 |
| 방언 | 엔진별 예시·후처리 |
| 복잡 질의 | 중간 뷰, 사람 확인 |
활용 사례
- 경영진이 자연어로 지표를 묻는 BI
- 공공 데이터 포털의 비전문가 조회
- 사내 DB를 읽는 업무 어시스턴트(검색 + TEXT2SQL)
- 데이터 엔지니어의 초안 쿼리
기술사 답안 포인트
관련 용어
관련 토픽
AI
RAG, RIG, MCP, MoE — LLM 최적화 기법
검색으로 지식을 붙이고, 생성 중 근거를 확인하고, 도구를 표준으로 연결하고, 필요한 전문가만 깨우는 네 가지 LLM 최적화 축을 구분합니다.
AI
환각현상, 모라벡의 역설, RLHF·RAFT, 과적합
LLM이 사실이 아닌 답을 자신 있게 내는 이유, 감각·운동이 기계에 더 어려운 이유, 인간 선호 정렬의 두 경로, 학습이 너무 맞거나 덜 맞는 상태를 한 장에서 구분합니다.
AI
PLM, 프롬프트·하네스 엔지니어링, Multimodal LLM
사전학습 언어모델이 어떻게 만들어지고, 프롬프트와 실행 환경(하네스)이 무엇을 나누며, 이미지·음성·텍스트를 한 코어에서 다루는 멀티모달 LLM을 정리합니다.