Wie wichtig ist SQL

Status
Für weitere Antworten geschlossen.
SQL ist nicht wegzudenken. Sollte man schon können.

michi.o schrieb:
... Studium ... Was geblieben ist, ist die Fähigkeit sich in neue Themen einzuarbeiten und sie zu verstehen ...
Eine Fähigkeit, welche man von Geburt an hat bzw. nicht hat, durch ein Studium verlieren? Kann sowas wirklich passieren?
 
Für SQL als solches gilt dasselbe wie für so ziemlich alle Bereiche der Softwareentwicklung oder noch allgemeiner für die Informatik. Letztendlich läuft es stets auf Konzepte hinaus, die man verinnerlichen muss, unabhängig davon mit welchen Mitteln, welcher Sprache und welchen Tools diese Konzepte letztendlich implementiert werden. Gerade die Joins, die @BTCStorage angesprochen hat, stellen im Prinzip nur das SQL-Pendant der Mengenlehre aus der Mathematik in der 5./6. Klasse dar. Auf w3schools.com wird das anschaulich dargestellt.

Ob nun wirklich jeder Softwareentwickler aus dem Stegreif binnen Sekunden ein komplexes SQL-Statement aus dem Ärmel schütteln können muss, sei mal dahingestellt. Informatik ist ein sehr breites Feld und jeder hat sein Spezialgebiet und ggfs auch gewisse Themenbereiche, die er nicht leiden kann oder mit denen er einfach kaum oder gar keine Berührungspunkte hat. Dennoch kennt mutmaßlich jeder Programmierer zumindest die Grundzüge, die Prinzipien, die dahinterstehen, und kann im Bedarfsfall seine Kenntnisse auf Seiten wie w3schools.com auffrischen. Zumindest sollte ein Programmierer das können, weil die Lösung von Problemen inkl. der Ergänzung etwaiger fehlender Kenntnisse zu den Kernkompetenzen zählt.
 
sh. schrieb:
Mal aus Eigeninteresse, welche Schulung ist das? Online oder Vorort? Ein "Bootcamp"?
Es ist eine Schulung der Arbeitsagentur zwei mal die Woche vor ort und ansonsten online.

Was ich allgemein dazu noch sagen kann, ich verstehe es natuerlich wenn jemand SQl brauch und sich darin zum Experten entwickelt, alles schoen und gut und wichtig und richtig, wir haben jetzt aber im bereich SQL so fuenf Tage nur Zeit bekommen und ich sehe dort so komplexe Abfragen mit Joins subquerys usw ich kann nicht glauben das irgendjemand nach fuenf Tagen diese Sachen so beherschen soll. Alles brauch seine Zeit und wenn jemand nach ein jahr arbeit mit SQl solche Sachen einfach hinbekommt ist das auch wichtig und richtig, aber nicht nach fuenf Tagen.

Ich habe alle Antworten von ChatGPT auch geprueft und verstehe auch was subquerys sind und Joins aber ich habe keine Lust innerhalb von fuenf Tagen dort den kompletten Ablauf und Logig probieren zu studieren das ist doch nur Zeit und Energieverschwendung, ich frage mich die ganze Zeit ob in dieser Schulung dort wirklich alles Anfaenger sind, manchmal wird man auch verarscht und es sitzen dort im Prinzip lauter Profis und die Schulungsgeber wollen einen nur bloed aussehen lassen, tun so als ob jeder nach fuenf Tagen SQl Experte waere und man selbst waere einfach nur zu faul zum lernen.

Beim ersten Test zum Beispiel da haben wir mit Blocky gearbeitet, wo man anhand von Bloecken was aufbauen muss und ich war beim Abgabetest als erster fertig, weil ich es gewohnt bin Sachen zu bauen die dann so funktionieren wie man sich vorstellt, ich habe mir nunmal programmieren beigebracht, man lernt ja das womit man sich jeden Tag beschaeftigt, aber diese Schulungen usw da wird man mit lauter Allgemein Wissen generft, man kann sicher auch subqueries und Joins usw gut lernen aber in 5 Tagen doch nicht, das ist doch alles verarscherrei, in gerade mal circa 2 Monaten soll man von Anfaengen zum Fullstack Developer werden und alle diesen Sachen lernen, wenn ich nicht schon sowieso ueber zehn Jahre Erfahrung gehabt haette mit diesen Sachen kann ich mir nicht vorstellen wie sowas funktioneiren soll.

