schema-exploration
npx skills add https://github.com/apconw/aix-db --skill schema-exploration
Agent 安装分布
Skill 文档
æ¶ææ¢ç´¢æè½
使¶ä½¿ç¨æ¤æè½
彿¨éè¦ä»¥ä¸æä½æ¶ä½¿ç¨æ¤æè½ï¼
- çè§£æ°æ®åºç»æ
- æ¥æ¾å å«ç¹å®ç±»åæ°æ®ç表
- åç°åååæ°æ®ç±»å
- æ å°è¡¨ä¹é´çå ³ç³»
- åç诸妔æåªäºè¡¨å¯ç¨ï¼”æ”Customer 表æåªäºåï¼”çé®é¢
工使µç¨
1. ååºææè¡¨
ä½¿ç¨ sql_db_list_tables å·¥å
·æ¥çæ°æ®åºä¸ææå¯ç¨ç表ã
è¿å°è¿åæ¨å¯ä»¥æ¥è¯¢ç宿´è¡¨å表ã
2. è·åç¹å®è¡¨çæ¶æ
ä½¿ç¨ sql_db_schema å·¥å
·é
åè¡¨åæ¥æ£æ¥ï¼
- åå – æåªäºå段å¯ç¨
- æ°æ®ç±»å – INTEGER, TEXT, DATETIME ç
- ç¤ºä¾æ°æ® – 3 è¡ç¤ºä¾æ°æ®ä»¥äºè§£å 容
- ä¸»é® – è¡çå¯ä¸æ è¯ç¬¦
- å¤é® – ä¸å ¶ä»è¡¨çå ³ç³»
3. è·åè¡¨å ³ç³»
ä½¿ç¨ sql_db_table_relationship å·¥å
·è·å表ä¹é´çå¤é®/å
³èå
³ç³»ï¼
- å ³èåæ®µ – 两表éè¿åªäºåæ®µå ³è
- JOIN æ¡ä»¶ – è¿åæ ¼å¼å¦
t_orders.customer_id = t_customers.id
示ä¾è°ç¨ï¼
sql_db_table_relationship("t_orders, t_customers, t_products")
妿æªé ç½®è¡¨å ³ç³»ï¼å¯ä»¥éè¿ä»¥ä¸æ¹å¼æ¨æï¼
- æ¥æ¾ä»¥ “Id” æ “_id” ç»å°¾çåï¼ä¾å¦ï¼customer_id, product_idï¼
- å¤é®ååé常对åºå¦ä¸ä¸ªè¡¨ç主é®
- è®°å½ç¶åå ³ç³»
4. åçé®é¢
æä¾æ¸ æ°çä¿¡æ¯ï¼
- å¯ç¨è¡¨åå ¶ç¨é
- åååå ¶å å«çå 容
- 表ä¹é´çå ³èæ¹å¼
- ç¤ºä¾æ°æ®ä»¥è¯´æå 容
示ä¾ï¼”æåªäºè¡¨å¯ç¨ï¼”
æ¥éª¤ 1ï¼ ä½¿ç¨ sql_db_list_tables
ååºï¼
æ°æ®åºå
å«å¤ä¸ªè¡¨ï¼
1. Customer - åå¨å®¢æ·ä¿¡æ¯
2. Employee - åå¨å工信æ¯
3. Invoice - 客æ·è´ä¹°è®°å½
4. InvoiceLine - å票ä¸çå个项ç®
...
示ä¾ï¼”è¿äºè¡¨ä¹é´æä»ä¹å ³ç³»ï¼”
æ¥éª¤ 1ï¼ ä½¿ç¨ sql_db_table_relationship("Customer, Invoice, InvoiceLine")
ååºï¼
表ä¹é´çå
³ç³»å¦ä¸ï¼
⢠Invoice.CustomerId = Customer.Id
⢠InvoiceLine.InvoiceId = Invoice.Id
â
表å
³ç³»å·²è·å宿ã
示ä¾ï¼”Customer 表æåªäºåï¼”
æ¥éª¤ 1ï¼ ä½¿ç¨ sql_db_schema å·¥å
·ï¼è¡¨å为 “Customer”
ååºï¼
Customer 表å
å«ä»¥ä¸åï¼
- CustomerId (INTEGER) - 主é®ï¼å¯ä¸å®¢æ· ID
- FirstName (NVARCHAR) - 客æ·åå
- LastName (NVARCHAR) - 客æ·å§æ°
- Company (NVARCHAR) - å
¬å¸åç§°ï¼å¯éï¼
- Address, City, State, Country, PostalCode - å°ååæ®µ
- Phone (NVARCHAR) - çµè¯å·ç
- Email (NVARCHAR) - çµåé®ä»¶å°å
- SupportRepId (INTEGER) - æå Employee 表çå¤é®
ç¤ºä¾æ°æ®æ¾ç¤ºäºå¦ä¸å®¢æ·ï¼
- 示ä¾å®¢æ· 1
- 示ä¾å®¢æ· 2
- 示ä¾å®¢æ· 3
è´¨éæå
对五ååºè¡¨”é®é¢ï¼
- æ¾ç¤ºææè¡¨å
- æ·»å æ¯ä¸ªè¡¨å å«å 容çç®è¦æè¿°
- 对ç¸å ³è¡¨è¿è¡åç»ï¼ä¾å¦ï¼äº¤æã人åï¼
对五æè¿°è¡¨”é®é¢ï¼
- ååºææååå ¶æ°æ®ç±»å
- è§£éæ¯åå å«çå 容
- æ¾ç¤ºç¤ºä¾æ°æ®ä»¥æä¾ä¸ä¸æ
- 注æä¸»é®åå¤é®
- è§£éä¸å ¶ä»è¡¨çå ³ç³»
对五å¦ä½æ¥è¯¢ X”é®é¢ï¼
- è¯å«æéç表
- æ å° JOIN è·¯å¾
- è§£éå ³ç³»é¾
- 建议ä¸ä¸æ¥ï¼ä½¿ç¨æ¥è¯¢ç¼åæè½ï¼
å¸¸è§æ¢ç´¢æ¨¡å¼
æ¨¡å¼ 1ï¼æ¥æ¾è¡¨
“åªä¸ªè¡¨å å«å®¢æ·ä¿¡æ¯ï¼” â ä½¿ç¨ list_tablesï¼ç¶åæè¿° Customer 表
æ¨¡å¼ 2ï¼çè§£ç»æ
“Invoice è¡¨ä¸æä»ä¹ï¼” â ä½¿ç¨ schema å·¥å ·æ¾ç¤ºååç¤ºä¾æ°æ®
æ¨¡å¼ 3ï¼æ å°å ³ç³»
“客æ·å¦ä½ä¸å票å
³èï¼”
â ä½¿ç¨ sql_db_table_relationship("Customer, Invoice, InvoiceLine") è·åå
³ç³»
â è¿åå¦ï¼Invoice.CustomerId = Customer.Id, InvoiceLine.InvoiceId = Invoice.Id
æç¤º
- å¤é®é常以 “Id” ç»å°¾ï¼å¹¶å¹é 表å
- 使ç¨ç¤ºä¾æ°æ®äºè§£å¼çæ ¼å¼
- ä¸ç¡®å®ä½¿ç¨åªä¸ªè¡¨æ¶ï¼å ååºææè¡¨