it-swarm.com.de

Warum sollte ich meine SQL-Schlüsselwörter groß schreiben?

Mögliches Duplikat:
Gibt es einen guten Grund, Großbuchstaben für T-SQL-Schlüsselwörter zu verwenden?

Einfache Frage. Ich persönlich finde eine Zeichenfolge aus Kleinbuchstaben besser lesbar als eine Zeichenfolge aus Großbuchstaben. Gibt es eine alte/beliebte Variante von SQL, bei der zwischen Groß- und Kleinschreibung unterschieden wird?

Als Referenz:

select
    this.Column1,
    case when this.Column2 is null then 0 else this.Column2 end
from dbo.SomeTable this
    inner join dbo.AnotherTable another on this.id = another.id
where
    this.Price > 100

vs.

SELECT
    this.Column1,
    CASE WHEN this.Column2 IS NULL THEN 0 ELSE this.Column2 END
FROM dbo.SomeTable this
    INNER JOIN dbo.AnotherTable another ON this.id = another.id
WHERE
    this.Price > 100

Ersteres scheint mir viel besser lesbar zu sein, aber ich sehe letzteres häufiger.

103

Ich denke, letzteres ist besser lesbar. Sie können die Schlüsselwörter leicht von Tabellen- und Spaltennamen usw. trennen.

108
Trent

Ich stimme dir zu - für mich ist Großbuchstaben nur SCHREIEN.

Ich lasse mein IDE damit umgehen, dass Schlüsselwörter durch Hervorheben der Syntax hervorgehoben werden.

Ich kenne keinen historischen Grund dafür, aber jetzt ist es nur eine subjektive Präferenz.

Bearbeiten, um meine Argumentation klarer zu machen:

Würden Sie Ihre Schlüsselwörter in einer anderen modernen Sprache in Großbuchstaben schreiben? Gebildetes Beispiel:

USING (EditForm form = NEW EditForm()) {
    IF (form.ShowDialog() == DialogResult.OK) {
       IF ( form.EditedThing == null ) {
          THROW NEW Exception("No thing!");
       }
       RETURN form.EditedThing;
    } ELSE {
       RETURN null;
    }
}              

Pfui!

Wie auch immer, aus den Abstimmungen geht ziemlich klar hervor, welcher Stil populärer ist, aber ich denke, wir sind uns alle einig, dass es nur eine persönliche Präferenz ist.

165
Blorgbeard

Eine Sache werde ich noch hinzufügen, die ich noch von niemandem erwähnt habe:

Wenn Sie Ad-hoc-SQL in einer Programmiersprache verwenden, verfügen Sie über viele SQL-Anweisungen in Zeichenfolgen. Beispielsweise:

insertStatement = "INSERT INTO Customers (FirstName, LastName) VALUES ('Jane','Smith')"

In diesem Fall wird die Syntax-Farbgebung wahrscheinlich nicht funktionieren, sodass die Großbuchstaben die Lesbarkeit verbessern könnten.

58
User

Aus Joe Celkos "SQL Programming Style" (ISBN 978-0120887972):

Regel:

Versehen Sie die reservierten Wörter mit Großbuchstaben.

Begründung:

Wörter in Großbuchstaben werden als eine Einheit angesehen, anstatt als eine Reihe von Silben oder Buchstaben gelesen zu werden. Das Auge wird auf sie gelenkt und sie handeln, um eine Aussage oder Klausel anzukündigen. Deshalb funktionieren Schlagzeilen und Warnzeichen.

Typografen verwenden den Ausdruck bouma für die Form eines Wortes. Der Begriff erscheint in Paul Saengers Buch (1975). Stellen Sie sich jeden Buchstaben auf einer rechteckigen Karte vor, die genau zu ihm passt, sodass Sie die Auf- und Abwärts- und Grundlinienbuchstaben als verschiedene "Legoblöcke" sehen, die zu einem Wort zusammengefügt werden.