Aber naja solange mir niemand verbietet die Hilfsmittel zu nutzen welche ich benutze ist alles kein Problem, dann ist das im Prinzip so wie Urlaub fuer mich, ich pruefe natuerlich auch alles was ChatGPT ausgibt. Und ich weis zb vom hoeren das Leute auch sagen so wenig Datenbankabfragen wie moeglich machen und am besten auch nicht zu komplizierte Abfragen
 
Joins sind aber mitnichten kompliziert. Wie ich schon angedeutet habe ist das unterm Strich Mathematik aus der 5./6. Klasse, Mengenlehre. Ich weiß natürlich nicht was du als "komplexe Abfragen mit Joins" konkret meinst, aber gerade zum Einstieg würde ich behaupten, dass das keine Joins über ein halbes Dutzend Tabellen sind, sondern tendenziell nur mit 2 Tabellen - und dann ist es eigentlich trivial und auch in 5 Tagen zu lernen, wenn man das banale Prinzip dahinter verstanden hat. Denn genau darum geht es zunächst einmal: Das Prinzip verstehen.


BTCStorage schrieb:
Aber naja solange mir niemand verbietet die Hilfsmittel zu nutzen welche ich benutze ist alles kein Problem, dann ist das im Prinzip so wie Urlaub fuer mich, ich pruefe natuerlich auch alles was ChatGPT ausgibt.
Das ist aber gefährlicher als du dir vorstellst. Die KIs werden die Menschh... ach ne, anderes Thema :D
Wenn du augenscheinlich das Prinzip nicht verstanden hast, kannst du den Output von ChatGPT gar nicht prüfen. Denn wenn du es könntest, bräuchtest du ChatGPT nicht. Wie gesagt, ich kann mir beim besten Willen nicht vorstellen, dass eure Aufgaben objektiv betrachtet so komplex sind wie du sie subjektiv empfindest. Und wenn du künftig als Full Stack Developer Fuß fassen willst, kann man kaum genug davor warnen, sich die Arbeit mit ChatGPT und Co so einfach zu machen, dass man am Ende überhaupt nichts daraus lernt und nur noch abtippt. Das fällt dir eher früher als später auf die Füsse, ggfs schon direkt im Bewerbungsgespräch, wenn du hektisch an deinem Handy rumfummelst, um ChatGPT zu befragen.......



BTCStorage schrieb:
Und ich weis zb vom hoeren das Leute auch sagen so wenig Datenbankabfragen wie moeglich machen und am besten auch nicht zu komplizierte Abfragen
Das ist auch richtig. So einfach wie möglich, aber so komplex wie nötig. Datenbanken drehen sich ganz allgemein um Rechenzeit. Eine gezielte Select-Anweisung mit passenden Joins kann je nach Anzahl an Datensätzen Hunderte, Tausende, Millionen von einzelnen Abfragen ersetzen - und das mit einer recht simplen Syntax. Eine Datenbank ist nämlich explizit für solche Zwecke gerüstet und kann rasend schnell die Verknüpfungen herstellen.


Wenn du Schwierigkeiten mit Joins hast, kann man dir hier ggfs helfen und dir zeigen warum und wieso das so ist und weshalb man es nicht anders machen sollte.
 
  • Gefällt mir
Reaktionen: prh, mental.dIseASe und andy_m4
Kommt auf die Anwendung an. Gerade wenn's performancekritisch wird, macht es Sinn der Datenbank so viel Arbeit wie möglich zu überlassen, da niemand effizienter Daten vergleichen kann als die Datenbank es tut. Richtiges Datenbank Design vorausgesetzt.
SQL Kenntnisse schaden da die, ob man es jetzt direkt braucht braucht oder die Datenbank eine entsprechende GUI hat egal. Spätestens wenn die Performance in den Keller geht, ist es sinnvoll, sich mal konkret das SQL anzuschauen und zu verstehen was passiert.
 
BTCStorage schrieb:
wollen einen nur bloed aussehen lassen, tun so als ob jeder nach fuenf Tagen SQl Experte waere und man selbst waere einfach nur zu faul zum lernen.

