数据库ER图生成工具

一个基于Web的数据库表结构关系图生成工具,支持多种数据库类型,可以自动提取表结构和关系,生成可视化的ER图。

功能特点

  • 🔗 支持多种数据库:MySQL、PostgreSQL、SQL Server、SQLite
  • 📊 自动提取表结构和字段信息
  • 🔍 智能识别主键、外键关系
  • 🎯 可视化ER图展示
  • 📱 响应式设计,支持移动端
  • ⚡ 实时分析和渲染

快速开始

1. 安装依赖

pip install -r requirements.txt

2. 启动应用

python main.py

3. 访问应用

打开浏览器访问:http://localhost:8000

使用说明

  1. 选择数据库类型:从下拉菜单中选择要连接的数据库类型
  2. 填写连接信息
    • 主机地址:数据库服务器地址(SQLite不需要)
    • 端口:数据库端口(SQLite不需要)
    • 数据库名称:要分析的数据库名称(SQLite为文件路径)
    • 用户名:数据库用户名(SQLite不需要)
    • 密码:数据库密码(SQLite不需要)
  3. 点击分析:点击"分析数据库"按钮开始分析
  4. 查看结果:分析完成后会自动生成ER图

数据库连接示例

MySQL

  • 主机:localhost
  • 端口:3306
  • 数据库:your_database
  • 用户名:your_username
  • 密码:your_password

PostgreSQL

  • 主机:localhost
  • 端口:5432
  • 数据库:your_database
  • 用户名:your_username
  • 密码:your_password

SQL Server

  • 主机:localhost
  • 端口:1433
  • 数据库:your_database
  • 用户名:your_username
  • 密码:your_password

SQLite

  • 数据库:/path/to/your/database.db

ER图说明

  • 🔑 红色粗体:主键字段

  • 🔗 绿色斜体:外键字段

  • 箭头:表示表之间的关系方向

  • 表节点:显示表名和主要字段信息

    参考"Example-ER.png" 文件.在这里插入图片描述

技术栈

  • 后端:FastAPI、SQLAlchemy
  • 前端:HTML5、CSS3、JavaScript、D3.js、Bootstrap 5
  • 数据库支持:MySQL、PostgreSQL、SQL Server、SQLite

注意事项

  1. 确保数据库服务正在运行
  2. 检查防火墙设置,确保可以访问数据库端口
  3. 对于大型数据库,分析可能需要一些时间
  4. 建议先在测试环境使用

故障排除

连接失败

  • 检查数据库服务是否启动
  • 确认连接参数是否正确
  • 检查网络连接和防火墙设置

分析超时

  • 对于大型数据库,可能需要增加超时时间
  • 考虑分批分析或只分析部分表

显示问题

  • 刷新页面重试
  • 检查浏览器控制台是否有错误信息

扩展功能

未来计划添加的功能:

  • 导出ER图为图片或PDF
  • 支持更多数据库类型
  • 自定义图表样式
  • 表结构对比功能
  • 数据库文档生成

许可证

MIT License

贡献

https://gitcode.com/liqngjun123/db_er_tool

欢迎提交Issue和Pull Request来改进这个项目!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