AI提示工程,Prompt提问

[复制链接]
admin 发表于 2025-10-9 10:02:33 | 显示全部楼层 |阅读模式
  1. 你是一个软件工程师,帮我生成MySQL的表结构
  2. 需求如下:
  3.     1,课程管理表,表名tb_course,字段有主键id、课程编码、课程学科、课程名称、课程价格、适用人群、课程介绍
  4. 其他要求:
  5.     1,每个表中都有创建时间(create_time)、修改时间(date_time)、创建人(create_by)、修改人(update_by)、备注(remark)这些字段
  6.     2,每个表的主键都是自增的
  7.     3,课程价格是整型、课程编码是字符串
  8.     4,请为每个字段都添加上comment
  9.     5,帮我给生成的表中插入一些IT课程示例数据
  10.         课程学科:Java、人工智能、大数据
  11.         适用人群:小白学员、中级程序员
复制代码
生成后的代码:

  1. -- 创建课程管理表
  2. CREATE TABLE tb_course (
  3.     id INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
  4.     course_code VARCHAR(50) NOT NULL UNIQUE COMMENT '课程编码',
  5.     course_subject VARCHAR(50) NOT NULL COMMENT '课程学科',
  6.     course_name VARCHAR(200) NOT NULL COMMENT '课程名称',
  7.     course_price INT NOT NULL COMMENT '课程价格(单位:元)',
  8.     target_audience VARCHAR(100) COMMENT '适用人群',
  9.     course_description TEXT COMMENT '课程介绍',
  10.     create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  11.     update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  12.     create_by VARCHAR(50) DEFAULT '' COMMENT '创建人',
  13.     update_by VARCHAR(50) DEFAULT '' COMMENT '修改人',
  14.     remark VARCHAR(500) DEFAULT '' COMMENT '备注'
  15. ) COMMENT='课程管理表';

  16. -- 插入IT课程示例数据
  17. INSERT INTO tb_course (course_code, course_subject, course_name, course_price, target_audience, course_description, create_by, remark) VALUES
  18. ('JAVA001', 'Java', 'Java基础入门课程', 199, '小白学员', '本课程从Java基础语法开始讲解,适合零基础学员学习Java编程语言。', 'system', '基础课程'),
  19. ('JAVA002', 'Java', 'Java高级进阶课程', 599, '中级程序员', '深入讲解Java高级特性,包括多线程、JVM调优、设计模式等,适合有一定基础的开发者。', 'system', '进阶课程'),
  20. ('AI001', '人工智能', 'Python与机器学习入门', 399, '小白学员', '使用Python语言学习机器学习基础知识,包含常用算法和实践案例。', 'system', '热门课程'),
  21. ('AI002', '人工智能', '深度学习与神经网络', 799, '中级程序员', '深入学习深度学习理论与实践,涵盖CNN、RNN、Transformer等经典网络结构。', 'system', '高级课程'),
  22. ('BD001', '大数据', 'Hadoop大数据处理', 699, '中级程序员', '学习Hadoop生态系统,包括HDFS、MapReduce、Yarn等核心技术。', 'system', '大数据系列'),
  23. ('BD002', '大数据', 'Spark实时计算框架', 599, '中级程序员', '掌握Spark核心概念和编程,学习Spark SQL、Spark Streaming等组件。', 'system', '大数据系列'),
  24. ('JAVA003', 'Java', 'Spring Boot企业级开发', 499, '中级程序员', '学习Spring Boot框架进行企业级应用开发,包含微服务相关知识。', 'system', '企业级课程'),
  25. ('AI003', '人工智能', '自然语言处理技术', 899, '中级程序员', '探索NLP领域核心技术,包括文本预处理、词向量、语言模型等。', 'system', 'AI专项课程');

  26. -- 验证数据插入
  27. SELECT * FROM tb_course;