BTCStorage schrieb:
Aber naja solange mir niemand verbietet die Hilfsmittel zu nutzen welche ich benutze ist alles kein Problem, dann ist das im Prinzip so wie Urlaub fuer mich
Ahja. Also solange du später nicht in dem Bereich arbeiten willst oder gar dich auf Jobs bewerben willst ist das ja völlig in Ordnung. Ansonsten ist das eine ganz schlechte Idee.
 
  • Gefällt mir
Reaktionen: prh und Kalsarikännit
BTCStorage schrieb:
in gerade mal circa 2 Monaten soll man von Anfaengen zum Fullstack Developer werden
Wenn auf dem "Lehrplan" 5 Tage SQL steht, was steht den noch so auf der Agenda? HTML? CSS?
Welcher "Fullstack" Technologie Stack wird den da gelernt?

Also meine persönliche Einschätzung ist dieser "Kurs" eine reine Beschäftigungsmaßnahme, eben typisch Arbeitsagentur und danach wirst du es (mal sehr nett ausgedrückt) sehr sehr schwer haben irgendwo eine Stelle zu bekommen.

Dir Gedanken zu machen ob SQL das richtige ist und ob du es später noch irgendwann benötigst wird dein geringstes Problem sein.

Ich bin zwar Systemadministrator und kein Softwareentwickler aber jeder nur ein bisschen Einblick hat wird das bestätigen können.
 
  • Gefällt mir
Reaktionen: Raijin, wahli und BTCStorage
SQL wirst du sicher brauchen und solltest du auch können. Zumindest einige grundlegende Dinge wie JOIN, OUTER JOIN, INNER JOIN, GROUP BY, MAX, COUNT, ... musst du können.
Spätestens bei Performanceproblemen wirst du dich mit SQL auseinander setzen müssen: sind alle Indexe gesetzt? Passen die Joins? Sollten die Tabellenstruktur anders aufgebaut sein? Usw.

5 Tage sind absolut ausreichend, um sogar tiefergreifende Kenntnisse zu erlangen.

ChatGPT ist bei meiner Firma verboten. Bringt eigentlich keine Vorteile beim Programmieren. Das Internet bietet genügend Beispiele. Ein paar Programmierer hatten es bei uns in der Firma mal analysiert, wie ChatGPT beim Programmieren unterstützen könnte, aber es gab nur sehr wenig Potential.

ChatGPT macht keinen Experten. Sei vorsichtig mit der Verwendung! Du solltest dein Handwerk auch ohne können!
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: BeBur
sh. schrieb:
Also meine persönliche Einschätzung ist dieser "Kurs" eine reine Beschäftigungsmaßnahme, eben typisch Arbeitsagentur und danach wirst du es (mal sehr nett ausgedrückt) sehr sehr schwer haben irgendwo eine Stelle zu bekommen.
Mit der Einstellung des TE auf jeden Fall. Ich würde jetzt gar nicht mal über den Kurs werten wollen. Das da 1/8 des Kurses (vermute ich mal) SQL sind ist jetzt nichts dramatisch negatives.
 
BeBur schrieb:
Mit der Einstellung des TE auf jeden Fall.
Mein Post sollte keineswegs böse oder dergleichen sein aber irgendwie habe ich das Gefühl das "FullStack" einfach DAS Buzzword schlechthin ist, dicht gefolgt von "Dev-Ops" und z.B. YouTube sagt einem das es jeder mit einem 8 Wochen Kurs schaffen kann und dann das große Geld verdienen wird...

Ja, es kann jeder schaffen - aber da gehört eben bisschen mehr dazu wie ChatGPT zu bedienen und einen 8 Wochen zu belegen.
 
sh. schrieb:
Wenn auf dem "Lehrplan" 5 Tage SQL steht, was steht den noch so auf der Agenda? HTML? CSS?
Welcher "Fullstack" Technologie Stack wird den da gelernt?

Also meine persönliche Einschätzung ist dieser "Kurs" eine reine Beschäftigungsmaßnahme, eben typisch Arbeitsagentur und danach wirst du es (mal sehr nett ausgedrückt) sehr sehr schwer haben irgendwo eine Stelle zu bekommen.

