Veritabanı şeması oluşturmak için yapay zeka nasıl kullanılır?

Back4app AI Agent Veritabanı Şema Kapağı

Verimli bir arka uç çözümü için bir veritabanı tasarlamak zordur. Gerekli tüm sınıfları, ilişkileri ve benzerlerini bulmak son derece zaman alıcı olabilir.

Dahası, tasarım aşamasında yanlış kararlar vermek, daha sonra üretimde zararlı sonuçlar doğurabilir.

Bu makalede, veritabanı şeması oluşturma için yapay zeka kullanımını tartışacağız. Yapay zeka kullanmanın faydalarına ve tuzaklarına bakacağız ve birkaç pratik örnek sunacağız.

Bunun da ötesinde, herhangi bir kod yazmadan tam teşekküllü bir arka uç oluşturmak için yapay zekayı nasıl kullanacağınızı öğreneceksiniz!

Veritabanı tasarımı için yapay zeka kullanmanın faydaları

Öncelikle yapay zeka kullanmanın faydalarına bakalım.

Otomasyon ve Maliyet Etkinliği

Yapay zekayı veritabanı tasarımına dahil etmenin ilk ve muhtemelen en belirgin avantajı, çeşitli görevleri otomatikleştirme yeteneğidir.

Bu, veritabanı şemasının oluşturulmasını, veritabanı optimizasyonunu, indekslerin ayarlanmasını, gelişmiş sorguların yazılmasını vb. içerir.

Yukarıda belirtilenlerin tümü önemli ölçüde zaman ve maliyet tasarrufu sağlar.

Optimizasyon

Yapay zeka, veritabanı yapılarının optimize edilmesinde çok önemli bir rol oynar. Gelişmiş algoritmalar ve makine öğrenimi sayesinde yapay zeka, veri kullanım modellerini analiz edebilir ve veritabanı şemasında iyileştirmeler önerebilir.

Bu optimizasyon, uygulamanızın performansının ve yanıt verme hızının artmasını sağlayabilir.

Mevcut Veritabanları ile Entegrasyon

Yapay zeka kullanmanın bir diğer büyük avantajı da mevcut veritabanlarınızı yükseltmenize yardımcı olabilmesidir.

Tek yapmanız gereken mevcut veritabanını yapay zeka ajanına tanımlamak veya bir veritabanı dökümü oluşturmak ve ardından istenen yükseltmeleri tanımlamaktır.

Back4app Agent kullanıyorsanız bu daha da kolay hale gelir. Bir veritabanı dökümü oluşturmak yerine, aracıya mevcut bir uygulamaya bağlanmasını söyleyebilirsiniz:

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

Yapay zeka ajanı gerekli tüm bağlamı toplayacak ve veritabanınızı buna göre yükseltecektir.

Daha Az Hata Eğilimli

Yapay zekanın veritabanı tasarımına entegre edilmesi, insan hatası olasılığını azaltır.

Geleneksel veritabanı tasarımı ve optimizasyon süreçleri genellikle manuel müdahale içerir ve yanlış şema tasarımları, verimsiz sorgular veya optimum olmayan dizin seçimleri gibi hata riskini artırır.

Kolay Görselleştirme

Yapay zekadan yararlanarak veritabanı yapınızı kolayca görselleştirebilirsiniz. Veritabanını görselleştirmek için AI ajanından favori ER diyagram oluşturma aracınız için görselleştirme kodu oluşturmasını isteyin.

İşte Mermaid için bir örnek:

Generate Mermaid ER diagram visualization code for my database.

Sonuç:

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
    }

    // ...

Veritabanı tasarımı için yapay zeka kullanmanın tuzakları

Halüsinasyonlar

Yapay zeka ajanları bazen kulağa makul gelen ancak yanlış veya anlamsız bilgiler sağlar. Bu durum halüsinasyon olarak bilinir ve çoğu büyük dil modelinde (LLM’ler) görülür.

Bu nedenle, veritabanlarına yeni başlayan geliştiriciler veritabanı şeması oluşturmak için yapay zekayı kullanmamalıdır.

Performans

Yapay zeka tarafından oluşturulan veritabanı şemasının optimum olması garanti edilmez. YZ aracısı, oluşturmaya çalıştığınız şeyi yanlış yorumlayabilir ve size optimal olmayan veya kusurlu bir veritabanı şeması sağlayabilir.

