Erstellen SQL-Entwickler SQL-Abfragen mit SQL-Abfrage-Designern?

13

Ich war nur neugierig, ob SQL-Entwickler ihren Code freihändig schreiben oder den visuellen Abfrage-Designer verwenden, um Abfragen zu generieren. In den meisten Fällen kann der Abfrage-Designer die meisten nicht komplexen Abfragen erstellen. (Ich bin ein WinForms-Entwickler und fange gerade mit SQL Server an.)

James
quelle
4
Ich benutze einen visuellen Abfrage-Designer, der Emacs heißt. Gelegentlich mache ich es "freihändig" in vi.
Dietbuddha

Antworten:

29

Ich kann nicht für irgendjemanden sprechen, aber ich tippe normalerweise einfach "freihändig" SQL ein, wie Sie sagen. Die meisten visuellen Abfrage-Designer scheinen (für mich) die Komplexität zu erhöhen, anstatt sie zu reduzieren. Ich sollte hinzufügen, dass ich SQL auch nicht annähernd in Vollzeit schreibe.

Jerry Sarg
quelle
1
Ich bin damit einverstanden, obwohl ich normalerweise nur SQL-Abfragen remixe, die ich im Internet finde. Visual Query Designers gehen davon aus, dass Sie die Abfragesprache kennen.
Dan Rosenstark
4
+1 für "... scheinen (für mich) die Komplexität zu erhöhen, anstatt sie zu reduzieren"
ozz
Gleiches hier (obwohl ich hauptsächlich Oracle verwende, nicht MS SQL). Generiertes SQL ist in der Regel langsam und übermäßig komplex.
Jwenting
10

Ich bin sicher, es kommt darauf an, aber ich benutze nie visuelle Designer. Sobald Sie ein gutes Gefühl für SQL haben und über SQL nachdenken, wird das Schreiben zur zweiten Natur. Ich würde es viel frustrierender finden, einen visuellen Designer zu verwenden, als nur rohes SQL zu schreiben.

Mistkerl
quelle
5

Ich würde sagen, die große Mehrheit der erfahrenen Entwickler schreibt es von Hand. Ich bin mir sicher, dass einige neue Absolventen oder Absolventen der jüngeren Vergangenheit die visuellen Designer verwenden, aber sobald Sie einige der Grundlagen von SQL erlernt haben, ist das Schreiben von Hand viel schneller.

Craig
quelle
5

Ich finde, dass Abfrage-Designer im Allgemeinen langsam und umständlich sind und komplexe Abfragen nicht immer verarbeiten können. Oft musste ich eine Abfrage in ein Tool (normalerweise Access / Excel) kopieren / einfügen, das dann einige Minuten lang eine Abfrage prüfte, bevor festgestellt wurde, dass sie einfach nicht verarbeitet werden konnte, und mich zur Textbearbeitung schickte Modus.

FrustratedWithFormsDesigner
quelle
3

Wann immer ich ein neues Werkzeug / eine neue Sprache lernen möchte. Ich zwinge mich, es von Hand zu tippen. HTML, XAML, SQL. Auf diese Weise weiß ich, wie ich das beheben kann, was der Designer ausspuckt. Sobald ich gut mit Handschrift umgehen kann, zwinge ich mich, den Designer so gut wie möglich zu lernen.

Wenn Sie mit beidem gut sind, lassen Sie uns das Beste aus beiden Welten haben ... es gibt Dinge, die effizienter sind als Designer und andere, die effizienter im Code sind. Indem Sie sich beides beibringen, können Sie die Mängel von beidem vermeiden.

Michael Brown
quelle
3

Ich benutze keine Abfragegenerierungen, um meine Abfragen zu generieren, ich erstelle sie von Hand (meistens, weil alles andere als die Mot-Trivialität von Abfragen in a schwer zu schreiben ist) query designer.

Bei großen Systemen reicht dies jedoch nicht aus. Die meisten schwergewichtigen DB-Systeme bieten ein Abfrageanalyse-Tool, das eine Abfrage aufnimmt und Ihnen die Query Execution Plan. Sie können dies dann (mit anderen Tools) verwenden, um die Abfrage zu optimieren.

Sie können nicht nur bei der Abfrage selbst helfen, sondern auch angeben, welche Tabellen indiziert werden müssen und wie sie indiziert werden sollen, sondern auch potenzielle Techniken zur Partitionierung der Daten.

Martin York
quelle
3

Ich würde sogar sagen, dass ich noch nie jemanden gesehen habe, der den visuellen Abfrage-Designer verwendet.

Ich selbst habe es nie benutzt.

ozz
quelle
2

Wenn ich das Schema nicht sehr gut kenne, benutze ich eher einen Abfrage-Designer. Dies hilft mir, das Schema zu lernen. Später ... tippen ist viel schneller als zeichnen.

Liori
quelle
1

Ich würde niemals in Betracht ziehen, den Designer zum Schreiben meiner Abfragen zu verwenden. Ich kenne meine Datenbankschemata sehr genau (und unsere Datenbanken haben Hunderte von Tabellen) und muss nicht darüber nachdenken, wie sie verknüpft werden sollen. Ich gebe nur etwas ein und die Abfragen werden ausgeführt.

HLGEM
quelle
0

Ich schreibe alle meine Anfragen von Hand. Die visuellen Designer haben Sie meistens nur gebremst, während Sie Hunderte von Tabellen gescannt haben, um sie Ihnen zu präsentieren. Eine einfache Namensergänzung für Spalten- und Tabellennamen sowie ein Referenzhandbuch für Ihre spezielle Datenbank sind alles, was Sie zum Arbeiten benötigen.

Beachten Sie, dass meine Erfahrung mit visuellen Abfrage-Designern auf Tools beschränkt ist, die mit der Oracle-Datenbank arbeiten.

Mulander
quelle
0

Ich habe viele SQL- und PL / SQL-Codes geschrieben, ohne jemals einen Abfrage-Designer zu verwenden. Für jemanden, der sich mit SQL auskennt, ist die Verwendung dieser Tools nur umständlich. Das wäre wie das Zeichnen von Flussdiagrammen in visio und das Generieren des Programms durch ein Tool, anstatt ein Programm zu schreiben.

user281377
quelle
0

Anfänger beginnen mit dem Designer und zu oft wurden dort die ersten Einblicke in den SQL-Code generiert. Es sieht zu verwirrend aus, weil es nicht strukturiert / verständlich formatiert ist. Irgendwann müssen Sie zur Textcodierung wechseln und alles glattstellen. Die Formatierung ist ausgeschaltet. Intellisense hat es für SQL-Autoren geschafft. Ich fange an, mich mit einer davon zu beschäftigen, da ich mit einer neuen Datenbank arbeite.

JeffO
quelle
Ich finde, Intellisense verlangsamt mich, also habe ich es ausgeschaltet.
HLGEM
0

Ich habe im letzten Jahr Tausende Zeilen Oracle SQL und PL / SQL geschrieben. Meistens starte ich SqlPlus nur in einem Emacs-Shell-Fenster. Ich habe die Wortvervollständigung so angepasst, dass sie sehr effizient ist. Ein Abfrage-Designer würde mich nur verlangsamen. Wenn ich mir eine große Ergebnismenge ansehen muss, öffne ich SqlDeveloper, aber ich versuche es nicht, weil es langsam ist und obwohl es Namen basierend auf dem Schema vervollständigen kann, ist es in Emacs immer noch schneller zu arbeiten.

Kevin Cline
quelle