Come raggiungere il livello avanzato in SQL? [chiuso]

4

Penso di avere una buona padronanza di SQL e della maggior parte delle sue funzionalità, ma a volte, quando ho sviluppato alcuni servizi di Reporting avanzati, un altro sviluppatore mi ha aiutato con alcune cose e quando apro alcune procedure esistenti in T- SQL Capisco che ho un po 'di imparare a fare. Penso di essermi focalizzato di più negli anni successivi al codice dell'applicazione (soprattutto C # e javascript) e in qualche modo le mie competenze SQL non sono lì dove dovrebbe essere. Perché al lavoro la maggior parte delle cose è molto centrata sul database con le procedure, quindi penso di dover migliorare con SQL. Ma quando guardo le funzionalità su Google e guardo i libri su SQL, conosco la maggior parte delle cose, ma in qualche modo migliorare in SQL non è più così semplice. Qualcuno ha qualche consiglio su come diventare un programmatore SQL avanzato? Quali libri raccogliere? Tra l'altro lavoro esclusivamente con SQL Server.

Ho fatto un sacco di procedure di base con inserti, aggiornamenti, selezioni con join e group by e così via. Ma facendo problemi più grandi Ho sempre fatto un approccio più incentrato sull'applicazione con array e collezioni, ma a volte (Reporting) non c'è altra scelta che farlo in SQL e lavorare con tabelle temporanee e così via. Sono tentato di fare i cursori perché poi posso scorrere tutto ma quello uccide le prestazioni del database (che ne dici di fare il ciclo di mezzo milione di righe con un cursore?).

    
posta marko 06.10.2011 - 19:42
fonte

3 risposte

9

In generale, pensa a set.

  • Cerca di evitare OO e codice procedurale per un po '. Dimentica il prossimo framework .net se sei serio. Ho lasciato la maggior parte del lavoro non SQL a distanza di anni fa e non ho mai guardato indietro.

  • Inizia a seguire attivamente un altro sito specifico per DB come DBA.SE (che ha anche elementi di sviluppo), leggi anche le risposte con il punteggio più alto per vedere le tecniche di codifica in azione.

  • Raccogli un libro di Joe Celko o Bill Karwin per una visione teorica di insiemi e database senza esagerare.

risposta data 06.10.2011 - 20:00
fonte
3

La soluzione migliore è quella di riempire completamente un buon libro di testo del database da una copertina all'altra. Quindi applichi tutto ciò che sai con progetti DB di esempio.

Fondamentalmente, lavora duramente. Diventa bravo anche a ricordare cose. Sì, è tutto nei manuali di riferimento, ecc., Ma averlo a portata di mano nella tua cache del cervello è super.

    
risposta data 06.10.2011 - 19:52
fonte
1

La tentazione di fare cursori è molto comune con i programmatori procedurali. Concentrati sull'apprendimento della mentalità basata su set alla base di un'ottima programmazione di database e diventerai una superstar.

Oltre ai libri di Joe Celko e Bill Karwin (raccomandazioni con entusiasmo distaccati), la serie di Microsoft Press books su SQL 2008 di Itzik Ben-Gan et al. sono anche di prim'ordine. Ti frusteranno e ti alleneranno nella direzione di un sofisticato problem solving basato su set.

Successivamente, il libro di Kalen Delaney su SQL Server Internals (anche da Microsoft Press) spiegherà "perché "dietro molte cose altri libri raccomandano e dicono" questo si comporta meglio ".

    
risposta data 14.12.2011 - 20:47
fonte

Leggi altre domande sui tag