首页 > 数据库 >如何用ai来完成数据库分析(1)

如何用ai来完成数据库分析(1)

时间:2024-08-08 09:57:33浏览次数:11  
标签:ai 数据库 INT SaleID 完成 数据 我们

前言

因一些课程设计要写长篇分析报告,这里借用ai做一篇指导教程,分上下两篇。这篇也会教如何让ai给你你想要的答案,众所周知,现在的ai并不智能,不针对各类厂家,但是放出来的确实表象如此。

但其实问法决定了我们很多时候无法解锁其100%的功能,错误的问答方式甚至让回复比1.0的版本更加混乱无序。所以,这篇也有ai指导性的说明。

条件

假定,我们要对一张小票进行数据库分析,那么所需要写入的报告至少要包含以下内容:

  • 数据库相关操作知识
  • 关系模型和概念结构先关知识
  • 分析过程和表设计思路
  • 构建数据库流程和依赖关系的理由
  • 模拟数据。
  • 查询,一定程度上查询出小票该有的数据(可选)

工具

Navicate15(可以不一样,只用模型,查询语句,不使用更多功能)

er图制作网站,也可自己画图,不过这个真的很好用:

https://zhzsoft.cn/er/

一个可插图的文档编辑软件wps啦,Word文档都可。

问答ai,我这里展示用的是阿里的通义千问,也可用星火,不过我个人认为通义千问的排版更舒服。

制作

知识罗列

要做一个长篇的报告最重要的就是知识要完全覆盖,非毕设或者上交比赛的论文类,大多对文献引用,专业格式要求较低,我做的这类是课程设计的结课报告,附带有一个答辩,没有那么严格,所以这边可加入大量篇幅。

请尽可能覆盖你可能用到的知识点,这里可以用ai,我们分析一下该怎么问

  • 首先,我把作者分为不会,不了解数据库的人和了解一些或者会数据库的人,我们先确定好问的内容,也就是通过ai来问出自己的需要,然后做知识点筛选就好了,举个例子。
问:请问,我想写一篇数据库课程设计报告,我都可能用到哪些知识呢?
通义ai:
撰写一份数据库课程设计报告时,你需要综合运用数据库理论与实践方面的知识。以下是一些可能用到的关键知识点:

1. 数据库系统概览
数据库系统的定义
数据库管理系统(DBMS)的作用
数据库系统的主要组成部分(如数据定义语言DDL、数据操纵语言DML等)
2. 数据模型
关系模型
层次模型
网状模型
面向对象模型
NoSQL模型
3. 关系数据库理论
关系代数
关系演算
范式化(第一范式至第三范式,BCNF)
数据完整性约束(实体完整性、参照完整性和用户定义完整性)
4. SQL
SQL基础知识
数据定义(CREATE, ALTER, DROP)
数据操作(INSERT, UPDATE, DELETE)
数据查询(SELECT语句)
子查询
连接(JOIN)
视图
存储过程与触发器
5. 数据库设计
需求分析
概念设计(ER模型)
逻辑设计
物理设计
性能优化
6. 数据库安全
访问控制
加密
审计
备份与恢复策略
7. 数据库管理
数据库性能调优
查询优化
索引使用
并发控制
事务管理(ACID属性)
8. 分布式数据库
分布式系统的概念
分布式数据库的特点
数据分区
数据复制
9. 新兴技术
大数据处理
数据仓库
数据挖掘
云计算中的数据库服务

可以看到从6往后就已经不是我们设计所涉及的内容了,前五条让ai展开说明,即可,通义的排版可直接用,我们需要说“前五条请展开说明”,ai会给我们这样的知识汇总:

当然可以。以下是关于数据库课程设计报告中前五条内容的详细展开说明:

1. 数据库系统概览
定义: 数据库是一个长期存储在计算机内的、有组织的、可共享的数据集合。数据库系统包括数据库本身、数据库管理系统(DBMS)、应用程序、数据库管理员(DBA)和最终用户。
DBMS的作用: DBMS是位于用户与操作系统之间的软件层,用于管理和控制数据库资源。它的主要功能包括数据定义、数据操作、数据控制和数据维护。
数据库系统的主要组成部分:
数据定义语言(DDL): 用于定义数据库结构的语言,如创建表、索引等。
数据操纵语言(DML): 用于添加、删除和更新数据的语言。
数据控制语言(DCL): 用于管理权限和控制访问的语言。
事务控制语言(TCL): 用于管理事务的开始、提交和回滚。
......

不需要写太多,因为我们知识点篇幅太多会提高查重率,适当即可,因为我们毕竟是数据库设计,相信多少听过数据库的人都应该知到经典的:增删改查。这些还有一些索引语句,也可替换一部分纯知识点来做加分项。

  • 然后我们前面说了er图,其实这部分内容也可以加上,这个ai本身不支持绘画er图,所以只需要说类似:“请讲一下er图相关知识”。ai就会给罗列,因为篇幅,这里不举例了。

研究对象分析

也就是你对这个小票的看法和推理过程,因为我这边暂时没有小票,向ai寻求一张肯存在的数据,然后询问,小票模板如下:

