기본 콘텐츠로 건너뛰기

[Gemini 2.5 Pro: 이미지 속 DB 스키마, ERD와 SQL로 변환하는 마법!]

 

Gemini 2.5 Pro: 이미지 속 DB 스키마, ERD와 SQL로 변환하는 마법! ✨



데이터베이스 설계, 이제 이미지 하나로 시작하세요!

개발자, 데이터 분석가, 혹은 데이터베이스를 다루는 모든 분들께 놀라운 소식을 전합니다! 복잡한 데이터베이스 스키마 구조를 문서화하고 이해하는 과정, 때로는 번거롭고 시간이 많이 소요되셨죠? 이제 Google의 최첨단 AI 모델, Gemini 2.5 Pro와 함께라면 이 모든 과정이 혁신적으로 바뀔 수 있습니다.

최근 저는 Gemini 2.5 Pro를 사용하여 데이터베이스 스키마가 담긴 이미지 파일 하나만으로 해당 스키마를 분석하고, 시각적인 ERD(개체-관계 다이어그램) 코드와 활용 가능한 SQL 쿼리 예시까지 생성하는 놀라운 경험을 했습니다. 오늘은 그 과정을 여러분께 공유하고 Gemini 2.5 Pro의 강력한 능력을 소개하고자 합니다.

어떻게 가능할까요? 과정 살펴보기 🚀

1단계: DB 스키마 이미지 업로드 및 분석 요청
모든 것은 간단한 이미지 파일 업로드와 명확한 요청으로 시작됩니다. 직접 그리거나, 캡처하거나, 혹은 문서에 포함된 데이터베이스 스키마 이미지를 Gemini 2.5 Pro에게 제공합니다. 저는 아래와 같은 스키마 이미지를 사용했습니다.
이미지를 업로드한 후, Gemini에게 스키마 분석 및 후속 작업을 요청합니다. 예를 들어, SQL 생성까지 한 번에 요청할 수 있습니다.

Gemini 프롬프트 예시 (스키마 분석 및 SQL 생성 동시 요청):

"업로드한 이미지의 스키마를 분석한 후 이에 맞는 가능한 SQL 문과 자연어 10개를 표로 만들어줘"

2단계: Gemini 2.5 Pro의 마법 - 이미지 분석 및 이해
Gemini 2.5 Pro는 업로드된 이미지를 분석하여 텍스트(테이블명, 컬럼명, 데이터 타입 등)와 구조(테이블 간의 관계 등)를 놀라운 정확도로 인식하고 이해합니다. 단순히 텍스트를 읽는 것을 넘어, 이미지 속 정보의 의미와 관계를 파악하는 것이죠. 이것이 바로 Gemini 2.5 Pro의 멀티모달 능력입니다!

3단계: ERD 코드 생성 및 시각화 요청 (Mermaid 활용)
스키마 분석 후, ERD 생성을 요청할 수 있습니다. Gemini는 데이터베이스 구조를 시각적으로 표현하는 ERD 코드를 생성합니다. 특히 텍스트 기반 다이어그램 도구인 Mermaid 문법으로 코드를 생성해주어, 다양한 환경에서 쉽게 시각화할 수 있습니다.

Gemini 프롬프트 예시 (ERD 코드 생성):

"업로드한 DB 스키마를 ERD 를 생성해줘"

아래는 Gemini가 생성한 Mermaid 코드 예시입니다.

