MCSA: SQL 2016 Business Intelligence Development
Poslovna inteligencija je najšira grana analize podataka i predstavlja posebno zanimljivu oblast jer njeni koreni duboko zalaze u dve različite oblasti: poslovnu strategiju i računarsku nauku.
Ova oblast je u stalnom rastu i potražnja za stručnjacima ove vrste uvek postoji. Svaka organizacija koja želi da opstane u tržišnoj utakmici mora posedovati svoje baze znanja, analitike i predikcije tokova poslovanja u svojim oblastima. Veoma odgovorna uloga u IT odeljenju firme, ali i u samostalnim kompanijama koje pružaju istraživačko-analitičke usluge kompanijama. Potreba za ovakvim profilom takođe postoji i u državnom sektoru, različitim udruženjima i NVO.
Cena (€)
Akcija (€)
Trajanje č/d
Termin
Dani
Vreme
560
500
56 / 14
23/09/2024 - 10/10/2024
pon,uto,sre,cet,pet
17:30-21:00
Informacije o kursu
U informatičkom dobu, poslovna informatika i inteligencija, ako se strateški iskoriste, imaju moć da podstaknu poslovanje i preteknu konkurenciju, kao i da eksponencijalno ojačaju svest o trgovačkoj marki, unutrašnjem angažovanju, organizacionoj efikasnosti i profitabilnosti.
Štaviše, kompanije koje koriste poslovnu inteligenciju i analizu imaju višestruko veću šansu da brže donesu promišljene odluke.
Uprkos nespornoj vrednosti inteligencije za poslovanje i ogromnoj potražnji za ljudima koji poseduju veštine u oblasti poslovne inteligencije, postoji neverovatan nedostatak stručnjaka koji su obučeni za rad sa podacima zasnovanim na poslovnoj inteligenciji.
Posao u oblasti poslovne inteligencije nudi jedinstvenu priliku za uklapanje tehničkih veština, sposobnosti za rešavanje poslovnih problema i komunikacijskih veština u uspešnu, uzbudljivu karijeru u kojoj se možete permanentno usavršavati.
Rad u oblasti poslovne inteligencije pruža vam veliki stepen prilagodljivosti za rad u različitim privrednim granama u kojima biste želeli da radite.
Kurs MCSA SQL 2016 Business Intelligence Development se sastoji iz dve oblasti:
Kurs 20767A – Implementing a SQL Data Warehouse
Ovaj kurs je namenjen IT profesionalcima koji se bave ETL rešenjima i inženjerima skladišta podataka koji kreiraju projekte poslovne inteligencije uz pomoć Microsoft SQL Server Integration servisa.
Kurs 20768A – Developing SQL Data Models
Kurs je namenjen profesionalcima čiji je fokus na razvoju poslovnih rešenja koja zahtevaju kreiranje višedimenzionalnih modela podataka, implementaciju i održavanje OLAP (On Line Analytical Processing) kocki i implementaciju tabularnih modela podataka
Većina veština potrebnih za poslovnu inteligenciju i analizu podataka odnosi se na upotrebu podataka da bi se donele bolje odluke. Trebalo bi da znate kako da ispitate različite izvore podataka i da o njima donesete precizne i ispravne zaključke.
Poslovna inteligencija se ne odnosi samo na analiziranje podataka. Osim toga, trebalo bi da stvorite poslovne strategije i rešite stvarne poslovne probleme pomoću prikupljenih i analiziranih podataka. Na primer, mogli biste da izvučete sve korisne uvide u ključne pokazatelje uspešnosti jednog prodavca na malo koje bi trebalo vizuelizovati i predstaviti na sastanku.
Iako se nešto od tog znanja može steći tokom rada, ipak vam je potrebno solidno poznavanje poslovnih procedura u privredi, posebno u privrednoj oblasti kojom želite da se bavite. Vremenom, shvatićete da želite da postanete što je moguće stručniji u privrednoj grani u kojoj radite jer će vam to omogućiti uspešnije povezivanje podataka sa rešavanjem problema u poslovanju.
Sam po sebi, posao u oblasti poslovne inteligencije je usredsređen na detalje. Kao analitičar ili projektant u oblasti poslovne inteligencije, uglavnom ćete raditi sa najmanjom količinom podataka da biste dobili upotrebljive uvide. Biće vam potrebna sposobnost da vidite unapred i da obratite posebnu pažnju na detalje da biste bili uspešni u brzom svetu poslovne inteligencije.
Da biste napredovali u toj oblasti, treba da imate sposobnost da shvatite poslovni model kompanije u kojoj radite i kako biste mogli da usmerite svoje napore da izvučete najveću vrednost iz ključnih pokazatelja uspešnosti (i upravnog procesa ključnog pokazatelja uspešnosti), ali i da donesete strateške odluke koje će omogućiti vašoj organizaciji da neprestano napreduje.
Prvenstveno treba da znate da programirate u SQL-u (struktuiranom upitnom jeziku). SQL predstavlja programski jezik koji se generalno koristi u poslovnoj inteligenciji.
Nakom obuke MCSA SQL 2016 Business Intelligence Development ovladaćete sledećim znanjima:
Ovaj sertifikat vam pruža sledeća znanja:
- Uvod u SQL Server Data Warehouse
- Planiranje Data Warehouse infrastrukture
- Dizajniranje i implementacija Data Warehouse baza podataka
- Kreiranje ETL rešenja
- Kontrola toka u SQL Server Integration Servisima (SSIS)
- Kreiranje rešenja za ekstrakciju podataka
- Sprovođenje kvaliteta podataka
- Korišćenje Master Data servisa
- Postavljanje i konfiguracija SSIS paketa
- Uvod u poslovnu inteligenciju i modeliranje podataka
- Kreiranje višedimenzionalnih baza podataka pomoću SSAS
- Rad sa dimenzijama i kockama podataka
- Rad sa merama i grupama mera
- Uvod u MDX (Multidimensional Expressions)
- Podešavanje funkcionalnosti kocke podataka
- Kreiranje tabular modela podataka pomoću SSAS
- Uvod u DAX (Data Analysis Expression)
- Izvođenje prediktivne analize korišćenjem Data Mining rešenja
Neophodno je generalno poznavanje SQL programskog jezika koji se proučava na kursu 20761 – Querying Data with Transact-SQL.
Poslovna inteligencija je raznovrsno i široko polje sa mnogim različitim oblastima na koje se možete usredsrediti ili u kojima se možete specijalizovati. Takva raznovrsnost vam omogućava da menjate mnoga zanimanja, a da ne morate potpuno da menjate stručnu oblast ili skup veština koje posedujete.
Ne postoji ni jedna ozbiljna i uspešna organizacija bilo kog tipa koja se ne oslanja na poslovnu inteligenciju. Zavisno od veličine firme BI sistemi mogu varirati od elementarnih do izuzetno velikih geografski distribuiranih sistema. Takođe, interesovanje za ovim profilom imaju i različite druge institucije koje se bave prikupljanjem i obradom podataka u cilju javnog informisanja ili prodaje podataka drugim kompanijama.
Pretvoriti podatke u informacije – najbolje opisuje ovaj profil.
Takođe se uči kreiranje data modela, ( popularan naziv data cubes) i rad sa ovakvim višedimenzionalnim modelima u praksi. Kreirani modeli se najčešće oslanjaju na skladište podataka. U svakom slučaju potrebu za ovakvim profilom imaju organizacije koje svoje poslovne odluke donose na osnovu argumentovanih analiza podataka i imaju svoja skladišta podataka koja su ažurna i struktuirana u skladu sa potrebama organizacije i stanjem na tržištu. Jasno je da je u pitanju veoma dinamično i izazovno radno okruženje, ali uz to idu i odgovarajuće kompenzacije.
Kad posedujete veštine potrebne za poslovnu inteligenciju i analizu, možete da izaberete radno mesto u specifičnoj vrsti kompanija koje posluju u vrlo uskoj industrijskoj oblasti. Na primer, ako ste zainteresovani za runapređenje zdravstvene zaštite, možete da radite kao stručnjak za poslovnu inteligenciju koji se specijalizuje u korišćenju podataka i mrežinih alatki da bi bolnice funkcionisale brže i efikasnije zahvaljujući analizi zdravstvene zaštite.
Ako ste zainteresovani za neke druge aspekte informacionih tehnologija, uključujući i poziv administratora sistema, možete da radite u manjim kompanijama i obavljate nekoliko različitih poslova. Na primer, uz obavljanje poslova administratora sistema, mogli biste da budete i zaduženi za pružanje usluga poslovne inteligencije.
Specifične veštine neophodne za pronalaženje posla u toj oblasti razlikuju se u zavisnosti od toga da li želite da budete na početku ili na kraju celog procesa. Drugim rečima, ako želite da budete na početku, onda to znači da ćete se baviti tehničkim komponentama koje se odnose na stvaranje platformi za poslovnu inteligenciju, kao što su mrežne alatke za vizuelizaciju podataka.
Veštine koje su vam potrebne ako želite da se bavite analizom i poslovnom inteligencijom na kraju procesa povezane su sa predstavljanjem i prenošenjem podataka onima kojima je to potrebno.
Bez obzira na vaš izbor, uvek se možete predomisliti i promeniti radno mesto. Ako radite u manjoj kompaniji možete se baviti svim što smo naveli.
mr Miloš Milosavljević
- CET predavac od 1997.
- Sertifikovani Microsoft trener od 1999 godine
- Microsoft Certified IT Professional
- Microsoft Certified Solutions Associate (Microsoft SQL Server)
- Microsoft Certified Technology Associate
- Microsoft Certified Technology Specialist
- Microsoft Certified Database Administrator
- Učešće u organizaciji i predavanja na konferenciji „SINERGIJA“ ( http://www.mssinergija.net ) od osnivanja 2001. godine na dalje.
dr Snežana Popović
- CET predavac od 1999
- Sertifikovani Microsoft trener od 2002.
- Microsoft Certified Application Developer
- MCSD Microsoft Certified Solution Developer – Microsoft .NET
- MCTS Microsoft Certified Technology Specialist
- MCPD Microsoft Certified Professional Developer
- Docent na Računarskom fakultetu
M.Sci.Bratislav Dimitrov
- CET predavac od 2011
- Development Lead, Scrum master,
- MS Visual Studio 2003/2005/2008/2010/2012/2015/2017,
- MS SQL Server 2000/2005/2008 (R2), 2012/2016,
- MS SQL Server Integration Services (SSIS),
- MS SQL Server Reporting Services (SSRS)
Čitalište
Osnove SQL-a
Upoznajte DDL, DML i JOINs
Struktuirani upitni jezik je jedan od osnovnih sastavnih blokova savremene arhitekture baza podataka. Definiše metode koje se koriste da bi se kreirale relacione baze podataka i da bi se sa njima radilo na svim glavnim platformama. Na prvi pogled, jezik izgleda složeno i skoro zastrašujuće, ali uopšte ga nije teško savladati.
O SQL-u
Ispravan izgovor naziva jezika je stalno sporno pitanje u zajednici stručnjaka koji se bave bazama podataka. Američki nacionalni institut za standarde je ustanovio pravilan izgovor imena kao „eskjuel“, međutim, mnogi stručnjaci koji se bave bazama podataka navikli su da izgovaraju „sikvel“, tako da vama prepuštamo izbor.
Postoji nekoliko vrsta SQL-a. Oraklova baza podataka koristi svoju verziju PL/SQL, a SQL server kompanije „Majkrosoft“ koristi Transact-SQL. Sve varijacije se zasnivaju na industrijskom standardu ANSI SQL. Ovaj uvod koristi SQL naredbe usaglašene sa ANSI standardom koji može da se koristi u bilo kom savremenom sistemu baza podataka.
DDL i DML
Naredbe u SQL-u mogu da se podele na dva glavna podjezika. Jezik za definisanje podataka (DDL) sadrži naredbe koje se koriste da bi se kreirale i uništile baze podataka i njihovi objekti. Pošto se uz pomoć tog jezika definiše struktura baze podataka, njeni administratori i korisnici mogu da koriste jezik za manipulisanje podacima (DML) da bi umetali, pronalazili i menjali podatke koji se u njoj nalaze.
Naredbe u jeziku za definisanje podataka
Jezik za definisanje podataka se koristi da bi se kreirale i uništile baze podataka i njihovi objekti. Te naredbe prvenstveno koriste administratori baza podataka tokom faza uspostavljanja ili uklanjanja baza podataka. Predstavićemo vam strukturu i upotrebu četiri osnovne naredbe u jeziku za definisanje podataka.
CREATE. Instaliranje sistema za upravljanje bazama podataka u računar omogućava vam da kreirate i upravljate mnogim nezavisnim bazama podataka. Na primer, želite da kreirate bazu podataka kontakata klijenata za odeljenje prodaje i bazu podataka zaposlenih za kadrovsku službu. Naredba CREATE se koristi da bi se uspostavila bilo koja od navedenih baza podataka na vašoj platformi. Na primer, naredba:
CREATE DATABASE employees
kreira praznu bazu podataka koja se zove „employees“ (zaposleni) na vašem sistemu za upravljanje bazama podataka. Pošto ste kreirali bazu podataka, sledeći korak bi bio kreiranje tabela koje će sadržati podatke. Varijanta naredbe CREATE može se koristi u tom postupku. Naredba:
CREATE TABLE personal_info (first_name char(20) not null, last_name char(20) not null, employee_id int not null)
kreira tabelu pod nazivom „personal_info“ (lični_podaci) u postojećoj bazi podataka. U ovom primeru, tabela sadrži tri atributa: ime, prezime i lični broj zaposlenog (first_name, last_name, and employee_id) zajedno sa još nekim detaljima.
USE. Naredba USE vam omogućava da odredite bazu podataka u kojoj želite da radite u okviru vašeg sistema za upravljanje bazama podataka. Na primer, ako trenutno radite u bazi podataka prodaje i želite da izdate neke naredbe koje će uticati na bazu podataka zaposlenih, pre njih morate iskoristiti sledeću naredbu u SQL-u:
USE employees
Izuzetno je važno da uvek budete svesni u kojoj bazi podataka radite pre nego što izdate naredbe u SQL-u kojima manipulišete podacima.
ALTER. Kad ste kreirali tabelu u okviru baze podataka, desiće se da ćete želeti da izmenite njenu definiciju. Naredba ALTER vam omogućava da izvršite promene u strukturi tabele, a da pri tom ne morate da je obrišete ili ponovo kreirate. Pogledajte sledeću naredbu:
ALTER TABLE personal_info ADD salary money null
U ovom primeru dodali smo novi atribut tabeli personal_info, a to je zarada zaposlenog (employee’s salary). Argument „money“ (novac) određuje da je zarada zaposlenog izražena u formatu dolara i centi. Konačno, ključna reč „null“ (nula) govori bazi podataka da je sasvim u redu ako to polje ne sadrži nikakvu vrednost za bilo kog zaposlenog.
DROP. Poslednja naredba u jeziku za definisanje podataka, DROP, omogućava vam da uklonite celokupne objekte baze podataka iz sistema za upravljanje bazama podataka. Na primer, ako želite da trajno uklonite tabelu personal_info koju ste kreirali, koristite sledeću naredbu:
DROP TABLE personal_info
Slično tome, naredbu koju ćemo navesti koristili bi da uklonite celokupnu bazu podataka zaposlenih (employee):
DROP DATABASE employees
Ovu naredbu bi valjalo pažljivo koristiti jer DROP uklanja celu strukturu podataka iz vaše baze podataka. Ako želite da uklonite pojedinačne zapise, koristite naredbu DELETE u jeziku za manipulisanje podacima.
Naredbe u jeziku za manipulisanje podacima
Jezik za manipulisanje podacima (DML) koristi se da bi se pronalazile, umetale i menjale informacije u bazi podataka. Te naredbe koriste svi korisnici baza podataka tokom rutinskih postupaka u bazi podataka.
INSERT. Naredba INSERT u SQL-u se koristi da bi se dodali zapisi već postojećoj tabeli. Vratimo se primeru personal_info iz prethodnog odeljka i zamislite da naša kadrovska služba treba da doda novog zaposlenog bazi podataka. Za taj postupak možete koristi naredbu sličnu ovoj:
INSERT INTO personal_info values(‘bart’,’simpson’,12345,$45000)
Obratite pažnju na to da su određene četiri vrednosti za ovaj unos. One odgovaraju atributima tabele redosledom kojim su definisani: ime, prezime, lični broj zaposlenog i plata (first_name, last_name, employee_id and salary).
SELECT. Naredba SELECT je najčešće korišćena naredba u SQL-u. Ona omogućava korisnicima baze podataka da pronađu određenu informaciju koju žele iz operativne baze podataka. Pogledajte nekoliko primera u kojima ćemo ponovo koristiti tabelu personal_info iz baze podataka zaposlenih.
Naredba koja je dole prikazana pronalazi sve informacije koje su sadržane u tabeli personal_info. Obratite pažnju na to da se zvezdica u SQL-u koristi kao džoker karta. Naredba doslovno znači „Odaberi sve iz tabele personal_info.“
SELECT *
FROM personal_info
S druge strane, korisnici bi možda želeli da ograniče atribute koji se pretražuju iz baze podataka. Na primer, kadrovska služba traži popis prezimena svih zaposlenih u kompaniji. Sledeća naredna u SQL-u prikazaće samo tu informaciju:
SELECT last_name
FROM personal_info
Klauzula WHERE može se koristiti da bi se ograničili zapisi koji se traže samo na one koji zadovoljavaju određene uslove. Direktor bi možda želeo da pregleda dosijee svih zaposlenih koji imaju visoke plate. Sledeća naredba prikazuje sve podatke koji se nalaze u tabeli personal_info za zapise koji imaju platu veću od 50.000 dolara:
SELECT *
FROM personal_info
WHERE salary > $50000
UPDATE. Naredba UPDATE može se koristiti da bi se izmenile informacije koje se nalaze u tabeli, kako pojedinačno, tako i grupno. Pretpostavimo da je kompanija svim zaposlenima povećala godišnju platu za 3 procenta zbog povećanja troškova života. Sledeća naredba u SQL-u se može koristiti da bi se to brzo primenilo na sve zaposlene koji se nalaze u bazi podataka:
UPDATE personal_info
SET salary = salary * 1.03
Kad novi zaposleni Bart Simpson pokaže da je izuzetno vredan i uzoran radnik, uprava želi da ga nagradi za sva njegova dostignuća tako što mu daje povišicu od 5.000 dolara. Klauzula WHERE bi mogla da se koristi da bi izdvojila Barta koji treba da dobije povišicu:
UPDATE personal_info
SET salary = salary + $5000
WHERE employee_id = 12345
DELETE. Hajde konačno da objasnimo i naredbu DELETE. Videćete da je sintaksa ove naredbe slična sintaksama ostalih naredbi u jeziku za manipulisanje podacima (DML). Nažalost, najnoviji korporativni izveštaj o ostvarenoj zaradi nije ispunio očekivanja i naš siroti Bart je dobio otkaz. Naredba DELETE zajedno sa klauzulom WHERE može se koristiti da se njegov zapis izbriše iz tabele personal_info:
DELETE FROM personal_info
WHERE employee_id = 12345
JOINs
Kad smo savladali osnove SQL-a, vreme je da se upoznamo sa najmoćnijim konceptima koje taj jezik može da ponudi – sa naredbom JOIN. Ona vam omogućava da kombinujete podatke iz većeg broja tabela da biste efikasno obradili velike količine podataka. U tim naredbama leži prava moć baza podataka.
Da bismo istražili upotrebu osnovne operacije JOIN u kombinovanju podataka iz dve tabele, nastavićemo sa primerom koristeći tabelu PERSONAL_INFO i dodaćemo još jednu tabelu u celom tom procesu. Pretpostavimo da imamo tabelu koja se zove DISCIPLINARY_ACTION koja je kreirana pomoću sledeće naredbe:
CREATE TABLE disciplinary_action (action_id int not null, employee_id int not null, comments char(500))
Ta tabela sadrži rezultate disciplinskih mera (disciplinary actions) koje su sprovedene nad zaposlenima u kompaniji. Primetićete da ne sadrži nikakve druge podatke o zaposlenima osim njihovog ličnog broja. Lako je zamisliti mnogobrojne situacije u kojima biste mogli da kombinujete informacije iz tabela DISCIPLINARY_ACTION i PERSONAL_INFO.
Pretpostavimo da ste dobili zadatak da napravite izveštaj u kome ćete popisati sve disciplinske mere sprovedene nad svim zaposlenima koji imaju platu veću od 40.000 dolara. Upotreba operacije JOIN, u tom slučaju, je jasna. Možemo prikazati te informacije pomoću sledeće naredbe:
SELECT personal_info.first_name, personal_info.last_name, disciplinary_action.comments
FROM personal_info, disciplinary_action
WHERE personal_info.employee_id = disciplinary_action.employee_id
AND personal_info.salary > 40000
Napisani kod određuje dve tabele koje želimo da spojimo u klauzuli FROM i zatim uključuje naredbu u klauzuli WHERE da bi ograničio rezultate samo na zapise koji imaju odgovarajuće lične brojeve zaposlenih i odgovaraju našem kriterijumu koji kaže da plata mora biti veća od 40.000 dolara.
Prikazivanje podataka iz više tabela pomoću izraza INNER JOIN u SQL-u
Izraz INNER JOIN prikuplja informacije koje se pojavljuju u dve ili više baza podataka
Izrazi INNER JOIN su daleko najčešće korišćena vrsta izraza JOIN u SQL-u. Oni prikupljaju informacije koje se nalaze u dve ili više tabela baza podataka. Uslov spajanja (engl. join) određuje koji će se zapisi sparivati i određen je u naredbi WHERE. Na primer, ako vam je potreban spisak vozača uparenih sa vozilima kojima upravljaju, a da se, pri tom, vozači i vozila nalaze u istom gradu, sledeći upit u SQL-u će vam obaviti taj zadatak:
SELECT lastname, firstname, tag
FROM drivers, vehicles
WHERE drivers.location = vehicles.location
Rezultati koje ćete dobiti izgledaju ovako:
lastname firstname tag
———– ———— —-
Baker Roland H122JM
Smythe Michael D824HA
Smythe Michael P091YF
Jacobs Abraham J291QR
Jacobs Abraham L990MT
Primetićete da smo dobili baš onakav rezultat kakav smo tražili. Moguće je stvoriti još precizniji upit određujući dodatne kriterijume u naredbi WHERE. Pretpostavimo da je prvobitni upit spojio vozače sa vozilima koja ne smeju da voze (vozače kamiona sa automobilima i obrnuto). Možete koristiti sledeći upit da biste rešili taj problem:
SELECT lastname, firstname, tag, vehicles.class
FROM drivers, vehicles
WHERE drivers.location = vehicles.location
AND drivers.class = vehicles.class
Ovaj primer precizno određuje izvornu tabelu za atribut klase u naredbi SELECT jer je klasa dvoznačna – pojavljuje se u obema tabelama. Kod obično određuje koju kolonu tabele treba obuhvatiti rezultatom upita. U ovom slučaju, ne pravi se razlika jer su kolone identične i povezane su korišćenjem spajanja po jednakosti (EQUIJOIN). Međutim, ako kolone sadrže različite podatke, ova razlika će biti od presudnog značaja. Prikazaćemo vam rezultate ovog upita:
lastname firstname tag class
———- ———— —- ——
Baker Roland H122JM Car
Smythe Michael D824HA Truck
Jacobs Abraham J291QR Car
U redovima koji nedostaju spojen je Michael Smythe sa automobilom i Abraham Jacobs sa kamionom, vozilima kojima ne smeju da upravljaju.
Izraze INNER JOIN možete koristiti da bi kombinovali podatke iz tri ili više tabela.
Prikupljanje podataka pomoću upita u SQL-u: Upoznavanje sa naredbom SELECT
Struktuirani upitni jezik nudi korisnicima baza podataka moćan i prilagodljiv mehanizam prikupljanja podataka – naredbu SELECT. U ovom odeljku, upoznaćemo se sa opštom formom naredbe SELECT i zajedno ćemo napraviti nekoliko oglednih upita u bazi podataka. Ako je ovo prvi vaš pohod u svet struktuiranog upitnog jezika, možda bi bilo dobro da obnovite osnove SQL-a pre nego što nastavimo. Ako želite da kreirate bazu podataka od samog početka, najbolje bi bilo da naučite kako da kreirate baze podataka i tabele u SQL-u.
Pošto ste utvrdili osnove, hajde da počnemo sa istraživanjem naredbe SELECT. Kao i u prethodnim lekcijama o SQL-u, i ovde ćemo koristiti naredbe koje su u skladu standardom ANSI SQL. Možda biste mogli ponovo da pregledate dokumentaciju vašeg sistema za upravljanje bazama podataka da biste utvrdili da li podržava napredne opcije koje mogu da povećaju efikasnost i delotvornost vašeg koda u SQL-u.
Opšta forma naredbe SELECT
Opšta forma naredbe SELECT izgleda ovako:
SELECT select_list
FROM source
WHERE condition(s)
GROUP BY expression
HAVING condition
ORDER BY expression
Prvi red naredbe upućuje SQL procesor da je ta naredba SELECT i da želimo da prikažemo informacije iz baze podataka. Deo select_list omogućava nam da odredimo vrstu informacije koju želimo da prikažemo. Naredba FROM u drugom redu određuje specifičnu tabelu ili tabele u bazi podataka, a naredba WHERE pruža nam mogućnost da ograničimo rezultate na one zapise koji zadovoljavaju utvrđeni uslov ili uslove – condition(s).
Poslednje tri naredbe predstavljaju napredne odlike koje se nalaze van domena ovog odeljka – istražićemo ih u sledećim člancima o SQL-u.
Najlakše je savladati SQL proučavajući primere. U tom smislu, trebalo bi da počnemo sa pregledanjem nekih upita u bazama podataka. U ovom odeljku ćemo koristiti tabelu zaposlenih koja se nalazi u kadrovskoj službi zamišljene XZY komapanije da bismo ilustrovali sve naše upite.
Prikazaćemo celu tabelu:
EmployeeID | LastName | FirstName | Salary | ReportsTo |
1 | Smith | John | 32000 | 2 |
2 | Scampi | Sue | 45000 | NULL |
3 | Kendall | Tom | 29500 | 2 |
4 | Jones | Abraham | 35000 | 2 |
5 | Allen | Bill | 17250 | 4 |
6 | Reynolds | Allison | 19500 | 4 |
7 | Johnson | Katie | 21000 | 3 |
Prikazivanje podataka iz cele tabele
Direktor kadrovske službe u XYZ kompaniji prima mesečni izveštaj o platama zaposlenih i sve potrebne informacije za svakog zaposlenog u kompaniji. Generisanje takvog izveštaja je primer najjednostavnije forme naredbe SELECT. Ona jednostavno prikazuje sve informacije koje su sadržane u tabeli u bazi podataka – u svakom redu i svakoj koloni. Napisaćemo upit koji dovodi do tog rezultata:
SELECT *
FROM employees
Prilično jednostavno, zar ne? Zvezdica (*) koja se pojavljuje u select_list je džoker koji se koristi da obavesti bazu podataka da želimo da prikažemo podatke iz svih kolona u tabeli zaposlenih identifikovanih u naredbi FROM. Pošto smo želeli da prikažemo sve podatke iz baze informacija, nije bilo potrebno da koristimo naredbu WHERE da bismo ograničili redove izabrane iz tabele. Ovako izgledaju rezultati našeg upita:
EmployeeID | LastName | FirstName | Salary | ReportsTo |
———- | ——– | ——— | —— | ——— |
1 | Smith | John | 32000 | 2 |
2 | Scampi | Sue | 45000 | NULL |
3 | Kendall | Tom | 29500 | 2 |
4 | Jones | Abraham | 35000 | 2 |
5 | Allen | Bill | 17250 | 4 |
6 | Reynolds | Allison | 19500 | 4 |
7 | Johnson | Katie | 21000 | 3 |
Uvod u relacije u bazama podataka
Oni koji tek počnu da se bave bazama podataka veoma često ne mogu odmah da uoče razliku između baza podataka i tabelarnih proračuna. Uspevaju da vide tabele ispunjene podacima i shvataju da im baze podataka omogućavaju da organizuju i izvlače podatke na drugačije načine, ali ne uspevaju da prepoznaju značaj relacije između podataka zbog čega se tehnologija relacionih baza podataka tako zove.
Relacija vam omogućavaju da opišete veze između različitih tabela baza podataka na izuzetno moćan način. Te relacije mogu da se iskoriste za obavljanje naprednih međutabelarnih upita, koji su poznati kao JOINS, odnosno skup rezultata koji je dobijen povezivanjem informacija iz dve tabela.
Tipovi relacija u okviru baze podataka
Postoje tri različita tipa relacija u okviru baze podataka. Svaka relacija je dobila naziv prema broju redova u tabeli koji bi mogli da uđu u relaciju i svaki od ova tri tipa relacija pojavljuje se između dve tabele.
Relacije „jedan prema jedan“ se javljaju kad se svaki unos u prvoj tabeli uklapa sa jednim i samo jednim zapisom u drugoj tabeli. Relacije „jedan prema jedan“ se retko kad koriste jer je često mnogo jednostavnije staviti sve informacije u jednu tabelu. Neki kreatori baza podataka koriste prednosti ove relacije pri stvaranju tabela koje sadrže podsku