购物小票
	商家信息:
		商家名称
		商家地址
		商家联系电话
	交易日期和时间:
		交易发生的日期
		交易发生的时间
	销售单据信息:
		发票或小票号码
	商品或服务信息:
		商品名称或服务项目
	单位价格
	数量
	总价

这时候就要准备让他以设计者的身份帮我们设计数据库了,我们需要先给ai一个大方向,像这样。
在这里插入图片描述
我们并不是一定需要让ai把话说完,目前市面上的ai采取的是读取分析,也就是如果分析数据的时候,将其打断,不让他把你的信息重复一遍,那么结果很可能会很混乱,我们后面会讲到,像这样只要他已经完成了第一句话,“我可以”这样的话,我们就已经可以打断了,不过这样的给与前提,总字数不会太多就是了。

现在我们把结构给ai
在这里插入图片描述
他给了我一些表单还有数据库创建语句,我们先保存备用

CREATE TABLE Merchant (
    MerchantID INT PRIMARY KEY,
    Name VARCHAR(255) NOT NULL,
    Address VARCHAR(255),
    Phone VARCHAR(20)
);

CREATE TABLE Sale (
    SaleID INT PRIMARY KEY,
    MerchantID INT,
    SaleDate DATE NOT NULL,
    SaleTime TIME NOT NULL,
    InvoiceNumber VARCHAR(50) UNIQUE,
    FOREIGN KEY (MerchantID) REFERENCES Merchant(MerchantID)
);

CREATE TABLE Product (
    ProductID INT PRIMARY KEY,
    ProductName VARCHAR(255) NOT NULL,
    UnitPrice DECIMAL(10, 2) NOT NULL
);

CREATE TABLE SaleDetail (
    SaleDetailID INT PRIMARY KEY,
    SaleID INT,
    ProductID INT,
    Quantity INT NOT NULL,
    TotalPrice DECIMAL(10, 2) NOT NULL,
    FOREIGN KEY (SaleID) REFERENCES Sale(SaleID),
    FOREIGN KEY (ProductID) REFERENCES Product(ProductID)
);

然后,其实我们并没有得到想要的答案,还记得么?我们需要的是设计过程,ai给的是结果,这出现了回答偏差,那么我们就需要修正。

请说明这么设计的原因,每个数据类型和依赖存在的原因都要写出,缩短到300字以内

解释:

  • 首先我们要的是设计原因,你需要明确告诉ai你的需求,然后他既然已经给了你建表的语句,那么具体的细节,包括我前面说的依赖,还有这次他说的数据类型,我们都要囊括进去,以便ai修正
  • 其次缩短到300字,为什么不是100不是200,300会不会很多,首先设定范围是为了防止ai过度解读你的话,有些ai的版本在2.5偏下的时候会非常乐于发长解读,我们并不需要那么长,但是太低会导致ai不去思考,套用自己上一段的内容。我们在300这个区间里找到需要的,快速截取一段作为我们需要的即可。
  • 最后我们得到的分析如下:
Merchant 表存储商家信息,使用 INT 类型的 MerchantID 作为主键,确保每个商家都有唯一的标识。Name 和 Address 使用 VARCHAR 类型来存储文本信息,Phone 也是 VARCHAR 类型,因为电话号码可能包含特殊字符。
Sale 表记录每次交易的信息,SaleID 作为主键,MerchantID 作为外键,确保每笔交易都关联到一个合法的商家。SaleDate 和 SaleTime 分别使用 DATE 和 TIME 类型来精确记录交易时间。
Product 表存储商品信息,ProductID 作为主键,ProductName 使用 VARCHAR 类型存储商品名称,UnitPrice 使用 DECIMAL 类型存储单价,保证数值精度。
SaleDetail 表记录每笔交易中的商品明细,SaleDetailID 作为主键,SaleID 和 ProductID 作为外键,确保每条明细都关联到一笔合法的交易和一个合法的商品。Quantity 使用 INT 类型来存储数量,TotalPrice 使用 DECIMAL 类型来存储总价。

数据库设计

数据部分

下章节会解释如何使用navicate和生成er图,我们先把ai回到上个节点,让他为我们添加一些数据,以增长我们的篇幅,和数据校验。

在这里插入图片描述
这里点击后可以重置你之前的问答,将这句话重新编辑来得到你需要的结果,我们这里改成:

请根据你所提供的数据库文件,添加一些可用数据

ai给出的数据添加

1. Merchant (商家信息表)
INSERT INTO Merchant (MerchantID, Name, Address, Phone)
VALUES
    (1, 'ABC 商店', '上海市浦东新区世纪大道100号', '13800138000'),
    (2, 'XYZ 超市', '北京市朝阳区建国路88号', '13900139000');
2. Sale (销售单据表)
INSERT INTO Sale (SaleID, MerchantID, SaleDate, SaleTime, InvoiceNumber)
VALUES
    (1, 1, '2024-07-26', '14:30:00', 'INV12345'),
    (2, 2, '2024-07-26', '15:15:00', 'INV67890');