Dir Gedanken zu machen ob SQL das richtige ist und ob du es später noch irgendwann benötigst wird dein geringstes Problem sein.

Ich bin zwar Systemadministrator und kein Softwareentwickler aber jeder nur ein bisschen Einblick hat wird das bestätigen können.
Ja ich sehe das genau so, das ist alles nur Beschaeftigungsmassnahmen und deswegen auch einfach nur dum, niemand kann nach 5 Tage irgendetwas gut lernen, erst wenn du paar programme gebaut hast und Loesungen gefunden hast fuer verschiedene probleme, erst dann faengst du langsam an etwas zu lernen.

Ich gehe da auch nur hin damit ich bisjen Ruhe haben von allen anderen gelaber. Im Prinzip nutze ich schon seit gut ein Jahr meine Zeit dafuer ein gutes brauchbares produkt zu bauen, eine Art Tradingapp dort steckt schon soviel Arbeit drine, ich kann mir gar nicht vorstellen das auch nur irgendkemand nach 2 Monaten Kurs dort irgendwie von irgendetwas Ahnung hat, man hat ja ueberhaupt gar keine Zeit irgendetwas zu kapieren und baut ja nichts sondern beantwortet die ganze Zeit dort nutzlose Fragen, deswegen ist doch sowas wie ChatGPT genau die richtige Antwort auf solche Nutzlosen Schulungen.

Die Lehrer dort gehen doch auch nur Jahr fuer Jahr die ganze Zeit den gleichen Stoff durch und haben doch selber auch nichts cooles gebaut. Ich weis wenn ich mich spaeter irgendwo bewerben will und eine coole Tradingapp zeigen kann welche ich selbst gebaut habe, ist das mehr wert als irgendwie 2 Monate Kurs bei Arbeitsamt.

Im Prinzip was ich kompliziert finde an den SQL Abfragen ist beispielweise einfach der ganze Aufbau der Abfragen, natuerlich kann ich das auch alles lernen wenn ich denke das ich es wirklich brauche. Aber bei meiner Tradingapp zum beispiel benutze ich nur SQLite, beim Start des Server lade ich die wichtigsten Daten in Objekte und mit diesen Objekten arbeite ich waehrend der Laufzeit des Programmes, wenn Anfragen kommen an den Router gibt es die fertigen Daten direkt aus dem Laufzeitobjekt, ohne die Datenbank erst noch ab zu fragen. Und ab und zu speicher ich dann auch unabhaengig von Anfragen einige Daten wieder in der Datenbank damit die beim naechsten Serverstart wieder genutzt werden koennen, aber waehrend der Laufzeit des Server benutze ich kaum Abfragen.

Stell dir mal zum Beispiel vor du willst offene Trades aus einem Handelskonto jetzt jedes Sekunde erst in der Datenbank speichern und danach am besten auch noch die Datenbank wieder abfragen und die gleichen Daten wieder lesen welche man eine Sekunde vorher reingespeichert hat nur damit es in der Datenbank steht aber komplett sinnlos, Dann speicher ich doch die Trades direkt in ein Objekt weil die Abfrage der Datenbank gibt mir auch nur ein objekt, also spare ich mir doch den Ablauf und so aehnlich baue ich dann auch andere Sachen, wenn es nicht wirklich noetig ist ohne Datenbankabfragen. Ich speicher in den Datenbanken vielleicht mal so Sachen wie Einstellungen damit die beim Serverstart gelesen werden oder wenn jemand seine Einstellungen aendert dann updaten usw.
 
Um da nochmal was zum Thema einzustreuen bevor das hier völlig abdriftet.
Joins habe ich persönlich weniger im Einsatz, hängt aber auch mit dem Konzept der vorgeschalteten Web API zusammen. Die liefert eher Rohdaten. Die reine SQL Sprache ist meines Erachtens nur ein Aspekt wenn man vollständig eine Datenbank aufbaut. Sofern unterstützt kommt da noch viel dazu
  • Schemata für Domänen in der DB aufbauen
  • keine direkten Aktionen auf Tabellen, alles über Stored Procedures um sowas wie xkcd 327 zu unterbinden
  • Rechte überhaupt einschränken
  • Datenhoheit: entscheidet zB der SQL Server selbst oder die API oder der Client ob und welche Daten manipuliert werden
