Bagaimana cara menggunakan AI untuk pembuatan skema basis data?

Penutup Skema Basis Data Agen AI Back4app

Merancang basis data untuk solusi backend yang efisien merupakan hal yang menantang. Mencari tahu semua kelas yang diperlukan, relasi, dan sebagainya bisa sangat memakan waktu.

Selain itu, membuat keputusan yang salah dalam fase desain bisa berakibat buruk pada saat produksi.

Pada artikel ini, kita akan membahas penggunaan AI untuk pembuatan skema database. Kita akan melihat manfaat dari penggunaan AI dan kekurangannya, serta memberikan beberapa contoh praktis.

Selain itu, Anda akan belajar cara memanfaatkan AI lebih lanjut untuk menghasilkan backend yang lengkap tanpa menulis kode apa pun!

Manfaat menggunakan AI untuk desain basis data

Pertama-tama, mari kita lihat manfaat menggunakan AI.

Otomatisasi & Efektivitas Biaya

Keuntungan pertama dan mungkin yang paling nyata dari penggabungan AI ke dalam desain database adalah kemampuan untuk mengotomatisasi berbagai tugas.

Hal ini termasuk membuat skema database, optimasi database, mengatur indeks, menulis kueri tingkat lanjut, dll.

Semua hal yang disebutkan di atas menghasilkan penghematan waktu dan biaya yang signifikan.

Optimalisasi

AI memainkan peran penting dalam mengoptimalkan struktur database. Melalui algoritme canggih dan pembelajaran mesin, AI dapat menganalisis pola penggunaan data dan merekomendasikan peningkatan pada skema database.

Pengoptimalan ini dapat meningkatkan kinerja dan daya tanggap aplikasi Anda.

Integrasi dengan Basis Data yang Sudah Ada

Keuntungan besar lainnya dari penggunaan AI adalah dapat membantu Anda meningkatkan basis data yang sudah ada.

Yang harus Anda lakukan adalah mendeskripsikan basis data saat ini ke agen AI atau membuat dump basis data dan kemudian mendeskripsikan peningkatan yang diinginkan.

Hal ini menjadi lebih mudah jika Anda menggunakan Back4app Agent. Alih-alih membuat dump database, Anda bisa memberi tahu agen untuk terhubung ke aplikasi yang sudah ada:

Connect to my "movie-reviews" app and create a new database class named `Watchlist`.

Agen AI akan mengumpulkan semua konteks yang diperlukan dan meningkatkan basis data Anda.

Kurang Rawan Kesalahan

Mengintegrasikan AI ke dalam desain basis data mengurangi kemungkinan kesalahan manusia.

Proses desain dan optimasi database tradisional sering kali melibatkan intervensi manual, sehingga meningkatkan risiko kesalahan seperti desain skema yang salah, kueri yang tidak efisien, atau pilihan indeks yang kurang optimal.

Visualisasi yang mudah

Dengan memanfaatkan AI, Anda dapat dengan mudah memvisualisasikan struktur database Anda. Untuk memvisualisasikan basis data, minta agen AI untuk membuat kode visualisasi untuk alat bantu diagram ER favorit Anda.

Berikut ini contoh untuk Putri Mermaid:

Generate Mermaid ER diagram visualization code for my database.

Hasil:

