实战项目 2

数据库查询工具

支持自然语言生成 SQL 的智能数据库管理平台

难度:
12 小时
所属周次:2

项目预览

数据库查询工具 预览

项目目标

1

掌握复杂的 Prompt Engineering 技巧

2

理解 AI 在数据处理中的实际应用

3

学习 SQL 安全验证和错误处理

4

实践全栈应用的架构设计

5

使用现代化前端框架(React 19 + Refine 5)

6

掌握严格的类型安全(Python + TypeScript)

技术栈

React 19
TypeScript
Refine 5
Ant Design 5
Monaco Editor
Tailwind CSS 4
Vite
FastAPI
Python 3.12+
Pydantic v2
SQLite
PostgreSQL
sqlglot
OpenAI SDK
asyncpg

技术架构

实现步骤

使用 Pydantic 定义严格的数据模型,设计 RESTful API 接口,确保类型安全和 camelCase JSON 规范

from pydantic import BaseModel, Field, ConfigDict
from typing import Optional
from datetime import datetime

class DatabaseConnectionCreate(BaseModel):
    """创建数据库连接的请求模型"""
    model_config = ConfigDict(alias_generator=to_camel, populate_by_name=True)

    name: str = Field(..., min_length=1, max_length=100)
    connection_url: str = Field(..., min_length=1)
    description: Optional[str] = None

class DatabaseMetadataResponse(BaseModel):
    """数据库元数据响应模型"""
    model_config = ConfigDict(alias_generator=to_camel)

    database_name: str
    tables: list[TableMetadata]
    fetched_at: datetime

class TableMetadata(BaseModel):
    table_name: str
    table_type: str  # 'TABLE' or 'VIEW'
    columns: list[ColumnMetadata]

学习要点

使用 Pydantic v2 实现严格的数据验证和类型安全

掌握 FastAPI 的异步编程和依赖注入

使用 sqlglot 进行 SQL 解析和安全验证

设计有效的 Prompt 工程(System Prompt + Schema Context)

OpenAI API 集成和错误处理最佳实践

React 19 + Refine 5 现代化前端架构

Monaco Editor 集成和 SQL 语法高亮

异步数据库操作(asyncpg)

API 接口的 RESTful 设计规范

camelCase JSON 命名规范在 Python/TypeScript 中的实现

全栈应用的错误处理和用户反馈

pytest 单元测试和集成测试编写

准备好开始这个项目了吗?

在第 2 周的课程中,跟随教程一步步完成这个项目