Wie kann man KI für die Erstellung von Datenbankschemata nutzen?
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!
Contents
- 1 Vorteile des Einsatzes von KI beim Datenbankdesign
- 2 Fallstricke bei der Verwendung von KI für den Datenbankentwurf
- 3 Wie kann ich mit AI ein Datenbankschema erstellen?
- 4 Schlussfolgerung
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
- Erzeugen eines Datenbankschemas
- Erstellen einer Datenbank unter Verwendung des Schemas
- Analysieren Sie die automatisch generierte RESTful und GraphQL API
- Automatisch generierte Dokumentation überprüfen
- 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:
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:
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:
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.
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.
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.
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:
- Automatisch generierte RESTful API
- Automatisch generierte GraphQL-API
- 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.
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.
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:
Hier ist ein Screenshot, wie die Dokumente aussehen:
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).
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.
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.
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.