Das bouma eines Wortes in Großbuchstaben ist immer ein einfaches, dichtes Rechteck, und es ist leicht, aus einem Feld von Wörtern in Kleinbuchstaben auszuwählen.

Was ich überzeugend finde, ist, dass dies das einzige Buch über SQL-Heuristiken ist, das von einem bekannten Autor von SQL-Werken geschrieben wurde. Ist das also die absolute Wahrheit? Wer weiß. Es klingt vernünftig und ich kann zumindest ein Teammitglied auf die Regel hinweisen und ihm sagen, dass er sie befolgen soll (und wenn er jemandem die Schuld geben möchte, gebe ich ihm Celkos E-Mail-Adresse :)

42
onedaywhen

Meistens ist es Tradition. Wir möchten Schlüsselwörter und unsere Namespace-Namen aus Gründen der Lesbarkeit getrennt halten. Da in vielen DBMS-Tabellen- und -Spaltennamen die Groß- und Kleinschreibung beachtet wird, können wir sie nicht in Großbuchstaben schreiben.

20
Paul Tomblin

Code enthält Satzzeichen, die bei SQL-Anweisungen fehlen. Es gibt Punkte, Klammern und Semikolons, die Ihnen helfen, die Dinge getrennt zu halten. Code hat auch Zeilen. Obwohl Sie eine SQL-Anweisung in mehrere physische Zeilen schreiben können, handelt es sich um eine einzelne Anweisung, eine einzelne "Codezeile".

WENN ich englischen Text ohne die normale Zeichensetzung schreiben würde, könnte es einfacher sein, wenn ich den Beginn neuer Klauseln großschreibe, so dass es einfacher wäre zu sagen, wo einer endete und der nächste ANDERWEITIG begann. Ein Textblock dieser Länge wäre wahrscheinlich sehr lang schwer zu lesen NICHT, dass es einfach ist, es jetzt zu lesen, ABER zumindest kannst du ihm folgen, denke ich

17
Instance Hunter

Ich bevorzuge Stichwörter in Kleinbuchstaben. Management Studio codiert die Schlüsselwörter farbig, sodass es kein Problem gibt, sie von den Bezeichnern zu unterscheiden.

Und Schlüsselwörter in Großbuchstaben fühlen sich so ... gut an ... BASIC ...;)

- "BASIC, COBOL und FORTRAN riefen ab den achtziger Jahren an, sie wollten ihre UPPERCASE KEYWORDS zurück." ;)

13
Guffa

Ich verwende gerne Großbuchstaben für SQL-Schlüsselwörter. Ich denke, mein Verstand überspringt sie, weil sie wirklich blockig sind und sich auf das konzentrieren, was wichtig ist. Die Blockwörter teilen die wichtigen Bits auf, wenn Sie wie folgt layouten:

SELECT
  s.name,
  m.eyes,
  m.foo
FROM
  muppets m,
  muppet_shows ms,
  shows s
WHERE
  m.name = 'Gonzo' AND
  m.muppetId = ms.muppetId AND
  ms.showId = s.showId

(Das Fehlen von ANSI-Verknüpfungen ist ein Problem für eine andere Frage.)

Es gibt eine Psychologiestudie, die zeigt, dass Kleinbuchstaben schneller zu lesen sind als Großbuchstaben, da die Umrisse der Wörter eindeutiger sind. Dieser Effekt kann jedoch mit viel Übung beim Lesen von Großbuchstaben verschwinden.

5
WW.

Was schlimmer ist, dass die Mehrheit der Entwickler in meinem Büro an Großbuchstaben für SQL-Schlüsselwörter glaubt, sodass ich auf Großbuchstaben wechseln musste. Mehrheitsregeln.

Ich glaube, Kleinbuchstaben sind leichter zu lesen und das, da SQL-Schlüsselwörter sowieso blau hervorgehoben sind.

In den ruhmreichen Tagen waren Schlüsselwörter in den Untertiteln, weil wir auf grünen Bildschirmen entwickelten!