Man findet idR nur Normalisierung als Ansatz und grob das man Rechte bedenken soll. Aber wie das dann konkret aussieht is immer so etwas mau.
 
BTCStorage schrieb:
Ich gehe da auch nur hin damit ich bisjen Ruhe haben von allen anderen gelaber.
Ich verstehe dein Problem nicht wirklich. Du sollst dort SQL lernen und du kannst kein SQL. Dann arbeite da doch einfach mit und lerne SQL. SQL ist so ziemlich allgegenwärtig und hat auch mehrere zugehörige Themen die eher speziell sind und über die man beim ersten mal in Ruhe nachdenken will oder im Dialog erarbeiten will wie z.B. Normalisierung und Joins.
"Da kann ich doch ChatGPT fragen", wenn du auf dem Niveau bleibst, dann ist das natürlich so, dass man dich auch nicht braucht, weil auch jeder andere einfach ChatGPT fragen kann.

BTCStorage schrieb:
Stell dir mal zum Beispiel vor du willst offene Trades aus einem Handelskonto jetzt jedes Sekunde erst in der Datenbank speichern und danach am besten auch noch die Datenbank wieder abfragen und die gleichen Daten wieder lesen welche man eine Sekunde vorher reingespeichert hat nur damit es in der Datenbank steht aber komplett sinnlos, Dann speicher ich doch die Trades direkt in ein Objekt weil die Abfrage der Datenbank gibt mir auch nur ein objekt, also spare ich mir doch den Ablauf und so aehnlich baue ich dann auch andere Sachen, wenn es nicht wirklich noetig ist ohne Datenbankabfragen. Ich speicher in den Datenbanken vielleicht mal so Sachen wie Einstellungen damit die beim Serverstart gelesen werden oder wenn jemand seine Einstellungen aendert dann updaten usw.
Nein, das ist alles total an der Sache vorbei und mit dieser "ich weiß doch schon alles besser" Einstellung wirst du niemals auch nur durchschnittlich werden.
 
  • Gefällt mir
Reaktionen: prh, mental.dIseASe, lokked und 2 andere
Das Thema Datenbanken / SQL ist sehr umfangreich. Man kann viele Jahre Wissen dazu aufbauen und es gibt trotzdem immer wieder was Neues.
Als Programmierer (fürs Bullshit-Bingo: fullstack developer) sollte man auf jeden Fall grundlegende Kenntnisse haben. Mehr gibt es hier nicht zu sagen.

In der Zeit, welche du gerade hier verbringst, hättest du schon wieder einiges zu SQL lernen können.
Installiere dir unter docker irgendeine Datenbank (z. B. PostgreSQL) und übe.
 
BTCStorage schrieb:
ich kann mir gar nicht vorstellen das auch nur irgendkemand nach 2 Monaten Kurs dort irgendwie von irgendetwas Ahnung hat, man hat ja ueberhaupt gar keine Zeit irgendetwas zu kapieren und baut ja nichts sondern beantwortet die ganze Zeit dort nutzlose Fragen, deswegen ist doch sowas wie ChatGPT genau die richtige Antwort auf solche Nutzlosen Schulungen.
Sorry, aber deine Sichtweise ist ziemlich wirr. Niemand sagt, dass man in 2 Monaten zum Vollprofi wird. Selbst nach einer abgeschlossenen Berufsausbildung oder gar einem Studium ist man noch kein Profi und wird bei seinem ersten Job zunächst als Anfänger angesehen. Es ist eine Sache, die Theorie zu kennen, und eine ganz andere, diese Theorie in der Praxis auch anwenden zu können. Den Sinn und Zweck hinter bestimmten Sprachkonstrukten erkennt man erst, wenn man selbst vor einem echten Anwendungsfall steht, bei dem genau diese Technik enorm hilfreich ist und einem Dutzende, Hunderte von überflüssigen Codezeilen und etlichen Sekunden Rechenzeit erspart. Kennt man zu diesem Zeitpunkt aber nicht mal die Theorie oder hat sich das alles von ChatGPT erzählen lassen, kann man in derselben Situation gar nichts oder man bastelt sich absurde Workarounds zurecht, die selbst Anfänger die Stirn runzeln lassen.