erDiagram
    USER ||--o{ REVIEW : writes
    MOVIE ||--o{ REVIEW : has
    MOVIE ||--o{ MOVIEGENRE : has

    USER {
        username String
        email String
        emailVerified Boolean
        displayName String
    }

    MOVIE {
        title String
        releaseDate Date
        duration Number
        director String
        cast Array
        synopsis String
    }

    // ...

Jebakan dalam menggunakan AI untuk desain basis data

Halusinasi

Agen AI terkadang memberikan informasi yang terdengar masuk akal namun salah atau tidak masuk akal. Hal ini dikenal sebagai halusinasi, dan ini terjadi pada sebagian besar model bahasa besar (LLM).

Karena hal ini, pengembang yang baru mengenal database sebaiknya tidak menggunakan AI untuk pembuatan skema database.

Kinerja

Skema basis data yang dihasilkan oleh AI tidak dijamin optimal. Agen AI mungkin salah menafsirkan apa yang Anda coba buat dan memberikan skema database yang kurang optimal atau cacat.

Desain basis data menggunakan AI adalah proses yang berulang. Jika Anda melihat bahwa agen AI membuat kesalahan, tunjukkanlah. Ia mungkin dapat memperbaikinya atau meningkatkan skema.

Casing Tepi

Menggunakan AI mungkin bukan ide terbaik jika bisnis Anda membutuhkan desain database yang tidak biasa. Sebagian besar agen AI dilatih pada sejumlah besar aplikasi generik.

Mereka tidak memiliki pengetahuan tentang cara menggunakan database khusus Anda.

Jika demikian, Anda lebih baik mengandalkan para ahli daripada solusi AI pada umumnya.

Bagaimana cara menggunakan AI untuk menghasilkan skema basis data?

Di bagian artikel ini, kita akan melihat tiga contoh praktis penggunaan AI untuk menghasilkan skema database. Contoh-contoh tersebut meliputi aplikasi blog sederhana, situs e-commerce, dan situs ulasan film.

Setelah itu, kita akan melihat beberapa hal lain yang dapat dilakukan oleh agen AI Back4app.

Langkah-langkah berikut ini mengharuskan Anda memiliki akun Back4app. Jika Anda belum memilikinya, daftar secara gratis.

Tujuan

  1. Membuat skema basis data
  2. Membuat database menggunakan skema
  3. Menganalisis API RESTful dan GraphQL yang dibuat secara otomatis
  4. Meninjau dokumentasi yang dibuat secara otomatis
  5. Memanfaatkan fungsi Cloud Code

Apa yang dimaksud dengan Agen Back4app?

Back4app Agent adalah agen bertenaga AI yang memungkinkan Anda melakukan tugas-tugas yang berhubungan dengan cloud dengan kekuatan percakapan.

Itu termasuk membuat aplikasi, menerapkan aplikasi, mendesain basis data, dan menulis Dockerfile atau kode front-end.

Dengan memanfaatkan Back4app Agent, Anda akan memiliki asisten DevOps pribadi yang siap membantu Anda 24/7. Hal yang hebat tentangnya adalah ia dapat belajar dengan cepat dan meningkatkan kemampuannya seiring berjalannya waktu.

Agen terintegrasi erat dengan Back4app dan Back4app Containers. Agen harus dimiliki jika Anda sudah menggunakan salah satu layanan Back4app!

Perlu diingat bahwa agen AI bukanlah alat ajaib. Ini adalah model bahasa yang besar dan canggih (LLM) yang mungkin membuat kesalahan. Jika itu terjadi, terserah Anda untuk memperbaikinya. Selain itu, mengirimkan perintah yang sama (seperti saya) mungkin akan menghasilkan respons yang berbeda.

Kasus 1: Situs Web Blog

Sebagai contoh pertama, kita akan meminta agen AI untuk mendesain skema basis data blog. Dengan contoh ini, kami akan memberikan informasi sesedikit mungkin untuk melihat apakah agen AI dapat menyusun potongan-potongan yang hilang.

Navigasikan ke halaman Agen Back4app, buat agen baru, dan minta agen tersebut untuk melakukan hal berikut:

Create a database schema for a simple blog. Each article in the blog should have a `title`, `shortContent`, `content`, `tags`, and other administrative data. The articles should be filterable by `tags`.

Diagram hubungan entitas (ER) dari skema yang dihasilkan:

Diagram ER Blog Agen AI Back4app

Seperti yang Anda lihat, agen berhasil membuat skema basis data yang valid. Skema ini menyertakan semua kelas yang diperlukan dan menangani hubungan di antara kelas-kelas tersebut. Selain itu, agen ini juga menyertakan bidang administratif parsing seperti createdAt, updatedAt, dan ACL.

Kasus 2: Situs Web E-commerce

Selanjutnya, mari kita coba skema basis data yang lebih kompleks. Kali ini, sebuah situs web e-commerce.

Kirimkan permintaan berikut ini ke agen AI:

Create a database schema for an e-commerce website. The database should allow sellers 
to post listings. After a listing is posted, a user can open an order for it. The 
order should be associated with the user's shipping address. Amazon is a good example 
of what I'm looking for.

Agen menghasilkan skema basis data berikut ini:

Diagram ER E-Commerce Agen AI Back4app

Sekali lagi, agen mengembalikan skema basis data yang valid.

Satu-satunya hal yang saya ubah di sini adalah membalik hubungan Pesanan ke Alamat. Akan lebih masuk akal jika sebuah pesanan dikaitkan dengan satu alamat dan sebuah alamat dapat digunakan kembali di seluruh pesanan.

Kasus 3: Tinjau Situs Web

Untuk contoh terakhir, kita akan membuat skema basis data ulasan film. Di sini, kita akan memberikan konteks sebanyak mungkin untuk melihat apakah agen AI dapat membuat skema yang sesuai dengan instruksi terperinci kita.

Minta agen AI dengan pertanyaan berikut:

Create a database schema for a movie review website. The database should contain 
the following models: `Movie`, `MovieGenre`, `Review`,  and `User` (Parse).

Notes:
- A `Movie` can have multiple genres
- The `Review` should contain at least `title`, `content`, `rating`, and `is_critic`
- Each `Review` should be associated with a `User`

Make sure to include all the Parse administrative fields, such as `createdAt`,
`updatedAt`, and `ACL`.

Agen AI menghasilkan skema basis data berikut ini:

Diagram ER Tinjauan Agen AI Back4app

Skema hebat lainnya.

Semua kelas telah diurus, dan hubungannya terlihat baik. Di sini, agen AI bahkan menghasilkan model perantara yang menangani hubungan M:N antara kelas Film dan Genre.

Pembuatan Basis Data

Seperti yang telah disebutkan di bagian pendahuluan, Back4app Agent terintegrasi erat dengan layanan Back4app lainnya.

Membuat skema basis data hanyalah salah satu hal yang dapat dilakukan oleh agen AI. Setelah kita memiliki skema, kita dapat dengan cepat membuat database.

Mintalah agen untuk melakukan hal-hal berikut ini:

Create a Back4app app called "back4app-reviews" using the generated database schema.
Agen AI Back4app Membuat Respons Basis Data

Bagus, sepertinya agen berhasil membuat aplikasi dan struktur database yang diinginkan.

Selanjutnya, minta agen untuk mengisi database dengan beberapa data:

Populate the database with sample users, movie genres, and reviews.
Back4app Mengisi Respons Basis Data

Pastikan database telah dibuat dan diisi dengan menavigasi ke dasbor Back4app, pilih aplikasi Anda, dan periksa entri database.

Back4app Menghasilkan dan Mengisi Basis Data

Itu dia!

Kami sekarang memiliki basis data yang berfungsi penuh untuk situs ulasan film.

API yang dibuat secara otomatis

Back4app memungkinkan Anda untuk berkomunikasi dengan backend Anda melalui:

  1. API RESTful yang dibuat secara otomatis
  2. API GraphQL yang dihasilkan secara otomatis
  3. Parse SDK

Mari kita bahas satu per satu.

API RESTful

REST didasarkan pada protokol HTTP dan menggunakan metode HTTP yang berbeda seperti GET, POST, PUT, dan DELETE untuk memanipulasi sumber daya.

Operasi ini sering disebut CRUD (Create, Retrieve, Update, Delete). REST mendukung berbagai format data, tetapi format yang lebih disukai adalah JSON.

Untuk menguji API REST, buka aplikasi Anda dan pilih “API > Konsol > REST” pada bilah samping.

Konsol REST Back4app

Isi formulir dengan informasi berikut:

  • Jenis permintaan GET
  • Titik akhir: kelas/Film
  • Kunci utama: Benar

Selanjutnya, klik “Kirim Kueri” untuk menjalankan kueri.

Anda akan mendapatkan respons yang serupa dengan yang satu ini:

{
    "results": [
        {
            "objectId": "AD1r4b9Oie",
            "title": "The Fast Saga",
            "duration": 120,
            "director": "Justin Lin",
            "cast": [
                "Vin Diesel",
                "Michelle Rodriguez"
            ],
            "synopsis": "Street racing, heists, and espionage.",
            "createdAt": "2024-02-03T21:53:54.724Z",
            "updatedAt": "2024-02-03T21:53:54.724Z",
        },
        {
            "objectId": "Sr6FQjnckj",
            "title": "The Serious Case",
            "duration": 140,
            "director": "Christopher Nolan",
            "cast": [
                "Christian Bale",
                "Michael Caine"
            ],
            "synopsis": "An intricate story of human emotions and relationships",
            "createdAt": "2024-02-03T21:53:54.724Z",
            "updatedAt": "2024-02-03T21:53:54.724Z",
        },
        // ...
    ]
}

Operasi daftar bekerja dengan baik. Film berhasil diserialisasi dan dikembalikan sebagai JSON. Untuk mengetahui cara kerja RESTful API, saya sarankan Anda menguji operasi-operasi lainnya juga.

Untuk mempelajari lebih lanjut tentang RESTful API, lihat Bagaimana cara membangun RESTful API?

API GraphQL

GraphQL berfungsi sebagai bahasa kueri dan runtime sisi server untuk memfasilitasi pengembangan antarmuka pemrograman aplikasi (API).

Teknologi ini memberdayakan klien untuk menentukan data yang mereka butuhkan dari API, sehingga tidak perlu bergantung pada backend untuk kumpulan data yang telah ditentukan.

Untuk menguji kueri GraphQL, buka “API > Konsol > GraphQL” pada bilah sisi.

Konsol GraphQL Back4app

Selanjutnya, jalankan kueri GraphQL berikut ini:

{
  reviews {
    count
    edges {
      node {
        objectId
        rating
      }
    }
  }
}

Seperti yang Anda lihat, kueri mengambil semua ulasan tetapi hanya menyertakan objectId dan peringkatnya. Sekali lagi, jangan ragu untuk menguji kueri dan manipulasi yang berbeda.

Untuk mempelajari lebih lanjut tentang GraphQL, lihat Bagaimana cara membangun API GraphQL?

Parse SDK

Parse SDK adalah cara yang direkomendasikan untuk menghubungkan frontend Anda dengan backend. Cara ini adalah yang paling kuat dan paling tidak rentan terhadap kesalahan.

Parse SDK mendukung berbagai bahasa pemrograman dan kerangka kerja, termasuk JavaScript, TypeScript, Objective-C, dll.

Ini memungkinkan Anda untuk melakukan operasi CRUD, kueri tingkat lanjut, dan banyak lagi.

Untuk mempelajari cara memanfaatkan Parse SDK, lihat Bagaimana cara meng-host frontend dan backend?

Dokumentasi yang dihasilkan secara otomatis

Hal hebat lainnya tentang Back4app adalah ia secara otomatis menghasilkan dokumentasi untuk semua model basis data Anda.

Anda akan mendapatkan penjelasan teks yang sederhana dan mudah dipahami serta cuplikan kode yang praktis untuk berbagai bahasa pemrograman, seperti JavaScript, TypeScript, Objective-C, Swift, dan banyak lagi.

Untuk mengakses dokumen, buka aplikasi Anda dan pilih “API > API Reference” pada bilah samping:

Referensi API Back4app

Berikut ini tangkapan layar dari tampilan dokumen tersebut:

Dokumentasi yang Dihasilkan Back4app

Kode Cloud

Back4app memungkinkan Anda menjalankan kode JavaScript khusus melalui apa yang disebut fungsi Cloud Code.

Fungsi-fungsi ini dapat membantu melakukan operasi yang kompleks, seperti agregasi data, ekspor, dll.

Fungsi Cloud Code dapat dipicu oleh permintaan Parse atau HTTP atau dijadwalkan untuk dijalankan di masa mendatang.

Fungsi Kode Cloud

Misalkan kita menginginkan fungsi Cloud Code yang menghitung peringkat rata-rata film. Kita dapat menulis dan menerapkannya sendiri, tetapi akan lebih mudah jika kita meminta agen AI untuk melakukannya.

Arahkan ke layar Agen AI dan minta dengan yang berikut ini:

Please write me a Cloud Code function that calculates a movie's average rating. The the function should take in the movie's `objectId` and return a float (average rating).
Respons Kode Cloud Agen AI Back4app

Silakan mengujinya dengan menggunakan perintah cURL berikut ini:

$ curl -X POST \
   -H "X-Parse-Application-Id: <your_app_id>" \
   -H "X-Parse-REST-API-Key: <your_rest_api_key>" \
   -H "Content-Type: application/json" \
   -d '{"movieId": "<movie_object_id>"}' \
   https://parseapi.back4app.com/functions/calculateAverageRating

Pastikan untuk mengganti placeholder (<your_app_id>, <your_rest_api_key>, dan <movie_object_id>) dengan nilai yang sebenarnya. Untuk mendapatkan “ID Aplikasi” dan “Kunci API REST”, buka aplikasi Anda dan pilih “Pengaturan Aplikasi > Keamanan & Kunci” di bilah sisi.

Anda akan mendapatkan respons yang serupa:

{
  "result": 4.25
}

Untuk melihat kode yang dibuat di latar belakang, buka “Cloud Code > Function & Web Hosting” pada bilah samping. Kemudian pilih main.js di dalam folder cloud.

Kode Cloud Back4app

Penjadwalan Kode Cloud

Terakhir, minta agen AI untuk menjadwalkan pekerjaan mingguan:

Create and deploy a Cloud Code job named `clearRatings()`, which deletes all 
the ratings. Schedule it to run every week.
Tanggapan Jadwal Back4app

Agen telah berhasil membuat pekerjaan dan menjadwalkannya setiap minggu.

Kesimpulan

Singkatnya, kami telah berhasil memanfaatkan AI untuk menghasilkan skema basis data.

Kami juga telah mempelajari cara membuat aplikasi dan basis data Back4app, menghasilkan data sampel, dan mengimplementasikan fungsi Cloud Code khusus, semuanya dengan kekuatan percakapan.

Ingatlah bahwa membuat skema basis data menggunakan AI adalah proses yang berulang. Jika Anda merasa ada sesuatu yang dapat diimplementasikan dengan lebih baik, jelaskan kepada agen, dan agen akan memodifikasi skema Anda.

Sumber artikel tambahan dapat diakses di back4app-ai-agent-schema repo.


Leave a reply

Your email address will not be published.