Как использовать искусственный интеллект для создания схем баз данных?

Back4app AI Agent Database Schema Cover

Проектирование базы данных для эффективного бэкэнд-решения – сложная задача. Выяснение всех необходимых классов, связей и т. д. может занять очень много времени.

Более того, принятие неверных решений на этапе проектирования может иметь пагубные последствия в дальнейшем производстве.

В этой статье мы обсудим использование искусственного интеллекта для генерации схем баз данных. Мы рассмотрим преимущества использования ИИ и его подводные камни, а также приведем несколько практических примеров.

Кроме того, вы узнаете, как использовать искусственный интеллект для создания полноценного бэкенда без написания кода!

Преимущества использования искусственного интеллекта для проектирования баз данных

Давайте сначала рассмотрим преимущества использования искусственного интеллекта.

Автоматизация и экономическая эффективность

Первое и, вероятно, самое очевидное преимущество внедрения искусственного интеллекта в проектирование баз данных – это возможность автоматизировать различные задачи.

Сюда входит создание схемы базы данных, оптимизация базы данных, настройка индексов, написание расширенных запросов и т.д.

Все вышеперечисленное позволяет значительно сэкономить время и средства.

Оптимизация

ИИ играет важнейшую роль в оптимизации структур баз данных. С помощью передовых алгоритмов и машинного обучения ИИ может анализировать шаблоны использования данных и рекомендовать улучшения в схеме базы данных.

Такая оптимизация может привести к повышению производительности и отзывчивости вашего приложения.

Интеграция с существующими базами данных

Еще одно преимущество использования искусственного интеллекта заключается в том, что он может помочь вам модернизировать существующие базы данных.

Все, что вам нужно сделать, – это описать агенту ИИ текущую базу данных или сгенерировать дамп базы данных, а затем описать желаемые обновления.

Это становится еще проще, если вы используете Back4app Agent. Вместо того чтобы генерировать дамп базы данных, вы можете указать агенту подключиться к существующему приложению:

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

ИИ-агент соберет весь необходимый контекст и соответствующим образом обновит вашу базу данных.

Меньше подвержены ошибкам

Интеграция искусственного интеллекта в проектирование баз данных снижает вероятность человеческих ошибок.

Традиционные процессы проектирования и оптимизации баз данных часто предполагают ручное вмешательство, что повышает риск таких ошибок, как неправильное построение схемы, неэффективные запросы или неоптимальный выбор индекса.

Простая визуализация

Используя возможности искусственного интеллекта, вы можете легко визуализировать структуру базы данных. Для визуализации базы данных попросите агента искусственного интеллекта сгенерировать код визуализации для вашего любимого инструмента построения ER-диаграмм.

Вот пример для Mermaid:

Generate Mermaid ER diagram visualization code for my database.

Результат:

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
    }

    // ...

Подводные камни при использовании искусственного интеллекта для проектирования баз данных

Галлюцинации

Агенты искусственного интеллекта иногда предоставляют правдоподобно звучащую, но неверную или нелепую информацию. Это известно как галлюцинации, и такое случается с большинством больших языковых моделей (LLM).

В связи с этим разработчикам, только начинающим работать с базами данных, не стоит использовать ИИ для создания схем баз данных.

Производительность

Не гарантируется, что сгенерированная ИИ схема базы данных будет оптимальной. Агент ИИ может неправильно понять, что вы пытаетесь создать, и предоставить вам неоптимальную или несовершенную схему базы данных.

Проектирование баз данных с помощью ИИ – это итеративный процесс. Если вы заметили, что агент ИИ допустил ошибку, укажите ему на это. Возможно, он сможет исправить ее или улучшить схему.

Краевые случаи

Использование искусственного интеллекта может оказаться не самой лучшей идеей, если ваш бизнес требует нетипичного дизайна базы данных. Большинство агентов ИИ были обучены на большом количестве типовых приложений.

Они не имеют представления о том, как работать с вашей специализированной базой данных.

В этом случае вам лучше положиться на экспертов, а не на общие решения на основе искусственного интеллекта.

Как использовать искусственный интеллект для создания схемы базы данных?

В этом разделе статьи мы рассмотрим три практических примера использования искусственного интеллекта для создания схемы базы данных. Примеры включают в себя простое приложение для блога, сайт электронной коммерции и сайт рецензий на фильмы.

После этого мы рассмотрим некоторые другие возможности ИИ-агента Back4app.

Следующие шаги потребуют от вас наличия учетной записи Back4app. Если у вас его еще нет, зарегистрируйтесь бесплатно.

