12 Stimmen

Der beste Weg, um gut mit Sql-Abfragen umzugehen

Als Programmierer würde ich gerne das Schreiben von Abfragen beherrschen. In meiner Studienzeit habe ich ein paar Sql-Bücher gelesen und den Rest habe ich in den letzten Jahren als Programmierer gelernt. Aber da diese Abfragen mit der Arbeit zusammenhingen, waren sie nicht so 'schwer' oder komplex.

Was würdet ihr vorschlagen? Gibt es ein gutes Sql-Buch für Fortgeschrittene, das das Wissen lehrt und dann mit einigen Fragen testet?

Danke!

19voto

dkretz Punkte 36862

IMHO erfordert die Beherrschung von SQL mehr als jede andere Programmierfertigkeit ein Mentoring.

Dafür gibt es drei Hauptgründe.

  1. Es ist durchaus möglich (und oft einfach), eine SQL-Anweisung zu schreiben, die die richtige Antwort liefert. Daher sagen sich Entwickler oft: "Hey, es funktioniert (und alles in einer Anweisung), ich bin fertig." In der Regel ist das nicht der Fall, und der einzige effiziente Weg, den nächsten Schritt zu tun, besteht darin, seine Arbeit überprüfen zu lassen und Vorschläge (und Gründe für die Vorschläge) zu erhalten.

  2. Die Fertigkeiten sind nicht annähernd so leicht von der "normalen" Programmierung übertragbar, wie Sie vielleicht erwarten. Prinzipien wie Dekomposition, Unterprogramme usw. sind in der Regel Sackgassen.

  3. Echte SQL-Kenntnisse erfordern ebenso viel Testkompetenz. Sie können die SQL-Ausführung nur dann wirklich beurteilen, wenn Sie Ihre SQL-Abfrageanalysetools in- und auswendig kennen und sie bei fast jeder Abfrage fehlerfrei einsetzen.

Die Antwort auf Ihre Frage lautet also: Holen Sie sich so viel Hilfe wie möglich, früh und oft. Und zögern Sie nicht, nach dem "Warum" zu fragen.

3voto

JPrescottSanders Punkte 2131

Ich war schon immer der Meinung, dass man SQL durch eigenes Tun lernen muss. Ich war an einem Projekt beteiligt, bei dem ich mehrere Wochen lang ununterbrochen SQL schreiben musste, um jeden Aspekt einer ziemlich großen Datenbank zu analysieren. In vielen Fällen schrieb ich viele SQLs, die alle zu den gleichen Ergebnissen führten, aber auf unterschiedliche Art und Weise zustande kamen. Mit dem Ausführungspfad-Tool von SQL Server Management Studio konnte ich die Abfrageoptionen überprüfen und verbessern und schließlich die "beste" für die jeweilige Situation auswählen. Wenn Sie einen Grund oder einen Zweck finden, einen Haufen SQL zu schreiben, ist das meiner Meinung nach der beste Katalysator, den Sie haben können, um die Kunst des Melkens von Daten aus der DB wirklich zu erlernen.

3voto

Steven A. Lowe Punkte 59247
  1. Mengenlehre
  2. Datenbanktheorie, insbesondere die Regeln der Normalisierung
  3. lernen, wie man einen Abfrageausführungsplan liest

2voto

Martlark Punkte 13017

Die Lektüre der Ask Tom-Website hat mir geholfen zu verstehen, was man mit fortgeschrittenem SQL machen kann. Sie ist Oracle-spezifisch, aber beißend sarkastisch und grausam!

Fragen Sie Tom

Sprechen Sie auch mit Ihren Datenbankadministratoren (falls Sie welche haben), sie haben viel Erfahrung, die Sie nutzen können.

0voto

Darryl Hein Punkte 138311

Ich finde, am einfachsten ist es, sich zu fragen, ob es einen besseren oder einfacheren Weg gibt, und nach diesem Weg zu suchen (wie auf MySQL Website) oder Fragen stellen (wie auf SO). Auf diese beiden Arten habe ich den Großteil von SQL gelernt. Aber das war erst, nachdem ich mir ein Grundwissen angeeignet hatte. Ich habe auch festgestellt, dass man umso mehr lernt, je komplizierter die Datenbank wird, selbst wenn es durch Versuch und Irrtum geschieht.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X