YZ kullanarak veritabanı tasarımı yinelemeli bir süreçtir. YZ aracısının bir hata yaptığını fark ederseniz, bunu belirtin. Bunu düzeltebilir veya şemayı iyileştirebilir.

Uç Vakalar

İşiniz alışılmadık bir veritabanı tasarımı gerektiriyorsa, yapay zeka kullanmak en iyi fikir olmayabilir. Çoğu YZ ajanı çok sayıda genel uygulama üzerinde eğitilmiştir.

Özel veritabanınızı nasıl kullanacakları konusunda hiçbir bilgileri yoktur.

Eğer durum buysa, genel yapay zeka çözümleri yerine uzmanlara güvenmeniz daha iyi olacaktır.

Bir veritabanı şeması oluşturmak için yapay zeka nasıl kullanılır?

Bu makale bölümünde, bir veritabanı şeması oluşturmak için yapay zeka kullanımına ilişkin üç pratik örneği inceleyeceğiz. Örnekler arasında basit bir blog uygulaması, bir e-ticaret sitesi ve bir film inceleme sitesi bulunmaktadır.

Bundan sonra, Back4app AI aracısının yapabildiği diğer bazı şeylere bakacağız.

Aşağıdaki adımlar bir Back4app hesabınızın olmasını gerektirecektir. Henüz bir hesabınız yoksa, ücretsiz kaydolun.

Hedefler

  1. Veritabanı şeması oluşturma
  2. Şemayı kullanarak bir veritabanı oluşturma
  3. Otomatik oluşturulan RESTful ve GraphQL API’yi analiz edin
  4. Otomatik oluşturulan belgeleri gözden geçirin
  5. Cloud Code işlevlerini kullanma

Back4app Agent nedir?

Back4app Agent, bulutla ilgili görevleri konuşma gücüyle gerçekleştirmenizi sağlayan yapay zeka destekli bir aracıdır.

Bu, uygulama oluşturmayı, uygulamaları dağıtmayı, veritabanını tasarlamayı ve Docker dosyalarını veya ön uç kodunu yazmayı içerir.

Back4app Agent’tan yararlanarak, 7/24 yanınızda kendi kişisel DevOps asistanınıza sahip olacaksınız. İşin en güzel yanı, anında öğrenebilmesi ve siz ilerledikçe gelişebilmesidir.

Aracı, Back4app ve Back4app Containers ile sıkı bir şekilde entegre edilmiştir. Back4app’in hizmetlerinden herhangi birini kullanıyorsanız, aracı mutlaka sahip olmanız gereken bir özelliktir!

YZ aracısının sihirli bir araç olmadığını unutmayın. Hata yapabilecek büyük, sofistike bir dil modelidir (LLM). Böyle bir durumda, hataları düzeltmek size kalacaktır. Ek olarak, aynı istemleri göndermek (benim gibi) farklı yanıtlar verebilir.

Örnek 1: Blog Web Sitesi

İlk örnek olarak, yapay zeka ajanından bir blog veritabanı şeması tasarlamasını isteyeceğiz. Bu örnekte, yapay zeka ajanının eksik parçaları bulup bulamayacağını görmek için mümkün olduğunca az bilgi vereceğiz.

Back4app Agent sayfasına gidin, yeni bir agent oluşturun ve aşağıdaki komutu verin:

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`.

Oluşturulan şemanın varlık-ilişki (ER) diyagramı:

Back4app AI Agent Blog ER Diyagramı

Gördüğünüz gibi, aracı geçerli bir veritabanı şemasını başarıyla oluşturdu. Gerekli tüm sınıfları dahil etti ve bunlar arasındaki ilişkileri ele aldı. Ayrıca, createdAt, updatedAt ve ACL gibi Parse yönetim alanlarını da dahil etti.

Örnek 2: E-ticaret Web Sitesi

Devam edelim, daha karmaşık bir veritabanı şeması deneyelim. Bu sefer bir e-ticaret sitesi.

Aşağıdaki istemi AI temsilcisine gönderin:

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.

Aracı aşağıdaki veritabanı şemasını oluşturdu:

Back4app AI Agent E-Ticaret ER Diyagramı

Aracı yine geçerli bir veritabanı şeması döndürdü.

Burada değiştireceğim tek şey SiparişAdres ilişkisini tersine çevirmek olurdu. Bir siparişin tek bir adresle ilişkilendirilmesi ve bir adresin siparişler arasında yeniden kullanılabilir olması daha mantıklı olacaktır.

Örnek 3: Web Sitesini İnceleyin

Son örnek için, bir film inceleme veritabanı şeması oluşturacağız. Burada, yapay zeka ajanının ayrıntılı talimatlarımıza uyan bir şema oluşturup oluşturamayacağını görmek için mümkün olduğunca fazla bağlam sağlayacağız.

Yapay zeka temsilcisine aşağıdaki soruyu sorun:

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`.