Die Frage ist: Wenn wir keine C # -Schlüsselwörter in Großbuchstaben schreiben, warum muss ich dann SQL-Schlüsselwörter in Großbuchstaben schreiben?

Wie schon jemand gesagt hat - Hauptstädte SCHREIEN!

3
Steve

In den 80er Jahren habe ich Datenbanknamen groß geschrieben und SQL-Schlüsselwörter in Kleinbuchstaben belassen. Die meisten Autoren taten das Gegenteil und schrieben die SQL-Schlüsselwörter in Großbuchstaben. Irgendwann fing ich an, mich der Menge anzuschließen.

Ich erwähne nur beiläufig, dass in den meisten veröffentlichten Codefragmenten in C, C++ oder Java) die Sprachschlüsselwörter immer in Kleinbuchstaben angegeben werden und dass Schlüsselwörter in Großbuchstaben möglicherweise nicht einmal als solche erkannt werden Ich sehe keinen guten Grund für die Verwendung der entgegengesetzten Konvention in SQL, die Sie in der Programmiersprache verwenden, selbst wenn SQL in den Quellcode eingebettet ist.

Und ich verteidige nicht die Verwendung aller Großbuchstaben für Datenbanknamen. Es sieht eigentlich ein bisschen aus wie "schreien". Und es gibt bessere Konventionen, wie die Verwendung einiger Großbuchstaben in Datenbanknamen. (Mit "Datenbanknamen" meine ich die Namen von Schemas, Schemaobjekten wie Tabellen und vielleicht ein paar andere Dinge.) Nur weil ich es in den 80ern getan habe, muss ich es heute nicht mehr verteidigen.

Schließlich "De gustibus non disputandum est".

3
Walter Mitty

Es ist nur eine Frage der Lesbarkeit. Durch die Verwendung von UPPERCASE für die SQL-Schlüsselwörter wird das Skript verständlicher.

2
user59634

Es ist nur eine Frage der Lesbarkeit. Hilft Ihnen bei der schnellen Unterscheidung von SQL-Schlüsselwörtern.

Übrigens wurde diese Frage bereits beantwortet: nterscheidet die SQL-Syntax die Groß- und Kleinschreibung?

2
rogeriopvl

Ich bevorzuge auch die Verwendung von Großbuchstaben für Schlüsselwörter in SQL.

Ja, Kleinbuchstaben sind besser lesbar, aber für mich ist es die meiste Zeit gut, wenn ich zusätzliche Sekunden brauche, um die Abfrage zu durchsuchen. Sobald es fertig und getestet ist, sollten Sie es sowieso selten wiedersehen (DAL, gespeicherter Proc oder was auch immer wird es vor Ihnen verbergen).

Wenn Sie es zum ersten Mal lesen, werden Sie von WHERE AND JOIN genau so angesprochen, wie es sein sollte.

2
jfrobishow

Einige SQL-Entwickler hier legen es gerne so aus:

SELECT s.name, m.eyes, m.foo
FROM muppets m, muppet_shows ms, shows s 
WHERE m.name = 'Gonzo' AND m.muppetId = ms.muppetId AND ms.showId = s.showId

Sie behaupten, dies sei einfacher zu lesen als Ihr Ansatz mit einem Feld pro Zeile, den ich selbst verwende.

1
Steve

Ich nutze SQL, um es "kontrastreicher" zur Host-Sprache zu machen (heutzutage meistens C #).

Es ist nur eine Frage der Präferenz und/oder Tradition, wirklich ...

0

Vielleicht nichts, aber ich bevorzuge es, SQL Schlüsselwörter in Kapitälchen zu setzen. Auf diese Weise sehen sie für die meisten Leser groß aus, aber sie sind nicht mit dem hässlichen ALL CAPS-Stil identisch.

Ein weiterer Vorteil ist, dass ich den Code unverändert lassen und im traditionellen Stil drucken kann. (Ich verwende das listings -Paket in LaTeX, um Code schön zu drucken.)

0
Jon Ericson