- Kompanija: ICT Cortex
- Broj modula: 37
Šta ćeš naučiti na kursu
- Da kreirate tabele u bazama podataka i da MIJENJATE kolone i redove
- Da znate koje vrste podataka da koristite u različitim situacijama, i upotrijebite funkcije kako bi upravljali datumom, brojevima i tekstualnim podacima
- Da izvršite vraćanje podataka pomoću SELECT, FROM, WHERE, GROUP BY, HAVING i ORDER BY.
- Da POVEŽETE dvije ili više tabela i pronađete nedostajuće podatke
- UBACITE nove podatke, AŽURIRATE i IZBRIŠETE postojeće podatke, i eksportujete podatke U novu tabelu
- Kreirate CONSTRAINTS, VIEWS i TRIGGERS
- Da upotrijebite UNION, CASE, MERGE, procedure i provjeru grešaka
- Da primijenite rangiranje i analitičke funkcije, grupisanje, geografske i geometrijske baze podataka
- Da kreirate pod-upite i CTEs, PIVOTs, UDFs, APPLYs, sinonime
- Da upravljate XMLs i JSONs
- Da naučite o transakcijama, optimizovanju upite i razlici između row-based i set-based operacija
- Poznavanje rada na računaru i, poželjno, rada sa tabelarnim prikazima
- Nije potrebno prethodno znanje o SQL serveru
- SSMS ne može biti instaliran na Mac OS. Ukoliko želite da ga istalirate na Mac-u, moražete da izvršite dual boot na Windowsu ili da radite na parelelnom desktopu.
- Nije vam čak ni potrreban instaliran SQL server - pokazaćemo vam kako da ga besplatno instalirate na vašem računaru!
- Pristup Windows PC ili Mac-u;
- Engleski jezik
Opis kursa
Ovaj kurs je osnova za Microsoft sertifikat 0-461: “Querying Microsoft SQL Server 2012” i 70-761 “Querying Data with Transact-SQL”.
Napomena: Microsoft više ne nudi ove sertifikate. Međutim, ispit je takav da vam omogućava da steknete dobro razumijevanje T-SQL.
Sesija 1
Osnove koje se predstavljaju su: kako instalirati SQL Server i kako kreirati i brisati tablice.
Zatim pokušavamo stvoriti napredniju tablicu, ali shvaćamo da nam je potrebno znati više o tipovima podataka – pa ulazimo u detalje o tipovima podataka i funkcijama podataka, temelju T-SQL-a.
Sesija 2
Stvorit ćemo tablice koje ih koriste i onda unijeti neke podatke u njih. Zatim ćemo napisati upite koji će dohvaćati i sažeti te podatke, koristeći SELECT, FROM, WHERE, GROUP BY, HAVING i ORDER BY.
Zatim ćemo JOIN-ati te tablice zajedno kako bismo pronašli gdje nam nedostaju podaci i gdje imamo neusklađene podatke. Zatim ćemo ažurirati i brisati podatke iz tablica.
Sesija 3
Sada ćemo koristiti te podatke za stvaranje pogleda, što nam omogućuje da spremimo te upite SELECT za buduću upotrebu i okidače, koji omogućuju da se kod automatski pokreće prilikom unošenja, brisanja ili ažuriranja podataka.
Pogledat ćemo bazu podataka koju smo razvili u sesiji 2 i vidjeti što je s njom krivo. Dodat ćemo neke ograničenja, poput UNIQUE, CHECK, PRIMARY KEY i FOREIGN KEY ograničenja, kako bismo spriječili unos pogrešnih podataka.
Sesija 4
Dalje ćemo zatvoriti naše rutine stvaranjem procedura, što nam omogućuje izvođenje parametriziranih naredbi s jednim jednostavnim naredbom i dodat ćemo neku ruku obrade pogrešaka s TRY, CATCH i THROW.
Također ćemo spojiti skupove podataka, gledajući UNION i UNION ALL, INTERSECT i EXCEPT, CASE, ISNULL i Coalesce, te moćni naredbu MERGE.
Sesija 5
Sada ćemo stvarati agregatne upite. Pregledat ćemo funkcije rangiranja ROW_NUMBER, RANK, DENSE_RANK i NTILE. Pogledat ćemo 8 analitičkih funkcija novih za SQL Server 2012, kao što su LAG, LEAD, FIRST_VALUE i LAST_VALUE.
Pogledat ćemo alternativne načine grupiranja i dodavanja zbrojeva koristeći ROLLUP, CUBE, GROUPING SETS i GROUPING_ID. Također ćemo pogledati tipove podataka za geometriju i geografiju, crtajući lokacije na mreži, zajedno s funkcijama i agregatima.
Sesija 6
Sada ćemo stvarati podupite i korelirane podupite, gdje su rezultati podupita ovisni o glavnom upitu. Pregledat ćemo Izrazi za zajedničke tablice koristeći naredbu WITH i koristit ćemo ono što smo naučili da riješimo česti poslovni problem.
Pogledat ćemo funkcije, uključujući tri različite vrste korisnički definiranih funkcija (UDF): skalarne funkcije, funkcije tablice u liniji i funkcije tablice s višestrukim naredbama. Zatim ćemo pogledati sinonime i dinamični SQL, te upotrebu GUID-ova. Pogledat ćemo i sekvence.
Pogledat ćemo XML i, za SQL Server 2016 i novije, proučiti JSON i Vremenske tablice.
Sesija 7
U ovoj sesiji pogledat ćemo transakcije, vidjeti kako ih izričito pokrenuti i završiti i saznati kako one mogu blokirati druge korisnike u bazi podataka. Zatim ćemo vidjeti o indeksima i njihovoj ulozi u optimizaciji upita.
Također ćemo vidjeti kako možemo koristiti dinamične upravljačke poglede da vidimo kako možemo poboljšati našu upotrebu indeksa. Zatim ćemo pogledati kako napišiti kursor i kada ga koristiti, te utjecaj korištenja skalarnih UDF-a.
Nije potrebno prethodno znanje – čak ću vam pokazati kako instalirati SQL Server na vaš računalo besplatno!
Redovito će biti kvizovi koji će vam pomoći da zapamtite informacije.
Nakon završetka, znati ćete kako manipulirati brojevima, nizovima i datumima, i stvoriti bazu podataka i tablice, unijeti podatke i stvoriti analize, te imati cjelovito razumijevanja SQL-a
Kome je ovaj kurs namjenjen?
- Svima onima koji nisu u značajnijoj mjeri koristili SQL server (ili ga nisu koristili uopšte), i žele da nauče T-SQL;
- Onima koji žele da osvježe svoje znanje o SQL. Ipak, prethodno znanje o SQL serveru nije preduslov za ovaj kurs.
Plan i program
- Uvod
- Da li imate Windows 7, 8 ili Windows Vista?
- Downloading SQL Server Developer 2022
- Installing SQL Server Developer 2022
- Koju verziju SSMS da koristim?
- Pokretanje servera
- Kreiranje prvih upita
- Kreiranje tabela – prvi prolaz pomoću GUI
- Kreiranje tabel a- prvi prolaz pomoću T-SQL
- Unošenje podataka pomoću GUI
- Unošenje podataka pomoću T-SQL
- Vraćanje podataka
- Brisanje tabele
- Kreiranje tabele zaposlenih
- Kreiranje privremenih varijabli
- Cijeli brojevi
- Decimalni brojevi
- Matematičke funkcije
- Konvertovanje tipova brojeva
- Tekstualni podaci
- Funkcije tekstualnih podataka
- NULL – uvod
- Povezivanja dva tekstualna podatka
- Povezivanje brojeva sa tekstom
- Tipovi podataka koji se odnose na datum
- Podešavanje i ekstrakcija datuma
- Današnji datum i više funkcija o datumima
- Konvertovanje datuma u tekst
- Kreiranje tabele zaposlenih
- Dodavanje dodatnih kolona
- Selektovanje jednog dijela tabele – teskt
- Selektovanje jednog dijela tabele – brojevi
- Sumiranje i slaganje podataka
- Kriterijumi slaganja podataka
- Dodavanje druge tabele
- Dizajniranje konekcije
- Importovanje podataka i grafičko prikazivanje tabela
- Pisanje JOIN upita
- Različiti tipovi JOIN
- Kreiranje treće tabele
- Nedostalući podaci
- Brisanje podataka
- Ažuriranje podataka
- Šta su Constraints?
- Unique constraints – šta su?
- Unique constraints – kako djeluju?
- Default constraints – šta su?
- Default constraints – kako djeluju?
- Check constraint – šta je?
- Check constraint – u praksi
- Primary key
- Primary key – u praksi
- Foreign key
- Foreign key – u praksi
- Kreiranje
- Izmjena
- Obezbjeđenje
- Dodavanje novih redova
- Brisanje redova
- Šta je indeks?
- Kreiranje indeksiranih views
- Šta su okidači?
- Kreiranje AFTER okidača
- Kreiranje INSTEAD OF okidača
- Ugniježdeni okidači
- Ažuriranje funkcija
- Upravljanje sa više redova
- UNION i UNION ALL
- Intersect i Except
- CASE izajava
- sNull i Coalesce
- MERGE izjava u praksi
- Kreiranje MERGE izjave
- Širenje MERGE izjave
- Spajanje sa dodatnim kolonama
- Kreiranje prve procedure
- Tražiti određenog zaposlenog
- Vježba sa IF
- Višestruki argumenti
- While
- Return
- Vježba
- TRY/CATCH
- THROW i RAISERROR
- Uvod
- OVER()
- ARTITION BY i ORDER BY
- ROWS BETWEEN
- CURRENT ROW i UNBOUNDED
- RANGE nasuprot ROWS
- Preskakanje RANGE/ROW?
- ROW_NUMBER, RANK i DENSE_RAN
- NTILE
- FIRST_VALUE i LAST_VALUE
- LAG i LEAD
- CUME_DIST i PERCENT_RANK
- PERCENTILE_CONT i PERCENTILE_DISC
- Dodavanje ukupnih suma
- ROLLUP, GROUPING i GROUPING_ID
- GROUPING SETS
- Uvod
- POINT
- POINT upiti
- Line, POLYGON i Circles
- LIne upiti
- Geografija
- Prostorno grupisanje
- Struktura tabele
- WHERE klauzula
- WHERE i NOT
- ANY, SOME i ALL
- FROM klauzula
- SELECT klauzula
- WHERE
- WITH izjave
- Generisanje liste brojeva
- Grupisanje brojeva
- PIVOT
- zamjena NULLs u PIVOT
- UNPIVOT
- Self-Join
- Rekurzivni CTE
- Uvod
- Skalarne funkcije
- Komplikovanije skalarne funkcije
- Linijske funkcije tabele
- Funkcije tabele – više izjava
- Primjena
- Sinonimi
- Dinamični SQL
- Problemi u vezi sa IDENTITY
- GUID
- Kreiranje sekvenci
- Primjena sekvenci
- Uvod u XML na primjeru Šoping liste
- Atributi
- Kreiranje XML varijable i XML polja
- FOR XML RAW
- FOR XML AUTO
- FOR XML PATH
- FOR XML EXPLICIT
- XQuery Value i Exist metode
- XQuery Modify metode
- XQuery Query metode primjenom for i return
- XQuery Query metode primjenom et, where i order by (FLWOR)
- XQuery Nodes – cjepkanje varijeble
- XQuery Nodes – cjeplanje tabele
- Importovanje i eksportovanje pomoću bcp utility
- Bulk Insert i Openrowset
- Šema
- Kada se upotrebljava XML u SQL serveru?
- Kreiranje primarnih i sekundarnih XML indeksa
- Kreiranje JSON i ISJSON
- JSON_VALUE i JSON_QUERY
- JSON_MODIFY
- Konvertovanje JSON podataka u tabele SQL servera
- Konverotvanje SQL servera podataka u JSON
- Šta su privremene tabele?
- Kreiranje privremene tabele
- Brisanje privremene tabele i specifikacija istorije tabele
- Izmjena postojećih tabela u privremene
- Uvod -Šta su transakcije?
- Implicitne transakcije
- Eksplicitne transakcije
- Obilježavanje transakcije
- Trancount
- Opseg i tip zaključavanja
- Zaključavanje u praksi pomoću WAITFOR
- Šta se dešava ako nema zaključavanja?
- Šta su nivou izolacije?
- Nivoi izolacije u praksi
- Uvod -Šta su transakcije?
- Implicitne transakcije
- Eksplicitne transakcije
- Obilježavanje transakcije
- Trancount
- Opseg i tip zaključavanja
- Zaključavanje u praksi pomoću WAITFOR
- Šta se dešava ako nema zaključavanja?
- Šta su nivou izolacije?
- Nivoi izolacije u praksi
- Ponovo o planovima upita
- Heaps i scans
- B-Tree
- Grupisani indeksi
- Negrupisani indeksi
- Filterisani indeksi
- Include
- Šta je statistika – uključujući i statistiku korisnika
- Različiti tipovi JOIN i HASH JOIN u primjeni
- Ugniježdene petlje i Merge Joins u primjeni
- Još veća ušteda vremena upotrebom SARG
- Čitanje planova upita i cijena sortiranja
- Napredniji plan upita
- Vodiči plana
- Nagovještaji
- Statistika IO
- Podešavanje SHOWPLAN_ALL i korisničke statistike
- Dinamični nasuprot parametruxovanih upita
- dm_db_index_usage_stats
- sys.dm_db_index_physical_stats
- sys.dm_db_missing_index_details
- Kako napisati kursor
- Mane
- Alternative
- Uticaj skalarnih UDF
- Kombinacija više DML operatora