AI Agent aşağıdaki veritabanı şemasını oluşturdu:

Back4app AI Agent İnceleme ER Diyagramı

Bir başka harika şema.

Tüm sınıflar halledildi ve ilişkiler iyi görünüyor. Burada yapay zeka ajanı, Film ve Tür sınıfı arasındaki M:N ilişkisini ele alan bir ara model bile oluşturdu.

Veritabanı Oluşturma

Giriş bölümünde de belirtildiği gibi, Back4app Agent diğer Back4app hizmetleriyle sıkı bir şekilde entegre edilmiştir.

Veritabanı şemasını oluşturmak, yapay zeka ajanının yapabileceği şeylerden sadece bir tanesidir. Şemaya sahip olduğumuzda, hızlı bir şekilde bir veritabanı oluşturabiliriz.

Temsilciye aşağıdaki soruyu sorun:

Create a Back4app app called "back4app-reviews" using the generated database schema.
Back4app AI Agent Veritabanı Yanıtı Oluşturma

Harika, temsilci bir uygulamayı ve istenen veritabanı yapısını başarıyla oluşturmuş gibi görünüyor.

Ardından, temsilciden veritabanını bazı verilerle doldurmasını isteyin:

Populate the database with sample users, movie genres, and reviews.
Back4app Veritabanı Yanıtını Doldur

Back4app panosuna gidip uygulamanızı seçerek ve veritabanı girişlerini kontrol ederek veritabanının oluşturulduğundan ve doldurulduğundan emin olun.

Back4app Tarafından Oluşturulan ve Doldurulan Veritabanı

Bu kadar!

Artık bir film inceleme sitesi için tamamen işlevsel bir veritabanımız var.

Otomatik olarak oluşturulan API’ler

Back4app, arka ucunuzla şu yolla iletişim kurmanızı sağlar:

  1. Otomatik oluşturulan RESTful API
  2. Otomatik oluşturulan GraphQL API
  3. Parse SDK

Her birini inceleyelim.

RESTful API

REST, HTTP protokolünü temel alır ve kaynakları manipüle etmek için GET, POST, PUT ve DELETE gibi farklı HTTP yöntemlerini kullanır.

Bu işlemler sıklıkla CRUD (Create, Retrieve, Update, Delete) olarak adlandırılır. REST birden fazla veri formatını destekler, ancak tercih ettiği format JSON’dur.

REST API’sini test etmek için uygulamanıza gidin ve kenar çubuğunda “API > Konsol > REST “i seçin.

Back4app REST Konsolu

Formu aşağıdaki bilgilerle doldurun:

  • İstek türü GET
  • Bitiş noktası: classes/Movie
  • Ana anahtar: Doğru

Ardından, sorguyu yürütmek için “Sorgu Gönder “e tıklayın.

Buna benzer bir yanıt almanız gerekir:

{
    "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",
        },
        // ...
    ]
}

Liste işlemi iyi çalışıyor. Filmler başarıyla serileştirildi ve JSON olarak döndürüldü. RESTful API’nin nasıl çalıştığını anlamak için diğer işlemleri de test etmenizi öneririm.

RESTful API’ler hakkında daha fazla bilgi edinmek için RESTful API nasıl oluşturulur?

GraphQL API

GraphQL, uygulama programlama arayüzlerinin (API’ler) geliştirilmesini kolaylaştırmak için hem bir sorgu dili hem de sunucu tarafı çalışma zamanı olarak hizmet vermektedir.

Bu teknoloji, müşterilerin API’den ihtiyaç duydukları verileri belirlemelerini sağlayarak önceden tanımlanmış bir veri seti için arka uca bağımlı olma ihtiyacını ortadan kaldırır.

GraphQL sorgularını test etmek için kenar çubuğundaki “API > Konsol > GraphQL” seçeneğine gidin.