复制代码
生成数据库说明文档
  1. 你是一个软件工程师,现在要根据数据库的sql脚本,编写数据库说明文档,sql脚本如下:
  2. CREATE TABLE `tb_course` (
  3.     `id` INT AUTO_INCREMENT COMMENT '主键ID',
  4.     `course_code` VARCHAR(255) NOT NULL COMMENT '课程编码',
  5.     `course_subject` VARCHAR(100) NOT NULL COMMENT '课程学科',
  6.     `course_name` VARCHAR(255) NOT NULL COMMENT '课程名称',
  7.     `course_price` INT COMMENT '课程价格',
  8.     `target_audience` VARCHAR(100) COMMENT '适用人群',
  9.     `course_introduction` TEXT COMMENT '课程介绍',
  10.     `create_time` DATETIME COMMENT '创建时间',
  11.     `update_time` DATETIME COMMENT '修改时间',
  12.     `create_by` VARCHAR(64) COMMENT '创建人',
  13.     `update_by` VARCHAR(64) COMMENT '修改人',
  14.     `remark` VARCHAR(255) COMMENT '备注',
  15.     PRIMARY KEY (`id`)
  16. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='课程管理表';

  17. 输出要求是:
  18.     1,每个表以及每个表的字段都要详细说明,包括,字段名称、类型、作用
  19.     2,使用markdown的输出格式,字段的描述需要使用表格展示
  20.     3,如果表之间有关系,需要描述清楚表之间的关系
复制代码
数据库表结构说明文档

表:tb_course(课程管理表)

表说明

tb_course 是课程管理表,用于存储和管理课程相关的基本信息,包括课程编码、学科、名称、价格、目标受众等。该表是系统中课程信息的核心存储表。
字段说明

[td]
字段名称
类型
是否为空
默认值
作用说明
id
INT
NOT NULL
AUTO_INCREMENT
主键ID,用于唯一标识每一条课程记录,自动递增
course_code
VARCHAR(255)
NOT NULL
-
课程编码,用于唯一标识课程,便于课程管理和查询
course_subject
VARCHAR(100)
NOT NULL
-
课程学科,标识课程所属的学科领域,如Java、人工智能、大数据等
course_name
VARCHAR(255)
NOT NULL
-
课程名称,描述课程的具体名称,便于用户了解课程内容
course_price
INT
NULL
-
课程价格,以整数形式存储课程的价格(单位:元)
target_audience
VARCHAR(100)
NULL
-
适用人群,描述该课程适合的学习者类型,如小白学员、中级程序员等
course_introduction
TEXT
NULL
-
课程介绍,详细介绍课程内容、目标和特点的富文本信息
create_time
DATETIME
NULL
-
记录创建时间,标识该课程记录首次创建的时间戳
update_time
DATETIME
NULL
-
记录修改时间,标识该课程记录最后一次修改的时间戳
create_by
VARCHAR(64)
NULL
-
记录创建人,标识创建该课程记录的用户
update_by
VARCHAR(64)
NULL
-
记录修改人,标识最后一次修改该课程记录的用户
remark
VARCHAR(255)
NULL
-
备注,用于存储与课程相关的附加信息或说明
表关系说明

根据提供的SQL脚本,当前只包含单个表 tb_course,没有展示与其他表的关联关系。在实际业务系统中,该表可能会与以下表存在关联关系:
  • 用户表(存储学习者信息)
  • 订单表(存储购买记录)
  • 课程分类表(存储更详细的课程分类信息)
  • 教师表(存储授课教师信息)
但根据当前提供的SQL脚本,无法确定具体的表关联关系。
其他说明

  • 表引擎:InnoDB
  • 字符集:utf8mb4
  • 排序规则:默认
  • 存储引擎特性:支持事务、行级锁定、外键约束等

生成代码流程图
  1. 你是一个软件工程师,为了方便理解代码执行流程,需要给出代码执行的流程图,代码如下:
  2.     // 创建工单
  3.     @Transactional
  4.     @Override
  5.     public int insertTaskDto(TaskDto taskDto) {
  6.     //1. 查询售货机是否存在
  7.     VendingMachine vm = vendingMachineService.selectVendingMachineByInnerCode(taskDto.getInnerCode());
  8.     if (vm == null) {
  9.         throw new ServiceException("设备不存在");
  10.     }
  11.     //2. 校验售货机状态与工单类型是否相符
  12.     checkCreateTask(vm.getVmStatus(), taskDto.getProductTypeId());
  13.     //3. 校验这台设备是否有未完成的同类型工单,如果存在则不能创建
  14.     hasTask(taskDto.getInnerCode(), taskDto.getProductTypeId());
  15.     //4. 校验员工是否存在
  16.     Emp emp = empService.selectEmpById(taskDto.getUserId());
  17.     if (emp == null) {
  18.         throw new ServiceException("员工不存在");
  19.     }
  20.     // 5. 校验非同区域下的工作人员不能接受工单
  21.     if (emp.getRegionId() != vm.getRegionId()) {
  22.         throw new ServiceException("非同区域下的工作人员不能接受工单");
  23.     }
  24.     //6. 保存工单信息
  25.     Task task = new Task();
  26.     BeanUtil.copyProperties(taskDto, task);// 属性赋值
  27.     task.setCreateTime(DateUtils.getNowDate());// 创建时间
  28.     task.setTaskCode(generateTaskCode());// 工单编号 202405150001
  29.     task.setTaskStatus(DkdContants.TASK_STATUS_CREATE);// 创建工单
  30.     task.setAddr(vm.getAddr());
  31.     task.setRegionId(vm.getRegionId());
  32.     task.setUserName(emp.getUserName());
  33.     int taskResult = taskMapper.insertTask(task);
  34.     //7. 如果是补货工单,向工单明细表插入记录
  35.     if (task.getProductTypeId() == DkdContants.TASK_TYPE_SUPPLY) {
  36.         if (CollUtil.isEmpty(taskDto.getDetails())) {
  37.             throw new ServiceException("补货工单明细不能为空");
  38.         }
  39.         List<TaskDetails> taskDetailsList = taskDto.getDetails().stream().map(details -> {
  40.             TaskDetails taskDetails = BeanUtil.copyProperties(details, TaskDetails.class);
  41.             taskDetails.setTaskId(task.getTaskId());
  42.             return taskDetails;
  43.         }).collect(Collectors.toList());
  44.         taskDetailsService.insertBatch(taskDetailsList);
  45.     }

  46.     return taskResult;
  47. }

  48. 输出:请使用mermaid语言来描述这个方法的流程
复制代码


网站建设,公众号小程序开发,多商户单商户小程序制作,高端系统定制开发,App软件开发联系我们【手机/微信:17817817816
微信扫码

网站建设,公众号小程序开发,商城小程序,系统定制开发,App软件开发等

粤ICP备2024252464号

在本版发帖
微信扫码
QQ客服返回顶部
快速回复 返回顶部 返回列表