Цели

  1. Создайте схему базы данных
  2. Создайте базу данных, используя схему
  3. Проанализируйте автоматически созданный RESTful и GraphQL API
  4. Просмотр автоматически генерируемой документации
  5. Использование функций облачного кода

Что такое Back4app Agent?

Back4app Agent – это агент на базе искусственного интеллекта, который позволяет выполнять задачи, связанные с облачными вычислениями, используя силу разговора.

Это и создание приложений, и развертывание приложений, и проектирование базы данных, и написание Docker-файлов или внешнего кода.

Используя Back4app Agent, вы получите своего личного DevOps-ассистента, работающего с вами 24 часа в сутки 7 дней в неделю. Самое замечательное в нем то, что он может обучаться на лету и совершенствоваться по мере того, как вы работаете.

Агент тесно интегрирован с Back4app и Back4app Containers. Агент просто необходим, если вы уже используете какую-либо из служб Back4app!

Помните, что агент ИИ – это не волшебный инструмент. Это большая, сложная языковая модель (LLM), которая может совершать ошибки. Если это произойдет, исправлять их придется вам. Кроме того, на одни и те же запросы (как и я) могут быть разные ответы.

Пример 1: Блог-сайт

В первом примере мы предложим агенту ИИ разработать схему базы данных блога. В этом примере мы предоставим как можно меньше информации, чтобы посмотреть, сможет ли агент ИИ догадаться о недостающих деталях.

Перейдите на страницу Back4app Agent, создайте нового агента и задайте ему следующий запрос:

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

Диаграмма “сущность-связь” (ER) созданной схемы:

Back4app AI Agent Blog ER Diagram

Как видите, агент успешно создал корректную схему базы данных. Он включил все необходимые классы и обработал отношения между ними. Кроме того, он включил административные поля Parse, такие как createdAt, updatedAt и ACL.

Пример 2: Веб-сайт электронной коммерции

Двигаясь дальше, попробуем использовать более сложную схему базы данных. На этот раз для сайта электронной коммерции.

Отправьте агенту 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.

Агент создал следующую схему базы данных:

Back4app AI Agent E-Commerce ER Diagram

И снова агент вернул правильную схему базы данных.

Единственное, что я бы здесь изменил, – это перевернуть связь между заказом и адресом. Было бы более логично, если бы заказ был связан с одним адресом, а адрес можно было бы использовать во всех заказах.

Пример 3: Обзор веб-сайта

В последнем примере мы создадим схему базы данных рецензий на фильмы. Здесь мы предоставим как можно больше контекста, чтобы посмотреть, сможет ли агент ИИ создать схему, соответствующую нашим подробным инструкциям.

Предложите агенту ИИ следующее:

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

Агент искусственного интеллекта создал следующую схему базы данных:

Back4app AI Agent Review ER Diagram

Еще одна замечательная схема.

Все классы были обработаны, и отношения выглядят хорошо. Здесь агент ИИ даже сгенерировал промежуточную модель, которая обрабатывает отношения M:N между классами Movie и Genre.

Генерация базы данных

Как говорится во введении, Back4app Agent тесно интегрирован с другими сервисами Back4app.

Создание схемы базы данных – это лишь одна из задач, которые может выполнять агент ИИ. Получив схему, мы можем быстро создать базу данных.

Задайте агенту следующий вопрос:

Create a Back4app app called "back4app-reviews" using the generated database schema.
Back4app AI Agent Create Database Response

Отлично, похоже, агент успешно создал приложение и нужную структуру базы данных.

Затем попросите агента заполнить базу данных некоторыми данными:

Populate the database with sample users, movie genres, and reviews.
Back4app Заполнение базы данных ответ

Убедитесь, что база данных создана и заполнена, перейдя на приборную панель Back4app, выбрав свое приложение и проверив записи в базе данных.

Созданная и заполненная база данных Back4app

Вот и все!

Теперь у нас есть полнофункциональная база данных для сайта кинорецензий.

Автоматически создаваемые API

Back4app позволяет вам общаться с вашим бэкендом через:

  1. Автоматически генерируемый RESTful API
  2. Автоматически генерируемый API GraphQL
  3. Parse SDK

Давайте рассмотрим каждый из них.

RESTful API

REST основан на протоколе HTTP и использует различные методы HTTP, такие как GET, POST, PUT и DELETE для работы с ресурсами.

Эти операции часто называют CRUD (Create, Retrieve, Update, Delete). REST поддерживает множество форматов данных, но предпочтительным форматом является JSON.

Чтобы протестировать REST API, перейдите в свое приложение и на боковой панели выберите “API > Консоль > REST”.

