SQL: Anleitungen und Praxiswissen | mironsoft Blog
SQL
-
08.05.2026
Kaum eine SQL-Gewohnheit ist so bequem und gleichzeitig so umstritten wie SELECT *. Für eine schnelle Abfrage in der Konsole spart der Stern Tipparbeit und liefert sofort alle verfügbaren Informationen. Sobald dieselbe Abfrage aber in Anwendungscode landet, der wiederholt ausgeführt wird und über Jahre gepflegt werden muss, kippt die Rechnung: unnötig übertragene Daten, stillschweigend brechender Code bei Schema-Änderungen und verschenktes Optimierungspotenzial durch verhinderte Covering-Indizes. Dieser Artikel geht die konkreten Probleme durch, benennt die legitimen Ausnahmen und zeigt, wie sich das Muster im Code Review zuverlässig abfangen lässt.
-
08.05.2026
Ein blind ausgeführtes Migrations-Diff kann Datenverlust, Tabellensperren oder Downtime verursachen. Mit dem Expand-Contract-Pattern, additive Migrations und konsequenter CI-Prüfung werden Doctrine Migrations planbar, symmetrisch und produktionssicher.
-
08.05.2026
Wer SQL nur zum Datenabrufen einsetzt, löst dieselben Probleme immer wieder im Application-Code. Anti-Join, Window Functions, CTEs und Conditional Aggregation ersetzen PHP-Schleifen durch Datenbankoperationen, die dafür gebaut sind – und machen Queries gleichzeitig kürzer, schneller und leichter testbar.
-
08.05.2026
SQL wird in einer anderen Reihenfolge ausgeführt als es geschrieben wird. Wer das nicht weiß, schreibt Queries die zufällig funktionieren — oder zufällig nicht. Diese SQL Grundlagen räumen mit den häufigsten Denkfehlern auf.
-
07.05.2026
Graph-Abfragen fuer Hierarchien, Organisationsstrukturen und Netzwerke lassen sich mit Adjazenzlisten, rekursiven CTEs und Closure Tables direkt in einer relationalen Datenbank abbilden, ohne fuer jeden vernetzten Anwendungsfall gleich eine dedizierte Graphdatenbank einzufuehren. Wer die Grenzen dieses Ansatzes kennt, trifft die richtige Wahl fuer die eigene Datenmenge und Abfragetiefe.
-
04.05.2026
Eine vage formulierte Kennzahl führt zu widersprüchlichen Reports, selbst wenn die zugrunde liegende Query technisch korrekt ist. Claude hilft, KPI-Definitionen präzise zu fassen, Cohort-Analysen und konsolidierte Kennzahlen-Sichten zu bauen und wiederkehrende Reports zu automatisieren. Dieser Artikel zeigt den Weg von der unscharfen Fachfrage zum verlässlichen Business-Intelligence-Report.
-
27.04.2026
Ein SQL-Review, das nur auf Einrueckung und Variablennamen schaut, uebersieht die Fehler, die spaeter in Produktion richtig teuer werden. Eine systematische Checkliste aus Lesbarkeit, Korrektheit, Performance-Red-Flags und Sicherheitspruefungen macht SQL-Code-Reviews reproduzierbar statt vom Bauchgefuehl des Reviewers abhaengig.
-
22.04.2026
Ein Soft Delete markiert eine Zeile als geloescht, ohne sie physisch zu entfernen, klingt nach einer einzigen zusaetzlichen Spalte und entpuppt sich in der Praxis als Quelle fuer Unique-Constraint-Konflikte, aufgeblaehte Indizes und vergessene WHERE-Bedingungen. Dieser Beitrag zeigt drei etablierte Modelle fuer Soft Deletes und ordnet ein, wann welches wirklich passt.
-
22.04.2026
Optimistic Locking loest gleichzeitige Schreibzugriffe ohne Datenbank-Sperren, indem jede Zeile eine Versionsspalte traegt und ein UPDATE nur dann erfolgreich ist, wenn die Version beim Schreiben noch mit der beim Lesen gesehenen Version uebereinstimmt. Weicht die Anzahl betroffener Zeilen von eins ab, hat eine andere Transaktion zwischenzeitlich geschrieben, und die Anwendung muss den Konflikt gezielt behandeln.
-
21.04.2026
Die Wahl des Primaerschluessels ist eine der folgenreichsten Entscheidungen beim Tabellenentwurf: ein fachlicher Natural Key wie eine E-Mail-Adresse oder eine Produkt-SKU traegt Bedeutung, ein kuenstlicher Surrogate Key wie ein Auto-Increment-Wert oder eine UUID ist stabil und bedeutungslos. Dieser Beitrag vergleicht beide Strategien konkret, zeigt zusammengesetzte Schluessel als dritte Option und liefert einen praktischen Entscheidungsleitfaden.