3. Product (商品信息表)
INSERT INTO Product (ProductID, ProductName, UnitPrice)
VALUES
    (1, '苹果', 5.50),
    (2, '牛奶', 10.00),
    (3, '面包', 3.00);
4. SaleDetail (销售明细表)
INSERT INTO SaleDetail (SaleDetailID, SaleID, ProductID, Quantity, TotalPrice)
VALUES
    (1, 1, 1, 2, 11.00),  -- 苹果 x 2
    (2, 1, 2, 1, 10.00),  -- 牛奶 x 1
    (3, 2, 3, 3, 9.00);   -- 面包 x 3
ps:

复制文本框请点击这里,因为不同版本并不支持相同的markdown格式转换,长篇粘贴,会导致这些1234的行号也加入进去,非常不妥。)

ps:

复制文本框请点击这里,因为不同版本并不支持相同的markdown格式转换,长篇粘贴,会导致这些1234的行号也加入进去,非常不妥。)

在这里插入图片描述

标签:ai,数据库,INT,SaleID,完成,数据,我们
From: https://blog.csdn.net/qq_55332182/article/details/140918211

相关文章

  • MySQL数据库安装及配置
    简介:MySQL版本:MySQLCommunityServer社区版本,开源免费,自由下载,但不提供官方技术支持,适用于大多数普通用户。MySQLEnterpriseEdition企业版本,需付费,不能在线下载,可以试用30天。提供了更多的功能和更完备的技术支持,更适合于对数据库的功能和可靠性要求较高的企业客户。M......
  • 使用LlamaIndex和GPT-4V进行多模态图像检索
    在本文中,我们将演示如何使用LlamaIndex结合GPT-4V和CLIP来实现图像到图像的检索。该过程包括从维基百科下载图像和文本,构建多模态索引,利用GPT-4V进行图像相关性推理,并展示检索结果。步骤1.安装所需的库%pipinstallllama-index-multi-modal-llms-openai%pipinstalll......
  • 一键翻译 | 分享一个更高级、更AI的翻译插件
    最近AutoGPT不是更新了嘛我也打算搭建一个来玩玩。不过呢,官方文档都是英文,阅读起来还是比较费劲的之前用的翻译插件实在难用,即卡而且翻译不准在网上找了一个新的AI翻译插件,发现贼好用,速度上很快,给大家分享一下安装安装是非常简单的网址打开:点击点击免费添加,直接安......
  • MySQL优化攻略:利用常量表提升数据库性能
    1.常量表概述常量表在MySQL中的意义与编程语言中的常量不同。在MySQL中,常量表指的是那些读取表时行数明确为零或一行的数据表。常量表可以分为以下两种类型:1.1System表定义:System表是只包含一行数据的表。特点:这种表通常用于优化查询,因为其数据是固定的,因此对查......
  • 知能行考研数学- AI刷题APP使用体验
    我会从我的个人的使用经验出发,详细描述知能行这个AI刷题APP可以在备考中起到的作用。我为什么使用知能行我第一次使用知能行是在4月附近,当时学习正好有位学长的考研经验分享然后加了他的联系方式。通过和他交流然后我就尝试了一下知能行决定使用知能行主要有两个原因:1.这是......
  • Linux磁盘阵列RAID
    目录一、RAID磁盘阵列1.RAID概述二、磁盘列正详解1.RAID0磁盘介绍 2.RAID1磁盘阵列介绍 3.RAID5磁盘阵列介绍 4.RAID6磁盘阵列介绍 5.RAID10  5.1RAID1+0(先做镜像、再做条带) 5.2RAID0+1(先做条带、再做镜像) 二、实验RAID设备创建与删除......
  • 关系数据库
    关系数据库关系的完整性约束实体完整性和参照完整性:关系模型必须满足的完整性约束条件称为关系的两个不变性,应该由关系系统自动支持。用户定义的完整性:应用领域需要遵循的约束条件,体现了具体领域中的语义约束。外码,主码,候选码的概念候选码:若关系中的某一属性组的职能唯一地标......
  • A098-基于SpringBoot的雪具销售系统(源码+LW+PPT+开发文档+数据库文档+部署说明文档)
    开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9浏览器:谷歌浏览器配置环境安装包:Java配置环境链接:https://cloud.189.cn/t/baeQZrAjEvyy(访问码:pfd5)  ......
  • 超干货!如何设计基于Agent的AI应用系统
    LLM驱动的Agent由复旦NLP和米哈游调查完成的文献综述《TheRiseandPotentialofLargeLanguageModelBasedAgents:ASurvey》详细阐述了LLM-basedAgent的相关理论、实践模型和深度思考,知乎上有大神做了详细的解读,我下面基于此再做白话版总结。首先,为什么是“Agent......
  • Docker 镜像拉取失败(error pulling image configuration:download failed)
     修改daemon.json配置vim/etc/docker/daemon.json 输入i替换为:{"builder":{"gc":{"defaultKeepStorage":"20GB","enabled":true}},"experimental":true,"f......