Wie kann man KI für die Erstellung von Datenbankschemata nutzen?

Back4app AI Agent Datenbank Schema Abdeckung

Der Entwurf einer Datenbank für eine effiziente Backend-Lösung ist eine Herausforderung. Das Herausfinden aller erforderlichen Klassen, Beziehungen usw. kann extrem zeitaufwändig sein.

Außerdem können sich falsche Entscheidungen in der Entwurfsphase später in der Produktion nachteilig auswirken.

In diesem Artikel wird die Verwendung von KI für die Erstellung von Datenbankschemata erörtert. Wir gehen auf die Vorteile der KI und ihre Fallstricke ein und zeigen einige praktische Beispiele.

Darüber hinaus lernen Sie, wie Sie KI weiter nutzen können, um ein vollwertiges Backend zu erstellen, ohne Code zu schreiben!

Vorteile des Einsatzes von KI beim Datenbankdesign

Schauen wir uns zunächst die Vorteile des Einsatzes von KI an.

Automatisierung und Kosteneffizienz

Der erste und wahrscheinlich offensichtlichste Vorteil der Einbeziehung von KI in das Datenbankdesign ist die Möglichkeit, verschiedene Aufgaben zu automatisieren.

Dazu gehören die Erstellung des Datenbankschemas, die Optimierung der Datenbank, das Setzen von Indizes, das Schreiben erweiterter Abfragen usw.

All dies führt zu erheblichen Zeit- und Kosteneinsparungen.

Optimierung

KI spielt eine entscheidende Rolle bei der Optimierung von Datenbankstrukturen. Durch fortschrittliche Algorithmen und maschinelles Lernen kann KI Datenverwendungsmuster analysieren und Verbesserungen am Datenbankschema empfehlen.

Diese Optimierung kann zu einer verbesserten Leistung und Reaktionsfähigkeit Ihrer Anwendung führen.

Integration mit bestehenden Datenbanken

Ein weiterer großer Vorteil des Einsatzes von KI ist, dass Sie damit Ihre bestehenden Datenbanken aktualisieren können.

Alles, was Sie tun müssen, ist, dem KI-Agenten die aktuelle Datenbank zu beschreiben oder einen Datenbank-Dump zu erstellen und dann die gewünschten Upgrades zu beschreiben.

Dies wird noch einfacher, wenn Sie Back4app Agent verwenden. Anstatt einen Datenbank-Dump zu erzeugen, können Sie dem Agenten sagen, dass er sich in eine bestehende Anwendung einklinken soll:

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

Der KI-Agent sammelt alle erforderlichen Informationen und aktualisiert Ihre Datenbank entsprechend.

Weniger fehleranfällig

Die Integration von KI in das Datenbankdesign verringert die Wahrscheinlichkeit menschlicher Fehler.

Herkömmliche Datenbankdesign- und Optimierungsprozesse erfordern häufig manuelle Eingriffe, was das Risiko von Fehlern wie falschen Schemadesigns, ineffizienten Abfragen oder suboptimalen Indexentscheidungen erhöht.

Einfache Visualisierung

Durch den Einsatz von KI können Sie Ihre Datenbankstruktur leicht visualisieren. Zur Visualisierung der Datenbank fordern Sie den KI-Agenten auf, einen Visualisierungscode für Ihr bevorzugtes ER-Diagramm-Tool zu generieren.

Hier ein Beispiel für die Mermaid:

Generate Mermaid ER diagram visualization code for my database.

Ergebnis:

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
    }

    // ...

Fallstricke bei der Verwendung von KI für den Datenbankentwurf

Halluzinationen

KI-Agenten liefern manchmal plausibel klingende, aber falsche oder unsinnige Informationen. Dies wird als Halluzinationen bezeichnet und kommt bei den meisten großen Sprachmodellen (LLMs) vor.

Aus diesem Grund sollten Entwickler, die noch keine Erfahrung mit Datenbanken haben, keine KI für die Erstellung von Datenbankschemata verwenden.

Leistung

KI-generierte Datenbankschemata sind nicht garantiert optimal. Der KI-Agent könnte falsch interpretieren, was Sie zu erstellen versuchen, und Ihnen ein suboptimales oder fehlerhaftes Datenbankschema liefern.

