CRUD гэж юу вэ? Create, Read, Update, Delete-г тайлбарлая
CRUD нь create, read, update, delete гэсэн утгатай — апп хадгалсан өгөгдөлтэй хийдэг дөрвөн үндсэн зүйл. Шинэ харилцагч нэмэх нь create, харилцагчдын жагсаалтыг харах нь read, тэдний утасны дугаарыг солих нь update, тэднийг устгах нь delete юм. Ихэнх бизнесийн апп — CRM, захиалгын систем, бараа материалын хянагч, админ самбар — дүрмүүд болон сайн зохион байгуулалттай дэлгэцтэй CRUD-ээс голчлон бүтдэг.
AI-аар бүтээхэд яагаад чухал вэ
CRUD бол тодорхойгүй аппын санааг тодорхой хүсэлт болгон хувиргадаг хэл юм. «Манай нийлүүлэгчдийг удирдах апп» гэвэл AI таахаас өөр аргагүй. «Нийлүүлэгчдийг эдгээр талбаруудтай үүсгэх, жагсаах, засах, устгах» гэвэл яг ямар дэлгэц, өгөгдлийн сангийн үйлдэл, серверийн route бүтээхээ хэлнэ.
Мөн энэ нь тестийн жагсаалт өгдөг. Аппынхаа бичлэг бүрийн хувьд дөрвөн асуулт асууж болно: нэмж болох уу, харж болох уу, өөрчилж болох уу, устгаж болох уу — мөн зөвхөн зөв хүмүүс тус бүрийг хийж чадах уу? AI-аар бүтээсэн апп-уудын гайхмаар олонх нь бичлэг үүсгэж чаддаг боловч засаж чаддаггүй, эсвэл хэн дуртай нь юуг ч устгах боломжтой байдаг.
Өдөр тутмын жишээ: жорын карт хайрцаг
Галын тавиур дээрх жорын картын хайрцагыг төсөөлөөрэй.
- Create: шинэ карт бичиж, хавсаргана.
- Read: хайрцгийг хурдан хуудаслах эсвэл lasagne-ийнхийг гаргаж үзнэ.
- Update: «200г бяслаг» гэсэн мөрийг зураад «250г» гэж бичнэ.
- Delete: картыг гаргаж хаядаг.
Одоо дүрэм нэмье: зөвхөн ахлах тогооч картыг хаяж болно, карт бүр гарчигтай байх ёстой, хэн ч ижил нэртэй хоёр карт хадгалж болохгүй. Энэ бол баталгаажуулалт, зөвшөөрөлтэй CRUD апп — ихэнх бодит апп яг ийм байдаг.
CRUD давхарга бүрт хэрхэн харагддаг вэ
Үйлдэл бүр дэлгэц, сервер, өгөгдлийн санд гарч ирдэг. Тэдгээрийг зэрэгцүүлэн харвал аппыг хэрхэн бүтээдгийг ихийг ойлгуулдаг.
| Үйлдэл | Дэлгэц дээр | API хүсэлт (REST) | Өгөгдлийн сан дахь SQL |
|---|---|---|---|
| Create | «Шинэ» товч ба маягт | POST /api/suppliers | INSERT |
| Read | Хайлт, шүүлтүүртэй жагсаалт; дэлгэрэнгүй хуудас | GET /api/suppliers болон GET /api/suppliers/42 | SELECT |
| Update | «Засах» маягт эсвэл шууд засах | PUT эсвэл PATCH /api/suppliers/42 | UPDATE |
| Delete | Баталгаажуулалттай «Устгах» товч | DELETE /api/suppliers/42 | DELETE (эсвэл мөрийг устсан гэж тэмдэглэх) |
Дэлгэц бол frontend, API хүсэлт бол frontend backend-тэй яаж харилцдаг вэ гэдэг, SQL бол backend өгөгдлийн сантай яаж харилцдаг вэ гэдэг. Хэрэв эдгээр үгс шинэ бол API гэж юу вэ болон өгөгдлийн сан гэж юу вэ гэдгийг үзнэ үү.
Жишээ: тоног төхөөрөмжийн зээлийн хянагч
Сургуулийн медиа хэлтэс сурагчдад камер, микрофон зээлдүүлдэг бөгөөд тэдгээрийг байнга алддаг. Тэд энгийн апп хүсдэг.
Бичлэгүүд. Хоёр төрлийн зүйл: тоног төхөөрөмж (нэр, төрөл, серийн дугаар, байдал) болон зээл (ямар тоног төхөөрөмж, аль сурагч, гаргасан огноо, буцаах огноо, буцаасан огноо).
Тоног төхөөрөмжийн CRUD:
- Create: ажилтнууд серийн дугаартай шинэ камер нэмнэ. Дүрэм: серийн дугаар давтагдашгүй байх ёстой.
- Read: бүх тоног төхөөрөмжийн жагсаалт, төрөл болон «одоо боломжтой» гэж шүүх боломжтой; нэг зүйлийн зээлийн түүхийг харуулах дэлгэрэнгүй хуудас.
- Update: байдлыг «засвар хэрэгтэй» гэж өөрчлөх.
- Delete: ихэвчлэн жинхэнэ устгал биш. Хэрэв 30 өмнөх зээлтэй камерыг устгавал тэдгээр зээлийн бичлэгүүд холбоосоо алдана. Үүний оронд «зөрүүлсэн» гэж тэмдэглэж, боломжтой жагсаалтаас алга болгож, түүх нь үлдэнэ. Үүнийг soft delete гэдэг.
Зээлийн CRUD:
- Create: тоног төхөөрөмжийг сурагчид гаргаж өгнө. Дүрэм: аль хэдийн зээлээр байгаа зүйлийг гаргаж болохгүй.
- Read: «хугацаа хэтэрсэн зээлүүд» — буцаах огноо өнгөрсөн, буцаасан огноо байхгүй жагсаалт.
- Update: зүйл буцаж ирэхэд буцаасан огноог бүртгэнэ.
- Delete: зөвхөн ажилтнууд, андуурч оруулсан зээлүүдэд.
Зөвшөөрөл. Сурагчид боломжтой зүйлсийг уншиж болно; зөвхөн ажилтнууд үүсгэх, засах, устгаж болно. Эдгээр шалгалт товчийг нуухаас гадна серверт ажилладаг.
Энэ бол бүх апп. Сонирхолтой хэсгүүд — давхар зээлдүүлэхгүй байх, хугацаа хэтэрсэн жагсаалт, зүйл бүрийн түүх — энгийн CRUD дээр нэмэгдсэн дүрэм болон асуулгууд юм.
Гол нэр томьёо
- Бичлэг (мөр): нэг зүйл, жишээлбэл нэг нийлүүлэгч эсвэл нэг зээл.
- Entity / resource: бичлэгийн төрөл, жишээлбэл «нийлүүлэгчид». Ихэвчлэн тус бүр өөрийн хүснэгт болон CRUD дэлгэцийн багцтай байдаг.
- Баталгаажуулалт (validation): оролтын шалгалт — заавал талбар, зөв имэйл, эерэг тоо. Маягтанд удобства төлөө болон серверт аюулгүй байдлын төлөө хийнэ.
- Soft delete: бичлэгийг устгахын оронд устсан эсвэл архивласан гэж тэмдэглэх, ингэснээр түүх болон холбоос үлдэнэ.
- Хуудаслалт (pagination): урт жагсаалтыг хуудас хуудсаар харуулах, ингэснээр апп хурдан хэвээр байна.
- Аудит лог: хэн юуг үүсгэсэн, өөрчилсөн, устгасан, хэзээ гэдгийн бүртгэл.
- Админ самбар: ажилтнууд аппын өгөгдлийг удирдахад зориулсан CRUD дэлгэцийн багц.
Түгээмэл алдаа ба буруу ойлголтууд
- Дөрвөн үйлдлийн нэгийг мартах. Аппууд ихэвчлэн create болон read-тэй боловч засах байхгүй байдаг тул алдаа бүр устгаад дахин оруулах шаардлагатай болдог. Бүх entity-д дөрвийг нь шалгаарай.
- Устгал нь бусад зүйлийг эвддэг. Нэхэмжлэхтэй харилцагчийг устгавал эзэнгүй нэхэмжлэхүүд үлдэх эсвэл түүхийг устгаж болно. Entity бүрт шийд: устгалыг хориглох, soft delete хийх, эсвэл холбогдох бичлэгүүдийг бас устгах.
- Зөвшөөрөл зөвхөн интерфейсэд. Delete товчийг нуух нь хэн нэгэн
DELETEхүсэлт илгээхээс сэргийлдэггүй. Сервер хэн асууж байгааг шалгах ёстой. - Эзэмшлийг шалгалгүйгээр ID-гаар шинэчлэх. Хэрэв хэрэглэгч A URL дахь тоог солиод
/api/notes/42-г засах боломжтой бол хэрэглэгч B-ийн тэмдэглэлийг засаж болно. Бүх update болон delete нь бичлэг хүсэлт гаргагчийнх мөн эсэхийг баталгаажуулах ёстой. - Устгахад баталгаажуулалтгүй. Нэг буруу дарсан нь өгөгдлийг устгах ёсгүй. Баталгаажуулах алхам эсвэл буцаах боломж асуу.
- «CRUD бол энгийн гэсэн үг, тиймээс барих үнэ цэнэгүй.» Олон үнэтэй бүтээгдэхүүн нь ерөнхий хэрэгслээс илүү ажлын урсгалд таарсан CRUD апп байдаг.
AI builder-оосоо юу гуйх вэ
Энэ загварыг entity бүрт нэг нэгээр нь ашиглаарай:
Нийлүүлэгчид хэсгийг жагсаах, үүсгэх, засах, устгах боломжтойгоор бүтээ. Талбарууд: нэр (заавал), холбоо барих имэйл (зөв имэйл), утас, ангилал (нэг нь: хүнс, савлагаа, цэвэрлэгээ), тэмдэглэл. Жагсаалтад нэрээр хайх, ангилалаар шүүх, хуудас бүр 20 бичлэгтэй. Устгахаасаа өмнө баталгаажуулалт асуу; нийлүүлэгчид захиалгатай бол устгахын оронд архивла. Зөвхөн нэвтэрсэн ажилтнууд үүсгэх, засах, архивлах боломжтой — үүнийг серверт хэрэгжүүл.
Дараа нь дөрвөн үйлдлийг бүгдийг нь зөвшөөрөгдсөн хэрэглэгчээр болон хандах эрхгүй хэн нэгээр туршаарай. Нэг entity ажилласны дараа дараагийнхыг нэмнэ. Дотоод хэрэгсэл хэрхэн бүтээх вэ нь CRUD дэлгэцүүд бүрэн админ апп болж хэрхэн хувирдагийг харуулна, мөн Postgres гэж юу вэ нь эдгээр апп ихэвчлэн суурилдаг өгөгдлийн санг тайлбарлана.
Mythex дээрх CRUD апп
CRUD апп бол AI апп builder-үүд хамгийн сайн хийдэг зүйлсийн нэг бөгөөд Mythex ч үүнд хамаарна. Чатад entity болон түүний талбаруудыг хүсэхэд Mythex төсөлд Postgres өгөгдлийн сан холбож, хүснэгтийг үүсгээд, амьд урьдчилан харалтад жагсаалт, маягт, дэлгэрэнгүй дэлгэцүүдийг бүтээдэг; дараа нь урсгалыг шалгахын тулд /test ажиллуулж болно. Docs-д эхлэх prompt бүхий CRUD апп жор байдаг бөгөөд дотоод хэрэгслийн builder болон dashboard загварууд нь эхлэх сайн газар юм.
Асуултууд
CRUD гэдэг нь юуны товчлол вэ?
CRUD нь create, read, update, delete гэсэн утгатай: шинэ бичлэг нэмэх, бичлэгүүдийг харах, бичлэгийг өөрчлөх, мөн нэгийг нь устгах. Өгөгдөл хадгалдаг бараг бүх апп эдгээр дөрвөн үйлдлээс бүтдэг.
CRUD апп гэж юу вэ?
CRUD апп бол үндсэн ажил нь маягт, жагсаалт, дэлгэрэнгүй хуудсуудаар бичлэгүүдийг удирдах апп юм, жишээлбэл CRM, бараа материал хянагч, захиалгын админ эсвэл ажлын зарын backend. Ихэнх дотоод хэрэгсэл болон админ самбар нь CRUD апп байдаг.
CRUD нь REST API-тай ямар холбоотой вэ?
Ердийн REST API-д create нь POST хүсэлт, read нь GET, update нь PUT эсвэл PATCH, delete нь DELETE хүсэлт ашигладаг. Дараа нь backend нь тохирох өгөгдлийн сангийн үйлдлийг ажиллуулна: INSERT, SELECT, UPDATE эсвэл DELETE.
CRUD апп нь үнэ цэнэтэй байхад хэтэрхий энгийн үү?
Үгүй. Ашигтай бизнесийн программ хангамжийн ихэнх нь сайн дүрэм, зөвшөөрөл, тайлангуудтай CRUD байдаг. Үнэ цэнэ нь өгөгдлийг сайн загварчлах, ажлын урсгалд таарахад оршдог, ер бусын технологид биш.