项目立项:如何用AI从零设计一个产品的数据库

张开发
2026/4/9 10:52:32 15 分钟阅读

分享文章

项目立项:如何用AI从零设计一个产品的数据库
F03 | 项目立项如何用 AI 从零设计一个产品的数据库免费文章| 设计篇数据库是软件产品的骨架一个软件产品做得好不好往往在数据库设计阶段就决定了。数据库设计得好后续开发事半功倍设计得差越到后期越难改。以前这是件很费脑子的事现在有 AI 帮你但你仍然需要懂得如何提问和如何审查 AI 的输出。案例设计小城乐游小程序的数据库第一步给 AI 描述你的业务好的提示词是设计的关键。不要说❌ 帮我设计一个旅游小程序的数据库而要说✅ 我要做一个面向小城市旅游的微信小程序用户可以1. 浏览城市和景点信息有封面图、标签、评分、开放时间2. 收藏景点3. 创建旅行计划选择多个景点设置出发日期4. 记录游览足迹5. 搜索景点关键词、城市、标签筛选用户系统微信 OpenID 登录存储手机号、昵称、头像。请设计 MySQL 数据库表结构给出建表 SQL。第二步审查 AI 的输出AI 生成的 SQL 不能直接用你需要检查1. 主键设计-- ❌ 不好自增主键在分布式场景有问题 id INT AUTO_INCREMENT PRIMARY KEY -- ✅ 好VARCHAR COMM_ID支持业务编码 COMM_ID VARCHAR(32) NOT NULL PRIMARY KEY2. 时间字段-- ✅ 标准时间字段 CREATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, UPDATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, CREATE_BY VARCHAR(32) COMMENT 创建人ID, UPDATE_BY VARCHAR(32) COMMENT 更新人ID3. 软删除-- ✅ 使用 FLAG 字段软删除不直接 DELETE FLAG INT DEFAULT 1 COMMENT 1有效 0删除4. JSON 字段的使用-- 对于数组类型数据如标签、图片列表用 TEXT 存 JSON 字符串 TAGS TEXT COMMENT 标签列表 JSON数组 如[beach,free_entry], IMAGES TEXT COMMENT 图片列表 JSON数组第三步本项目实际的表结构-- 城市表 CREATE TABLE TOWN_CITY ( COMM_ID VARCHAR(32) NOT NULL PRIMARY KEY, CITY_NAME VARCHAR(64) NOT NULL COMMENT 城市名称, PROVINCE VARCHAR(32) COMMENT 省份, BRIEF VARCHAR(256) COMMENT 简介, CITY_DESC TEXT COMMENT 详细描述, COVER_IMAGES TEXT COMMENT 封面图 JSON数组, BEST_SEASON VARCHAR(64) COMMENT 最佳季节, RECOMMEND_DAYS INT COMMENT 建议游览天数, SORT INT DEFAULT 0 COMMENT 排序, FLAG INT DEFAULT 1 COMMENT 1有效 0删除, CREATE_TIME DATETIME DEFAULT CURRENT_TIMESTAMP, UPDATE_TIME DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) COMMENT 城市表; -- 景点表 CREATE TABLE TOWN_ATTRACTION ( COMM_ID VARCHAR(32) NOT NULL PRIMARY KEY, CITY_ID VARCHAR(32) NOT NULL COMMENT 所属城市, ATT_NAME VARCHAR(128) NOT NULL COMMENT 景点名称, COVER_IMAGE VARCHAR(512) COMMENT 封面图, IMAGES TEXT COMMENT 图集 JSON数组, TAGS TEXT COMMENT 标签 JSON数组, HIGHLIGHT VARCHAR(512) COMMENT 亮点摘要, DESCRIPTION TEXT COMMENT 详细描述/玩法, OPEN_TIME_DESC VARCHAR(256) COMMENT 开放时间, TICKET_INFO VARCHAR(256) COMMENT 票价信息, SUGGEST_DURATION VARCHAR(64) COMMENT 建议游览时长, ADDRESS VARCHAR(256) COMMENT 地址, LONGITUDE DECIMAL(10,7) COMMENT 经度, LATITUDE DECIMAL(10,7) COMMENT 纬度, KIDS_FRIENDLY INT DEFAULT 0 COMMENT 亲子友好度 1-5, KIDS_NOTE VARCHAR(256) COMMENT 亲子说明, TRANSPORT_INFO TEXT COMMENT 交通信息, CONTACT_PHONE VARCHAR(32) COMMENT 联系电话, SORT INT DEFAULT 0 COMMENT 排序, FLAG INT DEFAULT 1, CREATE_TIME DATETIME DEFAULT CURRENT_TIMESTAMP, UPDATE_TIME DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) COMMENT 景点表;关键设计原则所有表统一前缀按业务模块划分TOWN_, BD_, LP_方便管理主键用 VARCHAR(32)业务编码格式如TOWN_ATT_20240101_001必备 4 个时间字段CREATE_TIME, UPDATE_TIME, CREATE_BY, UPDATE_BYFLAG 软删除永远不直接 DELETEJSON 字段存数组灵活扩展TEXT 类型存储不存冗余计算字段如距离、评分汇总运行时计算或定期刷新用 AI 验证你的设计设计完成后把你的表结构发给 AI问它请检查这个数据库设计指出可能存在的性能问题、设计缺陷以及遗漏的字段AI 会帮你做一次设计审查通常能发现几个你没想到的问题。下一篇F04 → 后端框架选型为什么选 Kotlin Spring Boot本文为免费文章转载请注明出处。

更多文章