Früher dachte ich, Query Builder seien GUI-Apps, mit denen Sie Tabellen auswählen und Verknüpfungen grafisch erstellen können, während Sie SQL unter der Haube generieren. Jetzt verstehe ich, dass Sie Query Builder auch APIs nennen, mit denen Sie keine reinen SQL-Abfragen erstellen müssen , so abstrahieren Sie sich von möglichen Unterschieden in SQL-Aromen.
Die Verwendung solcher Abfrage-Builder ist gut , aber ich neige dazu zu glauben, dass Leute, die sich stark auf sie verlassen, DBAs nicht fragen: "Hey, das ist eine Abfrage, die ich häufig verwende, bitte erstelle daraus eine Ansicht."
Versteh mich nicht falsch.
Ich denke, dass Sie Abfragen gegen Ansichten und nicht Tabellen schreiben sollten. Nicht aus Sicherheits- oder Filtergründen, sondern aus demselben Grund sollten Sie gegen Schnittstellen und nicht gegen konkrete Klassen codieren: Entkopplung. Ansichten sind wie "Verträge", genauso wie Schnittstellen in OOP "Verträge" sind. Sie können die zugrunde liegenden Tabellen ändern, aber solange Sie die Ansichten zwingen, den Programmierern denselben "Vertrag" anzuzeigen, sollte der Code nicht beschädigt werden.
Versteht mich auch nicht falsch, Sie können Abfrage-Builder verwenden, um Ansichten abzufragen, aber viele Ansichten entstehen als ein Prozess, bei dem Sie Abfragen schreiben und Ihren Datenbankadministrator fragen müssen: "Mann, schaffen Sie das, bitte". .
Bin ich falsch, wenn Sie keine Abfragen schreiben, erkennen Sie nicht, dass bestimmte Ansichten erstellt werden müssen?
Eine andere Sache, die mich beschäftigt, sind unerfahrene Programmierer, die SQL nicht beherrschen, eine der schönsten Technologien, die der Mensch geschaffen hat, weil er dies nicht tun muss.