Back4app GraphQL Konsolu

Ardından, aşağıdaki GraphQL sorgusunu çalıştırın:

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

Gördüğünüz gibi, sorgu tüm incelemeleri getirdi ancak yalnızca objectId ‘lerini ve derecelendirmelerini içeriyordu. Yine, farklı sorguları ve manipülasyonları test etmekten çekinmeyin.

GraphQL hakkında daha fazla bilgi edinmek için GraphQL API nasıl oluşturulur?

Parse SDK

Parse SDK, ön ucunuzu arka uca bağlamanın önerilen yoludur. En sağlam ve hataya en az meyilli yöntemdir.

Parse SDK, JavaScript, TypeScript, Objective-C vb. dahil olmak üzere birden fazla programlama dilini ve çerçevesini destekler.

CRUD işlemleri, gelişmiş sorgulama ve daha fazlasını gerçekleştirmenizi sağlar.

Parse SDK’yı nasıl kullanacağınızı öğrenmek için Ön uç ve arka uç nasıl barındırılır?

Otomatik Olarak Oluşturulan Dokümantasyon

Back4app ile ilgili bir başka harika şey de tüm veritabanı modelleriniz için otomatik olarak belge oluşturmasıdır.

JavaScript, TypeScript, Objective-C, Swift ve daha fazlası gibi çeşitli programlama dilleri için basit, anlaşılması kolay metin açıklamaları ve kullanışlı kod parçacıkları elde edersiniz.

Dokümanlara erişmek için uygulamanıza gidin ve kenar çubuğunda “API > API Referansı “nı seçin:

Back4app API Referansı

İşte dokümanların nasıl göründüğüne dair bir ekran görüntüsü:

Back4app Tarafından Oluşturulan Dokümantasyon

Bulut Kodu

Back4app, Cloud Code adı verilen işlevler aracılığıyla özel JavaScript kodu çalıştırmanıza olanak tanır.

Bu işlevler, veri toplama, dışa aktarma vb. gibi karmaşık işlemlerin gerçekleştirilmesine yardımcı olabilir.

Bir Cloud Code işlevi, Parse veya HTTP istekleri tarafından tetiklenebilir veya gelecekte çalışması için zamanlanabilir.

Bulut Kodu İşlevi

Bir filmin ortalama puanını hesaplayan bir Cloud Code işlevi istediğimizi varsayalım. Bunu kendimiz yazıp dağıtabiliriz, ancak yapay zeka ajanından bunu yapmasını istemek daha kolay.

AI Agent ekranına gidin ve aşağıdaki komutu verin:

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).
Back4app AI Agent Cloud Kod Yanıtı

Devam edin ve aşağıdaki cURL komutunu kullanarak test edin:

$ 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

Yer tutucuları değiştirdiğinizden emin olun (<your_app_id>, <your_rest_api_key>, ve <movie_object_id>) gerçek değerlerle değiştirin. “Uygulama Kimliğinizi” ve “REST API Anahtarınızı” almak için uygulamanıza gidin ve kenar çubuğunda “Uygulama Ayarları > Güvenlik ve Anahtarlar “ı seçin.

Benzer bir yanıt almalısınız:

{
  "result": 4.25
}

Arka planda oluşturulan kodu görmek için kenar çubuğundaki “Cloud Code > Function & Web Hosting” bölümüne gidin. Ardından bulut klasöründeki main.js dosyasını seçin.

Back4app Bulut Kodu

Bulut Kod Çizelgeleme

Son olarak, YZ aracısından haftalık bir iş planlamasını isteyin:

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

Temsilci bir işi başarıyla oluşturdu ve haftalık olarak zamanladı.

Sonuç

Özetle, bir veritabanı şeması oluşturmak için yapay zekayı başarıyla kullandık.

Ayrıca bir Back4app uygulaması ve veritabanı oluşturmayı, örnek veriler üretmeyi ve özel Cloud Code işlevlerini uygulamayı da öğrendik.

Yapay zeka kullanarak bir veritabanı şeması oluşturmanın yinelemeli bir süreç olduğunu unutmayın. Bir şeyin daha iyi uygulanabileceğini düşünüyorsanız, bunu aracınıza açıklayın ve o da şemanızı buna göre değiştirsin.

Ek makale kaynaklarına back4app-ai-agent-schema reposundan erişilebilir.


Leave a reply

Your email address will not be published.