Back4app REST Console

Заполните форму, указав следующую информацию:

  • Тип запроса GET
  • Конечная точка: classes/Movie
  • Мастер-ключ: Правда

Затем нажмите “Отправить запрос”, чтобы выполнить запрос.

Вы должны получить ответ, похожий на этот:

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

Операция со списком работает хорошо. Фильмы были успешно сериализованы и возвращены в формате JSON. Чтобы понять, как работает RESTful API, я предлагаю вам протестировать и другие операции.

Чтобы узнать больше о RESTful API, прочитайте статью Как создать RESTful API?

API GraphQL

GraphQL служит одновременно языком запросов и серверной средой выполнения, облегчающей разработку интерфейсов прикладного программирования (API).

Эта технология позволяет клиентам указывать данные, которые они требуют от API, избавляя их от необходимости зависеть от бэкенда в отношении заранее определенного набора данных.

Чтобы протестировать запросы GraphQL, перейдите в раздел “API > Консоль > GraphQL” на боковой панели.

Back4app GraphQL Console

Далее выполните следующий GraphQL-запрос:

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

Как видите, запрос получил все отзывы, но включил только их objectId и рейтинг. Опять же, не стесняйтесь тестировать различные запросы и манипуляции.

Чтобы узнать больше о GraphQL, прочитайте статью Как создать GraphQL API?

Parse SDK

Parse SDK – это рекомендуемый способ соединения фронтенда с бэкендом. Он является наиболее надежным и наименее подверженным ошибкам.

Parse SDK поддерживает множество языков программирования и фреймворков, включая JavaScript, TypeScript, Objective-C и др.

Он позволяет выполнять операции CRUD, расширенные запросы и многое другое.

Чтобы узнать, как использовать Parse SDK, прочитайте статью Как разместить фронтенд и бэкенд?

Автоматически генерируемая документация

Еще одна замечательная особенность Back4app – автоматическая генерация документации для всех ваших моделей баз данных.

Вы получите простые, доступные для понимания текстовые объяснения и удобные фрагменты кода для различных языков программирования, таких как JavaScript, TypeScript, Objective-C, Swift и других.

Чтобы получить доступ к документам, перейдите в свое приложение и выберите “API > API Reference” на боковой панели:

Ссылка на API Back4app

Вот скриншот того, как выглядят документы:

Сгенерированная документация Back4app

Облачный код

Back4app позволяет выполнять пользовательский JavaScript-код с помощью так называемых функций Cloud Code.

С помощью этих функций можно выполнять сложные операции, такие как агрегация данных, экспорт и т. д.

Функция Cloud Code может быть вызвана запросами Parse или HTTP или запланирована для выполнения в будущем.

Функция облачного кода

Предположим, нам нужна функция Cloud Code, которая вычисляет средний рейтинг фильма. Мы могли бы написать и развернуть ее сами, но проще попросить об этом агента ИИ.

Перейдите на экран агента AI Agent и задайте ему следующие вопросы:

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 Code Response

Проверьте его с помощью следующей команды cURL:

$ 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

Убедитесь, что вы заменили местоимения (<your_app_id>, <your_rest_api_key>, и <movie_object_id>) на реальные значения. Чтобы получить “Идентификатор приложения” и “Ключ REST API”, перейдите в свое приложение и выберите “Настройки приложения > Безопасность и ключи” на боковой панели.

Вы должны получить аналогичный ответ:

{
  "result": 4.25
}

Чтобы увидеть код, сгенерированный в фоновом режиме, перейдите к разделу “Код облака > Функции и веб-хостинг” на боковой панели. Затем выберите файл main.js в папке облака.

Облачный код Back4app

Планирование облачного кода

Наконец, предложите агенту ИИ запланировать еженедельную работу:

Create and deploy a Cloud Code job named `clearRatings()`, which deletes all 
the ratings. Schedule it to run every week.
Back4app Расписание Ответ

Агент успешно создал задание и запланировал его на неделю.

Заключение

Итак, мы успешно использовали искусственный интеллект для создания схемы базы данных.

Мы также узнали, как создать приложение и базу данных Back4app, сгенерировать примерные данные и реализовать пользовательские функции Cloud Code, и все это с помощью общения.

Помните, что создание схемы базы данных с помощью ИИ – это итерационный процесс. Если вы считаете, что что-то можно реализовать лучше, объясните это агенту, и он изменит вашу схему соответствующим образом.

Дополнительные ресурсы статьи доступны на репо back4app-ai-agent-schema.


Leave a reply

Your email address will not be published.