Der Datenbankentwurf mit Hilfe von KI ist ein iterativer Prozess. Wenn Sie feststellen, dass der KI-Agent einen Fehler gemacht hat, weisen Sie ihn darauf hin. Vielleicht kann er ihn beheben oder das Schema verbessern.

Randfälle

Der Einsatz von KI ist möglicherweise nicht die beste Idee, wenn Ihr Unternehmen ein atypisches Datenbankdesign erfordert. Die meisten KI-Agenten wurden an einer großen Anzahl von generischen Anwendungen trainiert.

Sie wissen nicht, wie sie mit Ihrer speziellen Datenbank umgehen sollen.

Wenn das der Fall ist, sollten Sie sich lieber auf Experten verlassen als auf allgemeine KI-Lösungen.

Wie kann ich mit AI ein Datenbankschema erstellen?

In diesem Artikelabschnitt werden wir drei praktische Beispiele für die Verwendung von KI zur Erstellung eines Datenbankschemas betrachten. Zu den Beispielen gehören eine einfache Blog-App, eine E-Commerce-Website und eine Filmkritik-Website.

Danach werden wir uns einige der anderen Dinge ansehen, die der Back4app AI-Agent kann.

Für die folgenden Schritte müssen Sie ein Back4app-Konto haben. Wenn Sie noch keins haben, registrieren Sie sich kostenlos.

Zielsetzungen

  1. Erzeugen eines Datenbankschemas
  2. Erstellen einer Datenbank unter Verwendung des Schemas
  3. Analysieren Sie die automatisch generierte RESTful und GraphQL API
  4. Automatisch generierte Dokumentation überprüfen
  5. Cloud-Code-Funktionen nutzen

Was ist Back4app Agent?

Back4app Agent ist ein KI-gestützter Agent, mit dem Sie Cloud-bezogene Aufgaben mit der Kraft der Konversation erledigen können.

Dazu gehören das Erstellen von Anwendungen, die Bereitstellung von Anwendungen, das Entwerfen der Datenbank und das Schreiben von Dockerdateien oder Front-End-Code.

Mit Back4app Agent haben Sie Ihren eigenen persönlichen DevOps-Assistenten rund um die Uhr an Ihrer Seite. Das Tolle daran ist, dass er im laufenden Betrieb lernen und sich verbessern kann.

Der Agent ist eng mit Back4app und Back4app Containers integriert. Der Agent ist ein Muss, wenn Sie bereits einen von Back4apps Diensten nutzen!

Vergessen Sie nicht, dass der KI-Agent kein magisches Werkzeug ist. Er ist ein großes, ausgeklügeltes Sprachmodell (LLM), das Fehler machen kann. Wenn das passiert, liegt es an Ihnen, sie zu korrigieren. Außerdem kann es sein, dass Sie (wie ich) auf die gleichen Aufforderungen unterschiedliche Antworten erhalten.

Fall 1: Blog-Website

Als erstes Beispiel werden wir den KI-Agenten auffordern, ein Blog-Datenbankschema zu entwerfen. In diesem Beispiel geben wir so wenig Informationen wie möglich an, um zu sehen, ob der KI-Agent die fehlenden Teile zusammensetzen kann.

Rufen Sie die Seite Back4app Agent auf, erstellen Sie einen neuen Agenten und geben Sie ihm die folgenden Anweisungen:

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

Entity-Relationship (ER)-Diagramm des generierten Schemas:

Back4app AI Agent Blog ER-Diagramm

Wie Sie sehen können, hat der Agent erfolgreich ein gültiges Datenbankschema erstellt. Er enthielt alle erforderlichen Klassen und verwaltete die Beziehungen zwischen ihnen. Außerdem wurden administrative Parse-Felder wie createdAt, updatedAt und ACL aufgenommen.

Fall 2: Website für den elektronischen Handel

Lassen Sie uns nun ein komplexeres Datenbankschema ausprobieren. Diesmal ist es eine E-Commerce-Website.

Übermitteln Sie dem KI-Agenten die folgende Aufforderung:

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.

Der Agent hat das folgende Datenbankschema erstellt:

Back4app AI Agent E-Commerce ER-Diagramm

Auch hier gab der Agent ein gültiges Datenbankschema zurück.

Das Einzige, was ich hier ändern würde, ist, die Beziehung zwischen Auftrag und Adresse umzukehren. Es wäre sinnvoller, wenn ein Auftrag mit einer einzigen Adresse verknüpft wäre und eine Adresse auftragsübergreifend wiederverwendbar wäre.

