Heim >Datenbank >MySQL-Tutorial >Kann ein systematischer Ansatz menschenlesbare Abfragebeschreibungen in SQL übersetzen?
Problem:
Immer wenn Sie mit einer für Menschen lesbaren Beschreibung von a konfrontiert werden Bei der Übersetzung einer SQL-Abfrage verlassen sich Entwickler in der Regel auf Heuristik und Brainstorming. Gibt es jedoch einen systematischen und mathematischen Ansatz für diesen Übersetzungsprozess?
Antwort:
Ja, es gibt einen systematischen Ansatz für die Erstellung von SQL-Abfragen aus für Menschen lesbaren Beschreibungen . Dabei geht es darum, die Korrespondenz zwischen Ausdrücken in natürlicher Sprache, logischen Ausdrücken, relationalen Algebra-Ausdrücken und SQL-Ausdrücken zu verstehen.
Betrachten Sie Folgendes als für Menschen lesbar Beschreibung:
Finden Sie alle Personen, die jemand mag, Ed aber nicht mag.
Prädikat der Likes-Tabelle:
[Person] mag [gefällt mir]
Relationale Algebra Ausdruck:
FÜR EINIGE x, Likes(person, x) UND Likes(x, like) UND person = 'Bob' UND NICHT Likes(x, 'Ed')
SQL-Abfrage:
SELECT DISTINCT l1.liker AS person, l2.liked AS liked FROM Likes l1 INNER JOIN Likes l2 ON l1.liked = l2.liker WHERE l1.liker = 'Bob' AND NOT (l1.liked, 'Ed') IN (SELECT * FROM Likes)
Das obige ist der detaillierte Inhalt vonKann ein systematischer Ansatz menschenlesbare Abfragebeschreibungen in SQL übersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!