Bitte häng dich nicht so daran auf, dass es nur ein 2-Monats-Kurs ist. Nimm ihn mit und lerne alles, was dort gelehrt wird, ob es dir gefällt oder nicht. Mit der Einstellung, die du an den Tag legst, ist der Kurs in der Tat nutzlos, aber nicht des Kurses wegen, sondern weil du nichts daraus lernst bzw. lernen willst.


BTCStorage schrieb:
Stell dir mal zum Beispiel vor du willst offene Trades aus einem Handelskonto jetzt jedes Sekunde erst in der Datenbank speichern und danach am besten auch noch die Datenbank wieder abfragen und die gleichen Daten wieder lesen welche man eine Sekunde vorher reingespeichert hat nur damit es in der Datenbank steht aber komplett sinnlos
Du kannst jetzt natürlich beliebig absurde Beispiele konstruieren, die deinem Narrativ folgen, aber das ändert nichts. Klar, wenn man Datenbanken vollkommen falsch anwendet, sind sie kacke. Das gilt aber für jedes Werkzeug auf diesem Planeten. Sinngemäß schreibst du: "Kreuzschraubenzieher sind kacke und ich will mich nicht mit ihnen beschäftigen, weil sie einfach kacke sind, wenn man damit eine Schlitzschraube schrauben will".

Ob man (schnell) veränderliche Daten in einer Datenbank zwischenspeichert oder in lokalen Variablen vorhält, hängt nun mal von der Art der Schraube ab. Datenbanken und lokale Variablen sind zwei Paar Schuhe, die in ihren jeweiligen Anwendungsfällen eingesetzt werden wollen. Zum Wandern trägt man ja auch keine Fußballschuhe und mit Holztoffeln tut man sich auf der Tanzfläche ebenfalls schwer. Jedes Werkzeug hat sein Einsatzgebiet, das gilt eben auch für Datenbanken, egal ob du der sehr persönlichen Meinung bist, dass sie sinnlos sind.
 
  • Gefällt mir
Reaktionen: prh, mental.dIseASe, abcddcba und eine weitere Person
Welche Programmiersprache wird denn im Kurs verwendet?
Und welche verwendest du in deiner Trading App?
 
Man kann waehlen .NET, Java oder PHP und weil ich nichts neues lernen will waehle ich PHP und am Anfang werden die ganzen Grundlagen durch gegangen.

Ich benutze jetzt aber schon seit circa 3 Jahren Node.js auch fuer die Tradingapp.

Naja ich muss ehrlich sagen ich habe bisher noch nichts dort grosartig gelernt, ich kucke immer nur ein Tag vorher was wir morgen machen und hat bis jetzt auch so ausgereicht, im Prinzip koennte ich morgen auch die Endrpuefung schon machen und bestehen, so ein Ding ist das. Was ich da vielleicht neues lerne wie man Mysql Worbench oeffnet, wie man GIt benutzt und so Sachen.
 
Mit Deinen Einstellungen wundert mich das nicht und damit wirst Du auch nicht weit kommen.
 
  • Gefällt mir
Reaktionen: prh, f00bar, mental.dIseASe und 9 andere
Du machst das also nur wegen irgendeinem Zertifikat?
Was erhoffst du dir damit?
Warst du jetzt ein Jahr arbeitslos in diesen Zeiten? Viele Firmen suchen händeringend Leute. Auch wir haben bis vor kurzem noch massiv Java-/Frontend-Programmierer gesucht.
Mach doch bei einer Firma ein Praktikum (bezahlt vom Arbeitsamt und der Firma) und zeige, was du kannst bzw. zeige, dass du lern-willig bist.

Mir scheint, als hättest du keine Zukunftspläne. Ansonsten hättest du bewusst eine Programmiersprache ausgewählt, die dich besonders interessiert und die bei deiner Wunschfirma auch verwendet wird.
Ich möchte jetzt PHP nicht schlecht reden, aber ich hätte PHP ganz sicher nicht genommen. Im professionellen Umfeld wird viel mehr mit Java und .Net gearbeitet. Vermutlich wirst du aber von solchen Firmen gar nicht genommen. Ohne Studium ist das schwer.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Drexel
Status
Für weitere Antworten geschlossen.

Ähnliche Themen

Zurück
Oben