Fall 3: Überprüfung der Website

Im letzten Beispiel erstellen wir ein Datenbankschema für eine Filmkritik. Hier geben wir so viel Kontext wie möglich an, um zu sehen, ob der KI-Agent ein Schema erstellen kann, das unseren detaillierten Anweisungen entspricht.

Fordern Sie den KI-Agenten mit folgendem Text auf:

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

Der AI-Agent hat das folgende Datenbankschema erstellt:

Back4app AI Agent Überprüfung ER-Diagramm

Ein weiteres großartiges Schema.

Alle Klassen wurden berücksichtigt, und die Beziehungen sehen gut aus. Hier hat der KI-Agent sogar ein Zwischenmodell erstellt, das die M:N-Beziehung zwischen den Klassen Film und Genre behandelt.

Datenbank-Generierung

Wie bereits in der Einleitung erwähnt, ist Back4app Agent eng mit anderen Back4app-Diensten integriert.

Die Erstellung des Datenbankschemas ist nur eine der Aufgaben, die der KI-Agent übernehmen kann. Sobald wir das Schema haben, können wir schnell eine Datenbank erstellen.

Geben Sie dem Agenten folgende Aufforderung:

Create a Back4app app called "back4app-reviews" using the generated database schema.
Back4app AI Agent Datenbank erstellen Antwort

Großartig, es sieht so aus, als hätte der Agent erfolgreich eine Anwendung und die gewünschte Datenbankstruktur erstellt.

Als Nächstes bitten Sie den Agenten, die Datenbank mit einigen Daten zu füllen:

Populate the database with sample users, movie genres, and reviews.
Back4app Populate Database Antwort

Vergewissern Sie sich, dass die Datenbank erstellt und aufgefüllt wurde, indem Sie zum Back4app-Dashboard navigieren, Ihre App auswählen und die Datenbankeinträge überprüfen.

Von Back4app generierte und bevölkerte Datenbank

Das war’s!

Wir haben jetzt eine voll funktionsfähige Datenbank für eine Filmkritikseite.

Automatisch generierte APIs

Back4app ermöglicht Ihnen die Kommunikation mit Ihrem Backend über:

  1. Automatisch generierte RESTful API
  2. Automatisch generierte GraphQL-API
  3. Parse SDK

Schauen wir uns jede einzelne von ihnen an.

RESTful-API

REST basiert auf dem HTTP-Protokoll und verwendet verschiedene HTTP-Methoden wie GET, POST, PUT und DELETE, um die Ressourcen zu manipulieren.

Diese Vorgänge werden häufig als CRUD (Create, Retrieve, Update, Delete) bezeichnet. REST unterstützt mehrere Datenformate, aber das bevorzugte Format ist JSON.

Um die REST-API zu testen, navigieren Sie zu Ihrer Anwendung und wählen Sie “API > Konsole > REST” in der Seitenleiste.

Back4app REST-Konsole

Füllen Sie das Formular mit den folgenden Informationen aus:

  • Anfragetyp GET
  • Endpunkt: classes/Movie
  • Hauptschlüssel: Wahr

Klicken Sie anschließend auf “Abfrage senden”, um die Abfrage auszuführen.

Sie sollten eine ähnliche Antwort wie diese erhalten:

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

Die Listenoperation funktioniert gut. Die Filme wurden erfolgreich serialisiert und als JSON zurückgegeben. Um ein Gefühl dafür zu bekommen, wie die RESTful-API funktioniert, sollten Sie auch die anderen Operationen testen.

Wenn Sie mehr über RESTful-APIs erfahren möchten, lesen Sie bitte How to build a RESTful API?

GraphQL-API

GraphQL dient sowohl als Abfragesprache als auch als serverseitige Laufzeitumgebung, um die Entwicklung von Anwendungsprogrammierschnittstellen (APIs) zu erleichtern.

Diese Technologie ermöglicht es den Kunden, die von der API benötigten Daten zu spezifizieren, so dass sie nicht mehr von einem vordefinierten Datensatz im Backend abhängig sind.

Um GraphQL-Abfragen zu testen, navigieren Sie zu “API > Konsole > GraphQL” in der Seitenleiste.

Back4app GraphQL-Konsole

Führen Sie anschließend die folgende GraphQL-Abfrage aus:

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

