Hallo TakerOne,
ich möchte Deine Aussage hier nicht unkommentiert lassen zumal m.E. viel zu wenig ausgeführt wird warum du zu dieser Einstellung kommst.
TakerOne hat geschrieben:Ein Join macht nur Sinn, wenn er sehr klein und überschaubar ist, alles andere ist von Übel.
Grund?
TakerOne hat geschrieben:
Es mag ja schön und gut sein, daß der Join wunderbar funktioniert.
Aber: Falls ein solches Programm jemals geändert wird, hat der Nachfolger erhebliche Probleme nachzuvollziehen was der Vorgänger gewollt hat. Testen ob der Join auch richtig funktioniert, ist bei unbestimmten Test-Datenbestand ein reines Lotteriespiel.
Ich wüsste nicht wo da ein Problem liegt. Ich habe keine Probleme Programme von SAP, externen oder internen Entwicklern zu lesen auch wenn diese einen JOIN verwendeten. Das war zugegebenerweise nicht immer so - am Anfang war so ein JOIN für mich eine große Unbekannte. Aber nachdem man genug damit gearbeitet hat kann man diesen auch sehr gut lesen.
Was das "Testen ob der JOIN auch richtig funktioniert" angeht. Ist das irgendwie anders als "Testen ob das Programm das macht was es soll?"
Gehört halt zum proggen dazu, dass man weiß was so ein JOIN macht ( oder machen soll ) und wie man im Fehlerfall hier debuggt...
TakerOne hat geschrieben:Für Fremdprogrammierer, die ihre Join-Ergüsse und sonstigen Programmiertricks in Kundenprogrammen publizieren, sind zwar fähig ein lauffähiges programm zu erstellen, sind damit aber noch lange keine "richtigen" Programmierer. Denn dazu gehört, das die erstellten Programme übersichtlich, nachvollziehbar und änderungsfreundlich sind. Grosse Joins gehören sicherlich nicht zu dieser Kategorie.
Polemie ist keine gut Basis für einen Beweis.
Und die Schlussfolgerung: "Externer Programmierer benutzt JOINs --> Derjenige ist kein "richtiger" Programmierer" ist für mich als Mathematiker nicht nachvollziehbar.
Ganz im Vertrauen - ich kann sowohl einen SELECT als auch einen JOIN entweder übersichtlich oder unübersichtlich schreiben. Und ich kann auch ohne JOIN programmieren. Aber ich benutze dieses Programmkonstrukt nicht um die Kunden in die Abhängigkeitsfalle zu treiben, sondern um eine Aufgabe mit den Mitteln zu lösen, die ich für angebracht halte.
TakerOne hat geschrieben:
Als Programmierer alter Schule (25 Jahre),bestimme ICH, was, wann und wie gelesen wird, nicht die Optimierungsroutine der Datenbank.
Damit werde ich wohl zum Programmierer der "neuen Schule". Mir ist völlig egal ob die Optimierungsroutine der DB zuschlägt oder nicht. Und dass der Optimierer das Ergebnis des Lesens beeinflusst ist mir bisher noch nicht untergekommen.
Hauptsache ist doch, dass das Programm korrekt, hinreichend schnell und gut lesbar ist.
TakerOne hat geschrieben:Als langjähriger, festangestellter Programmierer weiß ich aus bitterer Erfahrung mit den "Ausserirdischen" worüber ich spreche.
Glücklicherweise bin ich bisher solchen xenophopischen Ansichten nicht begegnet.
TakerOne hat geschrieben:Die Ausführungen sind zwar etwas provokant, aber ehrlich.
Meine sind auch ehrlich - aber hoffentlich nicht so provokant...