erDiagram
    CUSTOMERS ||--o{ ORDERS : "places"
    CUSTOMERS ||--o{ REVIEWS : "writes"
    ORDERS ||--|{ ORDER_ITEMS : "contains"
    PRODUCTS ||--|{ ORDER_ITEMS : "included in"
    PRODUCTS ||--o{ REVIEWS : "has"

    CUSTOMERS {
        INT customer_id PK "고객 ID (기본 키)"
        VARCHAR first_name "이름"
        VARCHAR last_name "성"
        VARCHAR email "이메일"
        VARCHAR phone "전화번호"
        VARCHAR address "주소"
        VARCHAR city "도시"
        VARCHAR state "주/도"
    }
    PRODUCTS {
        INT product_id PK "제품 ID (기본 키)"
        VARCHAR product_name "제품명"
        TEXT description "설명"
        VARCHAR category "카테고리"
        DECIMAL price "가격"
        INT stock_quantity "재고 수량"
    }
    ORDERS {
        INT order_id PK "주문 ID (기본 키)"
        INT customer_id FK "고객 ID (외래 키)"
        DATE order_date "주문 날짜"
        DECIMAL total_amount "총 금액"
        VARCHAR status "상태"
    }
    ORDER_ITEMS {
        INT order_item_id PK "주문 항목 ID (기본 키)"
        INT order_id FK "주문 ID (외래 키)"
        INT product_id FK "제품 ID (외래 키)"
        INT quantity "수량"
        DECIMAL price "가격 (항목별)"
    }
    REVIEWS {
        INT review_id PK "리뷰 ID (기본 키)"
        INT product_id FK "제품 ID (외래 키)"
        INT customer_id FK "고객 ID (외래 키)"
        INT rating "평점"
        TEXT comment "코멘트"
        DATE review_date "리뷰 날짜"
    }
    EMPLOYEES {
        INT employee_id PK "직원 ID (기본 키)"
        VARCHAR first_name "이름"
        VARCHAR last_name "성"
        VARCHAR email "이메일"
        VARCHAR phone "전화번호"
        DATE hire_date "고용 날짜"
        VARCHAR job_title "직함"
        VARCHAR department "부서"
    }
생성된 Mermaid 코드를 시각적인 다이어그램으로 보려면, Gemini에게 다시 요청하거나 Mermaid를 지원하는 도구를 사용하면 됩니다.

Gemini 프롬프트 예시 (ERD 시각화 요청):

"이 ERD 를 그려줘"

*참고: Gemini 환경이나 Mermaid 뷰어에서 시각화됩니다.

아래는 위 Mermaid 코드를 시각화했을 때 나타나는 ERD 예시입니다. 


4단계: SQL 쿼리 및 자연어 설명 생성

  1. Gemini는 분석된 스키마를 기반으로 실제 데이터 조회에 사용할 수 있는 다양한 SQL 쿼리 예시와 각 쿼리가 어떤 작업을 수행하는지에 대한 자연어 설명을 함께 생성해줍니다. (이 부분은 첫 번째 요청에서 함께 처리될 수 있습니다.)

Gemini 프롬프트 예시 (SQL 및 자연어 생성):

"업로드한 이미지의 스키마를 분석한 후 이에 맞는 가능한 SQL 문과 자연어 10개를 표로 만들어줘"

이는 데이터베이스를 처음 접하는 사람이나, 특정 작업에 필요한 쿼리를 빠르게 작성해야 할 때 매우 유용합니다. 아래는 Gemini가 생성한 10가지 예시입니다.
#SQL 쿼리 (SQL Query)자연어 설명 (Natural Language Description)
1SELECT first_name, last_name, email FROM Customers WHERE city = 'Seoul';'Seoul'에 거주하는 모든 고객의 이름과 이메일 주소를 조회합니다.
2SELECT product_name, price FROM Products WHERE category = 'Electronics' ORDER BY price DESC;'Electronics' 카테고리의 모든 제품명과 가격을 가격 내림차순으로 정렬하여 조회합니다.
3SELECT o.order_id, o.order_date, c.first_name, c.last_name FROM Orders o JOIN Customers c ON o.customer_id = c.customer_id WHERE o.status = 'Shipped';'Shipped' 상태인 모든 주문의 ID, 주문 날짜 및 해당 주문을 한 고객의 이름을 조회합니다.
4SELECT p.product_name, SUM(oi.quantity) AS total_quantity_sold FROM Order_Items oi JOIN Products p ON oi.product_id = p.product_id GROUP BY p.product_name ORDER BY total_quantity_sold DESC;각 제품별로 판매된 총 수량을 계산하고, 판매량이 많은 순서대로 제품명과 총 판매 수량을 조회합니다.
5SELECT AVG(rating) AS average_rating FROM Reviews WHERE product_id = 123;제품 ID가 123인 상품의 평균 평점을 계산합니다.
6SELECT e.first_name, e.last_name, e.job_title FROM Employees e WHERE e.hire_date >= '2023-01-01';2023년 1월 1일 이후에 고용된 모든 직원의 이름과 직함을 조회합니다.
7SELECT c.first_name, c.last_name, COUNT(o.order_id) AS total_orders FROM Customers c LEFT JOIN Orders o ON c.customer_id = o.customer_id GROUP BY c.customer_id ORDER BY total_orders DESC;각 고객별 총 주문 횟수를 계산하고, 주문 횟수가 많은 순서대로 고객 이름과 총 주문 횟수를 조회합니다. (주문이 없는 고객도 포함)
8SELECT p.product_name, p.price, p.stock_quantity FROM Products p WHERE p.stock_quantity < 10;재고 수량이 10개 미만인 모든 제품의 이름, 가격, 현재 재고 수량을 조회합니다.
9SELECT o.order_id, o.order_date, o.total_amount FROM Orders o WHERE o.order_date BETWEEN '2024-01-01' AND '2024-03-31' ORDER BY o.order_date ASC;2024년 1분기(1월 1일부터 3월 31일까지)에 발생한 모든 주문의 ID, 날짜, 총 금액을 날짜 오름차순으로 조회합니다.
10SELECT r.review_id, r.rating, r.comment, c.first_name AS customer_name, p.product_name FROM Reviews r JOIN Customers c ON r.customer_id = c.customer_id JOIN Products p ON r.product_id = p.product_id WHERE r.rating <= 2;평점이 2점 이하인 모든 리뷰의 ID, 평점, 코멘트 내용과 해당 리뷰를 작성한 고객의 이름 및 관련 제품명을 조회합니다.

Gemini 2.5 Pro, 왜 대단할까요? 🤔

  • 압도적인 멀티모달 능력: 텍스트뿐만 아니라 이미지 속의 복잡한 구조와 정보를 이해하고 처리하는 능력은 Gemini 2.5 Pro의 핵심 강점입니다.
  • 시간 절약 및 생산성 향상: 스키마 분석, ERD 작성, 기본 SQL 쿼리 생성 등 반복적이고 시간이 많이 걸리는 작업을 자동화하여 개발자와 분석가가 더 중요한 문제에 집중할 수 있도록 돕습니다.
  • 정확성 및 일관성: 복잡한 스키마도 정확하게 분석하고 일관된 형식의 결과물을 제공하여 오류 발생 가능성을 줄여줍니다.
  • 뛰어난 코드 생성 능력: 단순히 정보를 나열하는 것을 넘어, Mermaid나 SQL과 같이 특정 목적을 가진 코드를 생성하는 능력은 매우 실용적입니다.
  • 자연스러운 대화형 인터페이스: 복잡한 명령어 대신 자연어 프롬프트를 통해 원하는 결과물을 얻을 수 있습니다.

마무리하며 ✍️

Gemini 2.5 Pro는 단순한 AI 챗봇을 넘어, 개발 및 데이터 분석 워크플로우를 혁신할 수 있는 강력한 도구입니다. 데이터베이스 스키마 이미지로부터 ERD와 SQL 쿼리를 생성하는 이 기능은 그 가능성의 일부일 뿐입니다.

여러분도 Gemini 2.5 Pro를 활용하여 반복적인 작업을 자동화하고, 창의적인 문제 해결에 더 많은 시간을 투자해보시는 것은 어떨까요? 앞으로 Gemini가 또 어떤 놀라운 능력으로 우리를 도울지 기대됩니다!


---------

도서: 

- Claude AI 글쓰기 (종이책):’AI 전환 시대엔 혼자보다 함께, 클로그 AI 글쓰기' (2025년 4월 2쇄) 
- Perplexity AI 의 모든 것(종이책): Yes24 (2025년 3월)

- AI DEEP RESEARCH 완전 정복 (종이책): 브크크 (2025년 4월)

댓글

이 블로그의 인기 게시물

[Gemini Deep Research 200% 활용법] Gemini 활용 전문가 팁

  Gemini 활용 전문가 팁 Gemini Deep Research 200% 활용법 AI에게 '알아서' 리서치를 시키는 것을 넘어, '최고의 결과물'을 받아내는 2단계 프롬프트 전략 Google Gemini의 'Deep Research' 기능, 정말 강력하죠. 하지만 "어떻게 질문해야 이 기능을 제대로 쓸 수 있을까?" 고민해 본 적 없으신가요? 원하는 답변 대신 너무 광범위하거나 초점이 맞지 않는 결과를 받아보고 실망한 경험도 있으실 겁니다. 오늘은 이 고민을 한 번에 해결해 드릴, 정말 간단하면서도 강력한  ' 2단계 메타 프롬프팅'  전략을 소개합니다. 이 방법은 AI 전문가가 아닌 일반 사용자 누구나 따라 할 수 있으며, 여러분을 단순한 '질문자'에서 AI의 잠재력을 이끌어내는 '프로젝트 감독'으로 만들어 줄 것입니다. 핵심 아이디어는 이렇습니다. "최고의 리서치 프롬프트를 내가 직접 쓰는 대신,  Gemini에게 '최고의 프롬프트를 만들어달라'고 먼저 요청 하는 것" 입니다. AI가 자기 자신을 가장 잘 아는 원리를 이용하는 거죠! 2단계로 완성하는 '전문가급 리서치' 이제부터 딱 두 단계만 따라 해보세요. 놀라운 결과물을 얻게 될 겁니다. 1  프롬프트 '설계도' 요청하기 먼저, 우리가 어떤 정보를 원하는지 Gemini에게 알려주고, 그에 맞는 완벽한 'Deep Research 실행용 프롬프트'를 만들어달라고 요청합니다. 아래 템플릿을 복사해서 여러분의 주제에 맞게 내용을 채워보세요. # 페르소나 당신은 Google Gemini의 'Deep Research' 기능에 대해 완벽하게 이해하고 있는 최고의 프롬프트 엔지니어입니다. 당신의 임무는 사용자의 연구 목표를 기반으로, Deep Research 기능의 성능을 극한까지 끌어낼 수 있는 가장 효과적이고 정교한 ...

[알아두면 쓸모 있는 구글 문서 팁] 문서 공유시- 사용자 이름 대신에 익명의 동물이 표시 되는 이유와 동물 종류

구글 드라이브에는 다른 유사 서비스에서는 제공하지 않는 구글 만의 유니크한 기능들이 있다 구글 문서를  불특정 다수에게 전체 공개로 공유할 수 있습니다. 불특정인이 구글 문서에 접속한 경우 익명의 동물로 표시됩니다.  ' 웹에 공개' 또는 '링크가 있는 사용자' 공유 설정을 선택하면 인식할 수 없는 이름이나 익명의 동물이 표시될 수 있습니다. 파일에서 인식할 수 없는 이름을 볼 수 있는 몇 가지 이유는 다음과 같습니다. 메일링 리스트와 파일을 공유합니다. Google 계정이 없는 사용자와 파일을 공유하며, 그 사용자가 다른 사용자에게 공유 초대를 전달했습니다. 내 파일을 수정할 수 있는 누군가가 파일을 다른 사용자와 공유했습니다. 다른 사용자가 자신의 Google 계정 이름을 변경했습니다. 공유 설정 페이지에서 해당 사용자 이름 위로 마우스를 이동하여 이메일 주소를 확인하세요. 익명의 동물 다른 사용자에게 개별적으로 보기 또는 수정 권한을 부여하거나 메일링 리스트에 속해 있는 경우에만 사용자 이름이 표시됩니다. 파일 권한을 '링크가 있는 사용자'로 설정하면 파일을 보고 있는 사용자의 이름이 표시되지 않습니다. 대신 다른 사용자가 익명으로 라벨이 지정되어 표시되고 각 익명 사용자는 다양한 익명의 동물로 나열됩니다. 파일 권한을 '링크가 있는 사용자'로 설정했지만 특정 사용자와 파일을 공유하는 경우 파일을 공유한 사용자의 이름이 표시됩니다. 그 외 다른 사용자가 파일을 볼 때는 익명으로 나타납니다. 비공개 파일의 익명 동물 파일 권한을 '링크가 있는 사용자'로 설정한 다음 이를 '특정 사용자'로 변경하면 다음과 같은 경우 여러 익명의 동물이 표시될 수 있습니다. 누군가 파일을 여러 번 여는 경우에는 익명의 동물 목록에서 오래되고 연결이 끊긴 세션을 강제 종료하는 데 조금 시간이 걸릴 수 있습니다. 누군가 온...

[팁] Google Slide 프리젠테이션시 모든 한글폰트가 '굴림체' 로 바뀌는 현상을 해결한 크롬 확장 프로그램 소개

구글 문서도구인 구글 슬라이드를 이용하여 프리젠테이션을 많이 하는 분들을 위한 희소식 현재 구글 슬라이드에서는 슬라이드 편집시 사용한 고유 한글 폰트들은 프리젠테이션 모드로 전환할 경우는 모두 '굴림체' 로 바뀌어 표시가 되는 불편함이 있었습니다. 예). 슬라이드 편집에서 사용한 '궁서체' 한글 폰트는, 프리젠테이션 모드에서는 '굴림체'로 바뀌어 디스플레이됨 예). 슬라이드 편집 모드 - '궁서체' 폰트 사용 프리젠테이션 모드에서 '굴림체' 로 변경됨    따라서, 이러한 현상을 해결하는 크롬 확장 프로그램이 개발 되었습니다.  크롬 확장 프로그램 명 - ShowAsis 입니다. 크 롬 웹스토어 링크 -  https://goo.gl/PVPkZz 이 확장 프로그램을 사용하여 슬라이드 프리젠테이션을 하면, 편집 모드의 폰트 그대로 프리젠테이션시에도 그대로 한글 폰트로 디스플레이 됩니다. 단, 단점은 슬라이드가 애니메이션 슬라이드가 있는 경우는 애니메이션이 동작하지 않습니다. ----------------------- G Suite/Google Apps 전문 블로그 -  charlychoi.blogspot.kr 도서 '기업과 학교를 위한 구글크롬북'

Claude 4 의 프롬프트 엔지니어링 완벽 가이드 백서 (by Anthropic)

  Claude 4 프롬프트 엔지니어링 완벽 가이드 🚀 인공지능(AI) 시대, AI를 얼마나 잘 활용하느냐가 경쟁력이 되는 요즘! 특히 Claude 4와 같은 고성능 AI 모델의 능력을 200% 끌어내기 위한 핵심 비법, 바로 '프롬프트 엔지니어링'입니다. 이 글에서는 Claude 4를 마치 내 손안의 똑똑한 비서처럼 활용하기 위한 모든 것을 쉽고 자세하게 알려드립니다. 제1장 배경: Claude 4와 대화하는 새로운 방법 인공지능(AI) 기술이 우리 생활 깊숙이 들어오면서, AI를 얼마나 잘 활용하는지가 중요해졌습니다. 마치 스마트폰의 기능을 제대로 알아야 편리하게 사용할 수 있듯이, AI 모델도 그 능력을 최대한 끌어내려면 효과적인 소통 방법이 필요합니다. 여기서 등장하는 것이 바로  프롬프트 엔지니어링 입니다. 프롬프트 엔지니어링이란 무엇일까요?  쉽게 말해, AI에게 우리가 원하는 것을 정확하고 명확하게 전달하여, AI가 똑똑하게 알아듣고 가장 유용한 결과물을 만들어내도록 하는 기술입니다. 마치 숙련된 요리사에게 "맛있는 파스타 만들어주세요"라고 하는 대신, "알리오 올리오 파스타를 만들어주세요. 마늘은 듬뿍 넣고, 페페론치노는 살짝만 넣어 약간 매콤하게, 면은 알덴테로 삶아주세요."라고 구체적으로 주문하는 것과 같습니다. 주문이 상세할수록 우리가 원하는 결과에 가까워지겠죠? 특히 Claude 4와 같은 최신 AI 모델은 이전 모델들보다 훨씬 더 지시를 잘 알아듣고 따릅니다. 그래서 우리가 얼마나 좋은 프롬프트(지시)를 주느냐에 따라 결과물의 수준이 크게 달라집니다. 프롬프트의 품질이 곧 AI 답변의 품질이 되는 셈입니다. Claude 4, 더 똑똑해진 AI 비서 Claude 4 모델(Opus 4, Sonnet 4 포함)은 복잡하고 미묘한 지시 사항도 곧잘 이해하고 수행하는 뛰어난 능력을 갖추고 있습니다. 이는 마치 경험 많은 전문 비서와 일하는 것과 같습니다. 이 비서는 우리가 하는 말을 허투루 듣...

Deep Research (심층 리서치)용 상세 프롬프트를 자동으로 생성하는 표준 메타 프롬프트 활용법 [팁]

  Deep Research용 상세 프롬프트를 자동으로 생성하는 표준 메타 프롬프트 활용법 생성형 AI를 활용하여 심도 있는 리서치 (Deep Research)를 수행할 때, 상세하고 구조화된 프롬프트를 작성하는 것은 매우 중요합니다. 하지만 매번 이러한 프롬프트를 처음부터 구성하는 것은 번거로울 수 있습니다. 이럴 때 '메타 프롬프트' 를 활용하면, 간단한 정보 입력만으로 AI가 스스로 최적의 Deep Research용 프롬프트를 생성하도록 유도할 수 있습니다. 이번 포스팅에서는 사용자가  'AI Deep Research 효율적 활용을 위한 프롬프트 명령어 표준 템플릿'  문서를  챗GPT, Claude, Gemini 에 업로드 후 Deep Research 명령을 위한 상세한 프롬프트를 생성하도록 지시하는  표준 메타 프롬프트 명령어 를 소개합니다.  이 명령어는  'AI Deep Research 효율적 활용을 위한 프롬프트 명령어 표준 템플릿'  문서를 기반으로 Deep Research 프롬프트 명령어를 생성하는 방법을 안내합니다. ⚙️ 표준 메타 프롬프트: Deep Research용 프롬프트 자동 생성 (명령어 방식) 우선 사용자는  AI Deep Research 효율적 활용을 위한 프롬프트 명령어 표준 템플릿'  문서를 생성형 ai에게 업로드 후 다음 절차에 따라 진행하면 됩니다.  아래는 AI에게 Deep Research용 프롬프트 생성을 요청하기 위한 표준 명령어 형식입니다. 사용자는 아래 '사용자 입력 정보'의  [ ]  대괄호로 표시된 부분을 자신의 연구 내용에 맞게 채워 넣어 생성형 AI에게 전달하면 됩니다. # Deep Research 프롬프트 생성 요청 사용자 입력 정보: * 연구 주제/대상: [여기에 연구 주제 또는 대상을 명확히 입력하세요] * 핵심 질문 (쉼표로 구분): [여기에 가장 궁금한 핵심 질문들을 쉼표로...