Wie Sie sehen können, hat die Abfrage alle Bewertungen abgerufen, aber nur deren objectId und Bewertung einbezogen . Auch hier können Sie gerne verschiedene Abfragen und Manipulationen testen.

Um mehr über GraphQL zu erfahren, lesen Sie bitte Wie erstellt man eine GraphQL-API?

Parse SDK

Parse SDK ist der empfohlene Weg, um Ihr Frontend mit dem Backend zu verbinden. Sie ist am robustesten und am wenigsten fehleranfällig.

Parse SDK unterstützt mehrere Programmiersprachen und Frameworks, darunter JavaScript, TypeScript, Objective-C usw.

Damit können Sie CRUD-Operationen, erweiterte Abfragen und vieles mehr durchführen.

Wenn Sie wissen möchten, wie Sie das Parse SDK nutzen können, lesen Sie bitte How to host frontend and backend?

Automatisch generierte Dokumentation

Eine weitere großartige Eigenschaft von Back4app ist die automatische Generierung von Dokumentationen für alle Ihre Datenbankmodelle.

Sie erhalten einfache, leicht verständliche Texterklärungen und praktische Codeschnipsel für verschiedene Programmiersprachen, wie JavaScript, TypeScript, Objective-C, Swift und mehr.

Um auf die Dokumente zuzugreifen, navigieren Sie zu Ihrer Anwendung und wählen Sie “API > API-Referenz” in der Seitenleiste:

Back4app API-Referenz

Hier ist ein Screenshot, wie die Dokumente aussehen:

Von Back4app generierte Dokumentation

Wolken-Code

Back4app ermöglicht Ihnen die Ausführung von benutzerdefiniertem JavaScript-Code über so genannte Cloud-Code-Funktionen.

Diese Funktionen können bei der Durchführung komplexer Vorgänge helfen, z. B. bei der Aggregation von Daten, beim Export usw.

Eine Cloud-Code-Funktion kann durch Parse- oder HTTP-Anfragen ausgelöst oder für eine zukünftige Ausführung geplant werden.

Cloud Code Funktion

Angenommen, wir möchten eine Cloud-Code-Funktion, die die durchschnittliche Bewertung eines Films berechnet. Wir könnten sie selbst schreiben und bereitstellen, aber es ist einfacher, den KI-Agenten zu bitten, dies zu tun.

Rufen Sie den Bildschirm des AI-Agenten auf und geben Sie die folgenden Anweisungen ein:

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 Antwort

Testen Sie es mit dem folgenden cURL-Befehl:

$ 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

Stellen Sie sicher, dass Sie die Platzhalter (<your_app_id>, <your_rest_api_key> und <movie_object_id>) durch die tatsächlichen Werte. Um Ihre “Anwendungs-ID” und Ihren “REST-API-Schlüssel” zu erhalten, navigieren Sie zu Ihrer App und wählen Sie “App-Einstellungen > Sicherheit & Schlüssel” in der Seitenleiste.

Sie sollten eine ähnliche Antwort erhalten:

{
  "result": 4.25
}

Um den im Hintergrund generierten Code zu sehen, navigieren Sie in der Seitenleiste zu “Cloud Code > Function & Web Hosting”. Wählen Sie dann “main.js ” im Cloud-Ordner.

Back4app Cloud Code

Cloud-Code-Planung

Zum Schluss fordern Sie den KI-Agenten auf, einen wöchentlichen Auftrag zu planen:

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

Der Agent hat erfolgreich einen Auftrag erstellt und ihn wöchentlich eingeplant.

Schlussfolgerung

Zusammenfassend lässt sich sagen, dass wir die KI erfolgreich zur Erstellung eines Datenbankschemas eingesetzt haben.

Wir haben auch gelernt, wie man eine Back4app-App und eine Datenbank erstellt, Beispieldaten generiert und benutzerdefinierte Cloud-Code-Funktionen implementiert, alles mit der Kraft der Konversation.

Denken Sie daran, dass die Erstellung eines Datenbankschemas mithilfe von KI ein iterativer Prozess ist. Wenn Sie denken, dass etwas besser implementiert werden könnte, erklären Sie es dem Agenten, und er wird Ihr Schema entsprechend ändern.

Zusätzliche Artikelressourcen sind im back4app-ai-agent-schema Repo verfügbar.


Leave a reply

Your email address will not be published.