Cursor AI編程實戰-讓AI理解需求,完成庫表設計
我會拿了一個我做過的需求舉例,這個需求我在拿到PRD(產品稿)和設計圖后就讓AI參與到了整個需求的設計和開發了,過程中大部分工作是AI幫助完成的,但還是需要我們自己在過程中多跟AI溝通進行矯正,讓AI的產出能滿足我們的需求。
這里我接到的是在網站上展示訓練營課程、課表、以及記錄學員報名信息的功能需求。課表在網頁上的展示效果如下:
圖片
給AI講需求和拆分任務
讓AI完成我們的開發任務的首要步驟就是我們需要給AI描述清楚需求,描述完需求和背景后給他一個單一的任務。
比如描述完需求后讓AI根據設計能滿足我們需求的數據庫表結構,等數據表設計完成后再下達后面的任務,不要想著兩句話就讓AI把所有工作都能給你完成了。
接下來我們給大家演示一下這個需求怎么用AI編程實現,首先我們需要把產品稿里的需求要做的事情描述給AI,并下達任務,第一個任務是讓AI根據需求設計出數據庫里的表結構。
描述需求的過程中除了用文字外還可以把比較關鍵的產品原型或者設計圖一起發給AI,如下所示:
圖片
我在這里給AI發了兩種產品原型圖,然后告訴AI:
我現在需要做一個數據表的設計, 目前的需求是我有一個訓練營(未來可能會有多種訓練營),訓練營有報名開始和報名結束時間,訓練營里的有多個階段課程,每個階段有單獨的導師和上課時間安排。 而且訓練營也分期數,比如第一期的學員報課后,每個階段的導師和時間安排會給定出來,到了下一期又是另外的時間。圖片提供的是網站的設計圖,請根據這些信息給出你認為能夠滿足需求的數據表設計
AI 很快幫我設計出了表幫我設計了:
- 訓練營類型:training_camps
- 訓練營期數:training_camp_sessions (第一期、第二期什么時候開始報名、什么時候開課之類的信息)
- 訓練營課程:training_camp_courses, 主要是訓練營里有哪幾門課
- 期數課程時間表:session_course_schedules,每一期中各個課程的上課時間等信息
- 學員報名表:student_registrations
讓AI的產出滿足需求
AI整體給出的表結構和關聯關系是沒有什么問題的,不過具體某些字段的定義完全是按產品原型圖上給的例子設計的,不符合后期的需求迭代。 所以在現有生成結果上做了進一步溝通,讓AI進行調整
圖片
- 需要給表加注釋;同時希望訓練營表就叫training_camps;表之間不要添加外鍵;同時狀態字段不要使用 ENUM,用整數代替即可。
- training_camp_stages(就是課程表,后來我改名了) 表中的stage_description, theory_percentage, practice_percentage 直接用Varchar類型,名字改成stage_description1,stage_description2,stage_description3.
- session_stage_schedules中不需要導師簡介、線下學習天數、上課地點、詳細課程安排。 請根據要求重新生成
最后我又讓AI對訓練營價格、報名和訂單表的設計做了如下調整
圖片
學員報名表需要做如下修改,首先圖中是學員信息填寫的需求文檔,同時我還需要設計訂單表, 以及訓練營需要增加金額,一個是銷售金額,一個是劃線的原價。
最后這個需求AI幫助我設計的表結構如下:

通過上面的過程,大家應該能感受到讓AI根據需求設計庫不是一蹴而就的,需要幾次溝通矯正,而且開發寫代碼階段發現不合適的地方我們還會對字段進行微調。我感覺AI在這個過程中完成了80%的工作量,我的工作主要是跟他溝通矯正拿到我想要的結果,以及使用的時候再進行字段的微調。
記得保存階段性產出
大家千萬記得把表結構的SQL保存到項目里的一個單獨的文件中,方便后續讓AI寫代碼或者完成其他任務的時候在對話上下文添加數據表的信息讓AI理解。
上面這個ER圖其實就是我讓AI根據表結構生成的 dbdiagram 的語句,dbdiagram 類似用mermaid生成流程圖的一個工具,有在線版,需要的可以訪問:https://dbdiagram.io/ 。




































