Despre cursul ORACLE PL-SQL
LIVE (cu instructor)
organizat de IT Learning
Acest curs cu instructor este structurat in doua parti:
– Partea 1: Oracle SQL (2 zile) Pentru userii cu mai putina experienta in scripting-ul Oracle, insistam pe comenzile DML (data manipulation Language): Select, Insert, Update, Delete
– Partea 2: Oracle PL-SQL (3 zile) – Nu conteaza ca esti incepator sau avansat in bazele de date, vei intelege cum aplici tehnici complexe programatice (proceduri si functii UDF parametrizate, declansatori, cursoare, etc)
Agenda cursului Oracle PL-SQL
Partea 1: Oracle-SQL (2 zile)
Modulul 1: Introducere in mediul de lucru Oracle SQL Developer (echivalentul lui SQL Server Management Studio din Microsoft SQL Server)
Descriere modul
In acest modul ne familiarizam cu interfata vizuala Oracle Developer si Sql-Plus. Vorbim despre scripturi, proiecte si instrumentele vizuale sau de cod ce ne permit sa interactionam cu baza de date Oracle.
Lectii
- Prezentare interfata Oracle Developer
- Prezentarea schemei de tabele si obiecte de la CLASA
- Select-uri Scalare (tabela “dummy” dual)
- Operatorul de concatenare ||
- Variabile de substitutie (client)
Modulul 2: Comanda Oracle – Select
Descriere modul
Punctam caracteristicile unice de abordare Oracle privind comanda DML – SELECT.
Lectii
- Prezentarea Clauzelor: From, Where, Group By, Having, Order By
- Restrictii SQL (operatorii Between, IN, LIKE, IS)
- Manipulari de date calendaristice (diferente fata de MS SQL)
- Functia de tratare a valorilor NULL (echivalentul functiei isNULL din T-SQL)
Modulul 3: Functii ce se aplica pe randuri
Descriere modul
Aratam la clasa un calup de aproximativ 30 de functii utile in manipularea tabelelor la nivel de rand.
Daca exista persoane la clasa care au mai folosit si alte baze de date, putem face comparatie intre abordarea Oracle si orice alt provider de baze de date (Microsoft, IBM, etc).
Lectii
- Functii de tip data calendaristica
- Functii de tip text
- Functii numerice
- Alte functii
Modulul 4: Afisarea datelor din mai multe tabele
Descriere modul
Interogarile din mai multe tabele (joins) se pot realiza in baza de date Oracle cu o sintaxa aparte (complet diferita de standardul SQL-ANSI). Pentru persoanele ce nu au mai interogat tabele multiple, explicam conceptele standard din teoria relationala: Cheie primara (PK), cheie straina (FK), Left Join, Right Join, etc.
Lectii
- Ce inseamna “one to many”, “many to many”
- Sintaxa Oracle unica de interogare simultana a tabelelor multiple (folosind clauza Where)
- Sintaxa Standard SQL-ANSI (folosirea in clauza from a cuvintelor cheie: Inner Join, Left Join, Right Join, etc.)
Modulul 5: Functii Agregate (ce se aplica pe grupuri de linii)
Descriere modul
Realizam centralizatoare din tabele multiple, folosind grupari si agregari.
Lectii
- Ce inseamna centralizator (sau nomenclator)
- Clauza Group BY ne permite Gruparea datelor si agregarea lor
- Clauza Having, ocazia de a mai filtra o ultima data recordsetul grupat
- Interdictii in clauza Group BY
- Greseala frecventa ce se face la folosirea clauzei Having
Modulul 6: Manipulari de date (DML)
Descriere modul
Insistam pe automatizarile comenzilor DML (Insert, Update si Delete), ce ne permit migrarea datelor dintr-un tabel in altul.
Lectii
- Import/Export date folosind combinatia Update/Insert si comanda Select
- Create Table si comanda SELECT
Partea 2: Oracle PL-SQL (3 zile)
Modulul 7: Variabile PL-SQL
Descriere modul
O introducere in sintaxa Oracle programatica (PL-SQL). Insistam pe notiunea de Block-uri de cod si pe modalitatile de comunicare client/server (input-output).
Lectii
- Declararea si initializarea variabilor dintr-o singura comanda
- Folosirea adecvata a variabilelor de substitutie (:=&variabila)
- Scopul variabilelor PL-SQL
- Tipuri de date PL-SQL
Modulul 8: Interactiunea dintre Oracle SQL si PL-SQL
Descriere modul
Putem prelua in variabile PL-SQL datele intoarse de un SELECT in doua moduri:
- Simplist: Daca comanda SELECT intoarce un singur rand
Sintaxa
Select col1, col2,… Into varcol1, varcol2,…
From pe orice tabela sau tabele din baza
Where coloana=variabila_pl_sql
Order By variabila_pls
- Complex, selectul intoarce mai mult de o linie
folosind tehnica CURSORULUI (vezi capitolul de mai jos CURSOARE)
Lectii
- Clauza INTO
- Exemple concrete de a prinde in variabilele PL-SQL datele intoarse de Select (single-row)
Modulul 9: Structuri de control
Descriere modul
Ca orice limbaj de programare, pentru a manipula flexibil datele intoarse de comenzile Oracle SQL, avem nevoie de structuri de control programatice.
Lectii
- Instructiuni Decizionale
- Bucla cu numar stiut de pasi
- Bucla cu numar nestiut de pasi (While)
Modulul 10: Tipuri de date virtuale in PL/SQL (Record, Table)
Descriere modul
Spre deosebire de celelalte tipuri de servere de baze de date, Oracle are aici o abordare foarte interesanta (flexibila si puternica). Concret, prin comenzi simple putem sa preluam din baza de date randuri si chiar tabele intregi in interiorul unor variabile PL-SQL, pentru manipularea lor ulterioara.
Lectii
- Tipuri de date generice (%TYPE)
- Tipuri de date in care putem sa preluam randuri intregi (%ROWTYPE)
- Tipuri de date compuse (Type…IS Record)
Modulul 11: Functii si proceduri stocate
Descriere modul
Block-urile de cod se pot stoca pe server pentru o refolosire ulterioara. Sintaxa Oracle de realizare a procedurilor si functiilor stocate seamana cu a oricarei alte baze de date, insa sunt si caracteristici unice (ce vor fi punctate).
Lectii
- Conceptul “black box”
- Crearea procedurilor stocate cu sau fara parametri
- Crearea functiilor stocate cu sau fara parametri
Modulul 12: Cursoare PL/SQL
Descriere modul
Cursoarele reprezinta o tehnica programatica complexa a bazelor de date. Ne permit manipularea rand cu rand a datelor DIRECT PE SERVER. Reprezinta o asa numita “tehnica de escape”, apelam la ea cand nu avem de ales, de pilda cand nu putem sa scriem o comanda clasica SELECT care sa ne aduca direct rezultatul scontat.
Un exemplu concret:
Avem un buget pentu bonusuri salariale in valoare de 15.000. Vrem sa distribuim acesti bani astfel:
-prioritate vor avea angajatii mai vechi din firma.
-fiecare salariat va primi 10% din salariul pe care il are in prezent.
-daca un salariat nu poate sa-si primeasca toata suma (pentru ca nu mai sunt bani), nu va primi nimic.
Afisati salariatii ce vor primi bani, salariul vechi, ce bani vor primi precum si suma eventual ramasa. Iar rezultatul sa contina doar salariatii ce primesc bonus (eventual, sa se afiseze si suma ramasa nedistribuita). Provocare: fara a folosi tehnica cursorului, incercati sa scrieti un select standard Oracle SQL care sa returneze rezultatul dorit.
Lectii
- Sintaxa Cursor
- Cei 5 “pasi” ai cursorului (Declare, Open, Fetch, LOOP, CLOSE)
Modulul 13: Triggers
Descriere modul
Declansatoarele (triggers) sunt proceduri stocate ce se executa AUTOMAT la un anumit EVENT din baza de date.
De ex.: Scriem un trigger “sensibil” la comanda Insert in tabela Tranzactii (ce contine coloana Cantitatea). De fiecare data cand se insereaza o linie noua in tabela Tranzactii se face si update in tabela Produse (unde exista coloana Stoc).
Lectii
- Triggers DML (sensibili la comenzile Update, Insert, Delete)
- Triggers DDL (sensibili la comenzile data definition language, de pilda la CREATE TABLE)
Modulul 14: Tratarea exceptiilor
Descriere modul
Orice limbaj de programare are propriile sale instructiuni de “tratare a exceptiilor”, atat a celor prevazute cat si a celor neprevazute.
Lectii
- Tratarea exceptiilor standard (de ex.: WHEN NO_DATA_FOUND)
- Tratarea exceptiilor custom (PRAGMA_EXCEPTION_INIT)
- Prinderea exceptiilor neprevazute
Modulul 15: Optimizarea interogarilor Oracle-SQL
Descriere modul
Cand interogam simultan zeci (sau chiar sute) de tabele ce contin fiecare milioane (sau miliarde) de inregistrari, sunt obligatorii de implementat tehnicile de optimizare SQL. Explicam concepte legate de NORMALIZARE, INDEXARE si Quering Avansat.
Lectii
- Ce sunt indecsii Oracle si de cate feluri?
- Greseli frecvente in quering-ul masiv de date
- SQL Tuning
- Cand facem indecsi si (mai ales) CAND SA NU FACEM indecsi in tabelele Oracle
- Concepte si tehnici administrative ce ne ajuta la marirea vitezei de interogare (filegroups, cod stocat, clustering, etc)
Certificarile oferite
- Interna, tiparita, care atesta absolvirea cu succes a cursului (emitent IT Learning)
- Online, download, care atesta sustinerea cu succes a examenelor online (emitent IT Learning)
Standard de calitate
Conform insusi principiului de baza al Sistemului de management al calitatii, implementat de IT Learning, obiectivul nostru este satisfactia clientului. Pentru atingerea acestui obiectiv, evaluarea calitatii serviciilor livrate este esentiala.
In acest sens va incurajam sa folositi orice cale si metoda de comunicare (feedback la cald si la rece, testimonial scris, telefon, e-mail, blog, forum, retele sociale etc.), pentru a va exprima, nu atat satisfactia pentru calitatea serviciilor noastre, care reprezinta in fapt angajamentul nostru ferm, asumat prin contract, cat mai ales, daca este cazul, insatisfactia de orice fel privind prestatia noastra, care ne va ajuta sa imbunatatim standardul acestor servicii, in beneficiul dvs.
Ce include taxa de participare la curs
Taxa de participare include serviciile de instruire in clasa, cu instructori certificati Microsoft, precum si urmatoarele beneficii, unice in Romania, oferite exclusiv de IT Learning:
- Evaluarea initiala a nivelului dvs. de cunostinte si abilitati, prin completarea online a unui chestionar;
- Suportul de curs in format electronic (manualul “Step by step”, in limba romana, in format text, plus capturile de ecran aferente si prezentarile din timpul cursului in format PowerPoint, precum si workshop-urile de la curs);
- Access pe cel mai mare portal e-learning www.office-learning.ro, dezvoltat de trainerii si consultantii IT Learning, pentru o perioada de 12 luni;
- Evaluarea finala a cunostintelor si abilitatilor practice dobandite in urma absolvirii cursului, prin rezolvarea unui exercitiu complex, in cadrul unui workshop;
- Certificatul de participare, care atesta absolvirea cu succes a cursului;
- Raportul de evaluare, redactat de trainer, in care va fi consemnat progresul dvs., comparand nivelul initial de abilitati, cu cel final;
- Consultanta post-instruire, prin intermediul forumului Comunitatii utilizatorilor MS Office din Romania, in calitatea dvs. de membru.
Inscriere / Facturare / Plata / “Money back guarantee”
- Daca sunteti persoana fizica, sau grup de maxim 5 participanti din partea unei companii, va puteti inscrie doar in clasele noastre deschise, anuntate pe site la pagina “Calendar Cursuri Open“
- Rezervarea locului / locurilor in sala de curs Open se face telefonic (0787.692.238) sau prin e-mail la adresa , in reply urmand sa primiti fisa de inscriere care trebuie completata de dvs. si retrimisa noua impreuna cu datele de facturare
- Urmeaza emiterea facturii, pe care o veti primi tot pe e-mail, in baza careia urmeaza sa efectuati plata (transfer bancar sau depunere numerar in contul IT Learning) si sa ne trimiteti confirmarea aferenta
- Veti primi la randul dvs. confirmarea noastra ferma ca sunteti inscris(a) la cursul respectiv, impreuna cu detaliile organizatorice (orarul cursului, coffee-break, pauza de pranz etc.)
- Urmeaza livrarea cursului, iar la finalul acestuia completarea feedback-ului, conform formularului de evaluare , in baza caruia se poate invoca clauza “Money back guarantee”: “In cazul obtinerii unui nivel de satisfactie mai mic de 75 % , reflectat de formularul de feedback, garantam returnarea taxei de participare sau reluarea cursului fara nici un cost”.
- Daca sunteti persoana juridica si doriti inscrierea unui grup de peste 5 participanti, vom formula o oferta personalizata cu discount de volum, exclusiv pentru compania dvs., conform specificatiilor primite telefonic, prin fax (0371.602.780) sau pe e-mail la adresa
- Dupa acceptarea ofertei (livrabile, costuri, agenda, perioada si locatia organizarii cursului) urmeaza etapa contractuala
- Odata agreata forma finala a contractului de legal-ul partilor, urmeaza semnarea si livrarea efectiva a serviciilor convenite, a caror facturare si plata se va face numai dupa primirea feadback-urilor completate de absolventi la finalul instruirii si numai in virtutea clauzei “Money back guarantee”:”In cazul obtinerii unui nivel de satisfactie mai mic de 75 % , reflectat de formularului atasat , garantam renuntarea la contravaloarea instruirii sau reluarea cursului cu alt trainer, fara nici un cost aditional”)