• Telefon : +40 721 61 27 85
  • Email Us : marcela.filip@datatraining.ro

SQL Programming pentru Developers

SQL Programming pentru Developers


Intregul curs inseamna "ca la job", cu totii pasii facuti de un developer. Lucram cu proiecte: cerinte de la business, cum arata o cerinta, cum arata nevoia si povestea de business, ce intrebari mai pun eu, ca developer, cum ajung la solutia optima din punct de vedere tehnic, cum imi testez dezvoltarea si cum pregatesc si cum arata pachetul de promote in productie. Este un curs complet si cu multe provocari, cu teme pentru acasa, de moda veche, stim, atat de utile pentru fixarea notiunilor si, mai ales, pentru fixarea demersului de developer.

Curs programat:

  • Perioada curs: 7, 8, 14, 15, 21, 22 septembrie
  • Cursul se va desfasura in weekend, in intervalul orar 09:00 - 13:00

STRUCTURA CURS:

I.      Stored Procedures

II.     User defined functions

  • Functii Inline table-valued definite de utilizator
  • Functii scalare definite de utilizator: returneaza o singura valoare
  • Functii table-valued definite de utilizator: returneaza un tabel
  • PROIECT: Business-ul solicita un raport recurent cu anumite specificatii. Cum implementez tehnic utilizand proceduri stocate si functii?

III.      Control flow statements: if, while 

  • If: controlul executiei unui cod sql
  • while: executarea unui cod sql pana la indeplinirea unei conditii
  • while in while. 
  • Aplicatii practice: incarcare istoric intr-o baza de date si rulari recurente ulterior.

IV.     Error Handling

  • Identificarea tipurilor de erori care pot aparea la rularea unui cod sql: RAISERROR, THROW, TRY/CATCH
  • Tratarea erorilor
  • Logarea erorilor si testarea flow-urilor de transfer date.

V.     MERGE statement. OUTPUT

  • Comanda MERGE: utilizata pentru a capta modificarile dintr-o tabela si propagarea lor in alta tabela
  • Combinarea DML statements: INSERT, UPDATE, DELETE 
  • PROIECT: Business-ul solicita un raport cu vanzarile fiecarui client, cu mentiunea ca este pastrata imaginea clientului la un moment de timp. Raportul se cere a fi rulat la diverse momente de timp luand calcul istorizarea clientului (Exemplu: Un client se numea anul trecut ABC Trade, iar anul acesta se numeste Data Trade). Raportul trebuie sa aiba flexibilitatea rerularii (se va utiliza MERGE cu OUTPUT pt istorizare)

VI.     SQL Dynamic

  • Generarea automata de cod sql
  • Iterarea tuturor obiectelor din baza/bazele de date
  • Definirea automata a query-urilor parametrizate
  • Comanda EXECUTE
  • PROIECT: Business-ul solicita un raport cu vanzarile la nivel de tara si an, vanzari stocate intr-o tabela permanenta. In cazul in care au fost inregistrate vanzari si pentru anul urmator, anul urmator sa fie adaugat dinamic in tabela ca o coloana separata. (se vor utiliza SQL DYNAMIC si  DYNAMIC PIVOT)

VII.      SQL Injection

  • Inserarea unui cod sql cu scop de distrugere baza de date
  • Vulnerabilitati

VIII.    Triggers

  • DML Triggers: asociate tabelelor; se declanseaza la o anumita actiune DML (INSERT, UPDATE, DELETE) asupra unei tabele

IX.    Cursors

 

OFERTA DE PRET:

  • Durata cursului este de 28 de ore.
  • Pretul cursului este de 1000 lei / pers.
  • Pretul cursului include suportul de curs si materialele didactice, prestatia trainerului.