Sind diese SQL-Konzepte für Anfänger, Fortgeschrittene oder fortgeschrittene Entwickler? [geschlossen]
16
Ich habe kürzlich SQL gelernt und mit MySQL / Postgres und bald mit Oracle DB geübt. Ich habe auch im Internet nach einer Roadmap-Studie für Datenbanken gesucht, aber leider keine gefunden.
Ich möchte verstehen, wo und warum bestimmte Datenbankkonzepte vom Anfänger bis zum Fortgeschrittenen und Fortgeschrittenen eine Rolle spielen. Ich denke zum größten Teil über relationale Datenbanken nach.
Bitte erläutern Sie, wie Sie die unten aufgelisteten Fertigkeiten in einer Abfolge von Anfänger -> Mittelstufe -> Fortgeschritten auslegen, für welche Entwicklerebenen sie bekannt sein sollten:
Ich würde sagen, dass es in Bezug auf SQL zwei Arten von Dingen gibt (dies gilt wirklich für viele Technologien), es gibt bestimmte technische Dinge wie Verknüpfungen, Unterabfragen, Gewerkschaften usw., die Sie verstehen oder nicht, und dann gibt es Dinge wie Datenbankdesign und Datenmodellierung, die ein gewisses Maß an Geschick haben, wie Kunst. Mit den weicheren Dingen wird man mit der Zeit besser, aber man "kennt" sie nie, weil es keine "Arbeitsweise" mit ihnen gibt.
Das heißt, hier ist ein allgemeines Layout, das ich verwenden würde, und ich bin absolut offen für Kommentare / Gedanken von anderen, bei denen ich mich möglicherweise irre.
Anfänger
Where-Klauseln (dazwischen, usw.)
Syntax aktualisieren
Inneres gegen linkes gegen rechtes verbinden Verständnis und Gebrauch
Syntax zum Ändern und Erstellen von Strukturen
Temporäre Tabellen und ihre Verwendung
Cursor
Grundlegende Vorstellung, wofür Indizes gedacht sind, aber nicht, wie sie funktionieren
Verständnis, wozu Fremdschlüssel dienen und wie man sie umgeht (kaskadierende Löschvorgänge usw.)
Versteht die Grundlagen von Transaktionen
Versteht Zwänge
Mittlere
Wie Indizes funktionieren, Unterschied zwischen geclusterten und nicht geclusterten Seiten usw., was eine Seite ist und wie sie angeordnet sind
Verstehen von Unterabfragen und Überlegen, wie diese in Joins und Wheres verwendet werden können
Drehpunkte
Kann es sich überlegen, sich an einen Tisch zu setzen, wenn dies relevant ist
Kann komplexe Datenberichte über Gruppen-Bys mit Aggregatfunktionen generieren
Kann grundlegende Profilerstellung nur in einer Überwachungs- / Debugging-Funktion wie das Lesen eines Protokolls durchführen
Versteht den Unterschied zwischen OLAP und OLTP und wann / wo OLAP-Strukturen verwendet werden
Kann Trigger verwenden und nicht verwenden
Versteht Transaktionen und kann sie beim Behandeln von Fehlern im Stapel aufteilen
Fortgeschritten
Kann einen Ausführungsplan lesen und verstehen, wie sich die verschiedenen Teile der Abfrage darauf auswirken
Kann Abfragen mit Ausführungshinweisen optimieren, ohne die Leistung zu beeinträchtigen (Parallelitätshinweise, Indexhinweise, Schleifenhinweise usw.)
Kann Traces für das Identifizieren und Verstehen von Ausführungsstatistiken unter realer Last profilieren und verwenden
Kennt die Datenstrukturen auf der Festplatte
Kann Leistungsindikatoren verwenden und verstehen, wie sich die Datenbanklast und das Datenbankverhalten auf deren Überwachung auswirken
Kennt das Entwerfen eines OLAP-Cubes und das Ausführen eines erweiterten Data Mining mit einem
Kennt den Umgang mit Triggern und deren sichere Verwendung bei minimalem Risiko
Kann verteilte Transaktionen auch mit Ebenen verwenden
Das ist alles, was ich mir vorstellen kann. Bitte hinterlasse Kommentare, in denen andere erwähnt werden, die ich verpasst habe oder wenn ich etwas falsch platziert habe. Ich bin nicht weit genug fortgeschritten, um eine riesige Liste fortgeschrittener Techniken zu kennen, mit denen ich mich auseinandersetzen kann
Komisch, deine Liste ist meiner ziemlich ähnlich; Obwohl ich Ausführungspläne einen Schritt nach oben gesetzt habe, haben wir im Grunde das gleiche. Ich habe fast die 3. Normalform in die Zwischenstufe eingeordnet, aber ich denke wirklich, dass Datenmodellierung nicht Anfängern / Zwischenstufen / Fortgeschrittenen zugeschrieben werden kann, es ist einfach zu viel von einem künstlerischen Talent, das so grau ist. Zu wissen, wie man die 3. Normalität macht, ist eine Fähigkeit, zu wissen, wann eine Kunst ist. Das Wie ist jedoch relevant und ich habe es fast auch für dieses He in die Zwischenstufe gebracht
Hier ist die Skala, die ich bei der Befragung von Kandidaten verwende. Dies ist natürlich meine persönliche Meinung, Maßstäbe können leicht variieren:
Zunächst suche ich nach Datenbankkenntnissen, nicht speziell nach "SQL".
Anfänger:
Mittlere:
Fortgeschrittene:
quelle