DeepSeek使用案例--数据破译

需求背景
  某企业遗留系统存在关键业务表单,其核心功能包括根据数据库中数据生成二维点阵图逻辑。在系统重构过程中需要进行数据溯源,面临以下技术挑战:

  • 原始系统文档缺失,无法确认点阵图生成逻辑与数据库的映射关系

  • 需从数百个数据表中定位核心参数表及关联字段

  本文隐去具体的数据和图,重在介绍使用DeepSeek解决实际问题的思路。

一. 首先要确定表单对应的数据库中的表

     解决思路:导出数据库的表结构和注释信息,同时截图该表单,将这2个文档提供给DeepSeek,让DeepSeek分析出该表单和哪个表对应。

    关于导出数据库的结构信息,可参考以下博文提到的方法:

     DeepSeek使用案例--编写SQL

     由于该软件对应的数据库的表有200左右,业务部门主要使用这一个表单功能,其他功能很少使用,通过连接数据库观察,很多表内容是空的,于是只需要导出有数据的表进行分析。

    使用以下提示词让DeepSeek生成导出数据库的Python脚本:

提示词:

使用python编写一段脚本,连接mysql数据库,导出指定的数据库表结构以及注释,保存到文件中,忽略空表。

import mysql.connector

def main():
    # 获取数据库连接信息
    host = input("请输入MySQL主机地址(默认localhost): ") or 'localhost'
    port = int(input("请输入端口(默认3306): ") or 3306)
    user = input("请输入用户名: ")
    password = input("请输入密码: ")
    database = input("请输入数据库名: ")
    output_file = input("请输入输出文件名: ")

    try:
        # 建立数据库连接
        conn = mysql.connector.connect(
            host=host,
            port=port,
            user=user,
            password=password,
            database=database
        )
        cursor = conn.cursor()

        # 获取所有表名
        cursor.execute("SHOW TABLES")
        tables = [table[0] for table in cursor.fetchall()]

        with open(output_file, 'w', encoding='utf-8') as f:
            for table in tables:
                # 跳过空表
                cursor.execute(f"SELECT COUNT(*) FROM `{table}`")
                if cursor.fetchone()[0] == 0:
                    print(f"跳过空表: {table}")
                    continue

                # 获取表结构
                cursor.execute(f"SHOW CREATE TABLE `{table}`")
                create_table_sql = cursor.fetchone()[1]
                
                # 写入文件
                f.write(f"-- 表结构: {table}\n")
                f.write(f"{create_table_sql};\n\n")

        print(f"表结构已成功导出至: {output_file}")

    except mysql.connector.Error as err:
        print(f"数据库错误: {err}")
    except Exception as e:
        print(f"发生错误: {e}")
    finally:
        if 'conn' in locals() and conn.is_connected():
            cursor.close()
            conn.close()

if __name__ == "__main__":
    main()

二. 确定二维像素图和数据表中的对应字段

      在确定表之后,从字段名和注释信息,无法判断出具体哪个或哪些字段和二维点阵图相关。于是通过该软件截取了5条表单中的二维点阵图,并根据ID信息找到对应数据库中的数据,将该条数据导出为insert语句,将这些信息保存到一个word文档中。将这个文档上传给DeepSeek,使用如下提示词,让DeepSeek寻找二维点阵图相关的字段。

提示词:

根据文档中给出的二维点阵图和对应的数据,分析出和二维点阵图相关的字段。

      实际情况,DeepSeek给出了几个可能的字段,经过认为观察和分析,确定出一个字符串字段和该二维点阵图直接相关。

三.破译数据含义

     确定如何根据字符串数据绘制出该二维像素图。 将上一步中的5条二维点阵图和对应的字符串数据保存在一个word文档中,将文档上传给DeepSeek。

提示词:

根据文档中给出的二维点阵图和对应的字符串信息,分析出字符串数据的含义。

四.验证

    从软件中截取一条新的二维点阵图,上传给DeepSeek,让DeepSeek给出对应的字符串,再从数据库中取出对应数据的字符串进行对比。经过核对,完全一致,说明第三步得出的结果正确。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xyzcto

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值