IV SQL. Slika 1. SQL*Plus ikona. Slika 2. Dijalog provere identifikacije korisnika. Slika 3. Prozor SQL*Plus programa

Similar documents
Jezik Baze Podataka SQL. Jennifer Widom

Uputstvo za korišćenje logrotate funkcije

Programiranje III razred

1/42 SQL DDL. CREATE ALTER DROP Schema Table Tablespace Index View Domain Constraint... DECLARE TABLE (DB2)

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi

Informacioni sistemi i baze podataka

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa

Oracle Proprietary Joins Za upite nad više od jedne tabele korišćenjem Oracle proprietary sintakse koristiti join uslov u WHERE izrazu:

VRIJEDNOSTI ATRIBUTA

Uvod u relacione baze podataka

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt

Izrada VI laboratorijske vježbe

VHDLPrimeri Poglavlje5.doc

Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak...

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end.

Ciljevi. Poslije kompletiranja ove lekcije trebalo bi se biti u mogućnosti: Opisati ograničenja Generisati i održavati ograničenja u bazi

CREATE DATABASE naziv-baze-podataka [IN naziv-dbspace]

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb,

Računarske osnove Interneta (SI3ROI, IR4ROI)

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010

Programske paradigme Funkcionalna paradigma

For. 1) program ispis; {ispisuje brojeve od 1 do 5 jedan ispod drugog} uses wincrt; var s,i:integer; begin for i:=1 to 5do writeln(i); end.

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets

Uputstvo za podešavanje mail klijenta

[] znači opciono; znači ili. Strana 3 od 5

PREDMET. Osnove Java Programiranja. Čas JAVADOC

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo

PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA

Uputstva za instaliranje čitača Datalogic Skorpio u operativnom sistemu Windows 7 i višim POM-NA-XX-46, V3.0

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0.

relacionim bazama podataka (1)

Vežbe - XII nedelja PHP Doc

VEŽBA 5 do while petlja, switch case

GUI - događaji (Events) i izuzeci. Bojan Tomić

Struktura i organizacija baza podataka

x y = z Zadaci - procedure

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.LoadFromFile('d:\brojevi.

Mašinska vizija. Dr Nenad Jovičić tnt.etf.rs/~mv

Brčko, Brčko Distrikt BiH. OSNOVE BAZA PODATAKA/UPRAVLJANJE BAZAMA PODATAKA Strukturirani jezik za upite - SQL

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET

12. Uskladištene procedure (Stored Procedures)

Definicije kolona su odvojene zarezima CREATE TABLE Example Sledeći primer poklazuje CREATE TABLE iskaz:

Ovde će se raditi na funkcijama konverzija: konverzija tipa datuma u znak tip i obrnuto, konverzija broja u karakter tip i obrnuto

Sberbank Business Online na Mozilla FireFox

Cjenovnik usluga informacionog društva

Sadržaj. Verzija 03/2017 Primjenjuje se od 20. novembra godine

for i:=2 to n do if glasovi[i]>max then begin max:=glasovi[i]; k:=i {*promenljiva k ce cuvati indeks takmicara sa najvise glasova *} end;

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

Osnovne strukture podataka

BAZE PODATAKA. SQL Opis podataka. Neđeljko Lekić Irena Orović

Rekurzivne metode. Posmatrajmo rekurzivan metod kojim u objektu listbox1 klase ListBox upisujemo sve prirodne brojeve od 1 do datog n.

Baze podataka. Ovaj fajl je skinut sa sajta Uvod u SQL (Structured Query Language)

Vidljivost TipPovratneVrednosti ImeFunkcije (NizParametara) { TeloFunkcije }

VB komande. Programiranje 1

Geant2 - JRA1. Upravljanje mjerenjem i performansama mreža (perfsonar, baza multi-domain nadzorne usluge) Danijel Matek (Srce)

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list.

Programiranje III razred

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365

PVC Eco. Eco Prozori i Balkonska Vrata Bela Boja Dezeni drveta su 40% skuplji

PVC Eco. Eco Prozori i Balkonska Vrata Bela Boja Dezeni drveta su 40% skuplji

KURSORI BAZE PODATAKA U ORACLE 11g

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a

PostgreSQL BAZA PODATAKA NA LINUX OPERATIVNOM SISTEMU - Seminarski rad - Predmet: Baze podataka

PARALELNO PROGRAMIRANJE

Prirodno-matematički fakultet u Nišu Departman za fiziku. dr Dejan S. Aleksić Programiranje u fizici

Ime ograničenja je clients_client_num_pk. Ono inforsira biznis pravila po kojem client_number je PK u clients tabeli Naming Constraints

VDSL modem Zyxel VMG1312-B10A/B30A

Naredbe za kontrolu toka

Introduction. Introduction to Oracle: SQL and PL/SQL

9. RAD S DATOTEKAMA PODATAKA

JavaScript i HTML DOM

24/03/2018. Deklaracija promenljivih. Inicijalizacija promenljivih. Deklaracija i inicijalizacija promenljivih

2. Linijska algoritamska struktura

Baze podataka SQL Jezik relacione BP

I PISMENI ZADATAK III6 I GRUPA IME I PREZIME

Modbus TCP i dva PLC S7 1200

Rad sa MySQL bazom podataka

JavaScript u Web design-u

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević

Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi.

... ; ako je a n parno. ; ako je a n neparno

MICROSOFT LINQ. INFOTEH-JAHORINA Vol. 9, Ref. F-9, p , March Ognjen Borovina, Elektrotehnički fakultet, Istočno Sarajevo

Internet programiranje

NIZOVI.

Upute za postavljanje Outlook Expressa

Z1. Dati RDF graf predstavljen u JSON-LD sintaksi potrebno je grafički predstaviti u skladu sa RDF notacijom. (5 poena)

OPEN SOURCE PROJECT :: BAST Business Account Software Technology 1/23 CSYSTEMS PROGRAMSKI PAKET ZA KNJIGOVODSTVO

Case Study Hrvatska pošta: Korisničko iskustvo iz snova. Tomislav Turk Samostalni sistem inženjer, Combis d.o.o. Zagreb,

operativni sistem part 2

Besplatni softverski alati

Operacijski sustavi. Laboratorijska vježba 2. Petra Lončar, mag. ing. el., asistent FESB, 2016.

PROGRAMIRANJE. Amir Hajdar

SVEUČILIŠTE U MOSTARU FAKULTET PRIRODOSLOVNO-MATEMATIČKIH I ODGOJNIH ZNANOSTI BAZE PODATAKA 2. Doc.dr.sc. GORAN KRALJEVIĆ BAZE PODATAKA 2 1

SQL Rukovanje podacima

Internet programiranje JavaScript - školska 2017/2018

Pametna komunikacija na Internetu preko REST protokola

Uputa za instaliranje programske potpore za operativni sustav WINDOWS

WEB-BAZIRAN VIZUELNI HTML/ CSS RAZVOJNI ALAT WEB-BASED VISUAL HTML/CSS DEVELOPMENT TOOL

/*#include <iostream> // Prvi zadatak sa integralnomg ispita

Transcription:

IV SQL SQL (Structured Query Language) je jezik koji je Američki Institut za Nacionalne Standarde (ANSI - American National Standards Institute) prihvatio kao standardni jezik za relacione baze podataka. Takođe, prihvatila ga je i Internacionalna organizacija za standarde (ISO - International Standards Organization). Većina relacionih baza podataka (poput Oracle baze) jedino preko SQL-a dozvoljava pristup podacima. Ovo je i jedan od razloga potrebe da većina korisnika baza podataka upozna komande SQL-a. SQL omogućava korisnicima pristup podacima u sistemima za upravljanje relacionim bazama podataka (npr. Oracle, Sybase, Informix, Microsoft SQL Server). SQL*Plus je jedan od ORACLE proizvoda koji služi za upravljanje podacima iz ORACLE baze podataka. U SQL*Plusu izvode se sve SQL i PL/SQL naredbe i izrazi. On predstavlja jedan "interface" između baze podataka i programa (ili izraza) koji manipuliše bazom. Takođe, osim SQL i PL/SQL naredbi, SQL*Plus poseduje i skup svojih naredbi koje omogućuju dodatne akcije nad bazom podataka. Slika 1. SQL*Plus ikona Pošto je SQL*Plus program, on se pokreće iz Windowsa izborom odgovarajuće ikone (Slika 1) ili iz Programs grupe. Po pokretanju programa sledi identifikacija korisnika (Slika 2). Unose se: ime korisnika (User name), šifra (Password) i naziv servera (Host String). Ime i šifra identični su onima koje dodeljuje administrator sistema korisnicima prijavljenim za rad sa bazom podataka. Kada korisnik na ovaj način uđe u SQL*Plus program on je automatski spojen sa bazom podataka. Slika 2. Dijalog provere identifikacije korisnika Slika 3. Prozor SQL*Plus programa

Kada je korisnik ispravno prijavljen za rad sa SQL*Plus programom, dobija "prompt" znak, koji mu daje mogućnost unosa naredbi i rada sa samim programom (Slika 3). Korisnik sada može videti sve objekte i upravljati njima (objekta nad kojima ima dodeljene privilegije). U SQL*Plus-u mogu se unositi i izvršavati sledeći skup naredbi: - SQL naredbe, - PL/SQL blokovi i - SQL*Plus naredbe. SQL*Plus poseduje editor za unos naredbi. Po završetku unosa jednog reda naredbe i pritiskom na taster Enter prelazi se u novi red naredbe. Svaka linija naredbe ima na svom početku redni broj. Svaka SQL naredba završava sa znakom ";". Kada SQL*Plus uoči ovaj znak, on počinje sa izvršavanjem izraza koji je unet. Kada se SQL izraz izvrši, rezultat se automatski prikazuje u nastavku. SQL*Plus koristi i sistemski editor koji omogućuje lakši unos i izmenu naredbi (Slika 4). Zadnje upisan SQL izraz nalazi se u posebnom memorijskom području tzv. SQL buffer-u. Pozivanjem sistemskog editora naredbom edit iz linije SQL*Plus-a automatski se učitava poslednji SQL izraz (izraz smešten u SQL buffer-u). Najčešće, sistemski editor u Windows operativnom sistemu je Notepad program. Rad sa njim je dosta jednostavan i prikazan je ranije. SQL izrazi uneti preko sistemskog editora nemaju ";" kao znak za kraja. Umesto njega koristi se znak "/" (Slika 4). Posebno treba voditi računa da se između ovog znaka i poslednjeg reda SQL izraza ne nađe ni jedan drugi znak (prazan red npr.). Svaka izmena SQL izraza mora da se zapamti (Edit-> Save), izađe iz Notepad-a (Edit-> Exit) i izvrši u SQL*Plus-u (unosi se run ili samo r ). Slika 4. SQL*Plus sistemski editor tj. Notepad program 1. OSNOVE SQL-a SQL je neproceduralni jezik tj. severu su samo kaže šta da uradi, ali ne i kako to da uradi. Server baze podataka prevodi komande SQL-a u interne procedure koje obrađuju zahtev. SQL je jednostavan zato što skriva sve detalje obrade podataka. Oracle baze podataka sadrže i proceduralna proširenja SQL-a i tako objedinjuje prednosti oba tipa jezika. Proceduralno proširenje Oracle baze podataka naziva se PL/SQL. Iskazi SQL jezika mogu se podeliti na četri grupe. To su iskazi za: 1. Pretraživanje - iskazi samo omogućuju prikazivanje postojećih podataka u bazi. Iskazi uvek počinju ključnom rečju SELECT iza koje slede željeni podaci, iskazi i sl. Iskazi pretraživanja ne menjaju podatke u bazi.

2. Manipulaciju - jezik za manipulaciju podacima (DML - Data Manipulation Language). DML iskazi koriste se za menjanje podataka u bazi. 3. Definisanje - jezik za definisanje podataka (DDL - Data Definition Language). DDL iskazi koriste se za kreiranje ili brisanje objekata baze podataka. 4. Kontrolu - jezik za kontrolu podataka (DCL - Data Control Language). DCL iskazi koriste se za dodelu ili oduzimanje privilegija za pristup bazi podataka. Za analitičke upite koriste se iskazi pretraživanja. U daljem tekstu biće zato prikazani osnovni elementi SQL izraza za pretraživanje baza podataka. Komande SQL-a mogu se pisati i velikim i malim slovima. SELECT PREZIME FROM RADNIK WHERE IME='FRANCIS' ili select prezime from radnik where ime='francis' Ključne reči U ovom primeru ključne reči su SELECT, FROM i WHERE. U oba primera reč FRANCIS se piše velikim slovima. Za razliku od ključnih reči SQL-a, koje se mogu se pisati i malim i velikim slovima, podaci se moraju napisati onako kako su dati u bazi podataka. Da bi se izbegle greške ovog tipa najbolje je da se korisnik najpre upozna sa načinom zapisa podataka u bazi. Svaki upit mora da ima znak kojim se obeležava njegov završetak. U ovoj implementaciji znak za kraj upita je tačka-zarez(;). Prvi upit SQL> select * from posao; POSAO_ID FUNKCIJA --------- ----------------------------- 667 CLERK 668 STAFF 669 ANALYST 670 SALESPERSON 671 MANAGER 672 PRESIDENT 6 rows selected. Primer 2. SQL> select * from odelenje;

ODELJENJE_ID IME LOKACIJA_ID ------------ -------------- ----------- 10 ACCOUNTING 122 20 RESEARCH 124 30 SALES 123 40 OPERATIONS 167 12 RESEARCH 13 SALES 122 122 14 OPERATIONS 122 23 SALES 124 24 OPERATIONS 124 34 OPERATIONS 123 43 SALES 167 11 rows selected. U ovom SQL upitu znak "zvezdica" (*) kaže bazi podataka da vrati informacije iz svih kolona tabele navedene u FROM klauzuli. Baza podataka određuje u kom redosledu će biti vraćen sadržaj kolona. U drugom primeru možemo primetiti da kolone 1 i 3 (ODELJENJE_ID i LOKACIJA_ID) imaju desno poravnjanje, a da kolona 2 (IME) ima levo poravnjanje. Po prihvaćenoj konvenciji numerički podaci imaju desno poravnjanje a znakovni podaci levo poravnjanje (ista konvencija važi i u MS Excelu). Promena redosleda kolona Posmatrajmo sledeća dva upita: SQL> select * from posao; i SQL> select posao_id, funkcija from posao; Na oba upita dobija se isti odgovor baze podataka: POSAO_ID FUNKCIJA --------- -------------- 667 CLERK 668 STAFF 669 ANALYST 670 SALESPERSON 671 MANAGER 672 PRESIDENT 6 rows selected. U drugom upitu iza ključne reči select navedeni su nazivi svih kolona u tabeli posao. Ovaj način postavljanja upita omogućuje korisniku kako da promeni redosled ispisa kolona, tako i izostavljanje neke kolene u odgovoru baze. Imena kolona međusobno su odvojena zarezima. Primer 1. SQL> select funkcija from posao;

FUNKCIJA -------------------- CLERK STAFF ANALYST SALESPERSON MANAGER PRESIDENT 6 rows selected. Primer 2. SQL> select ime, prezime, zarada from radnik Izlaz (deo): IME PREZIME ZARADA --------------- --------------- --------- PAUL ROSS 1300 FRANCIS KING 5000 MARY DIANE TURNER ADAMS 1500 1100 FRED JAMES 950 JENNIFER FORD 3000 GRACE ROBERTS 2875 MICHAEL DOUGLAS 800 BARBARA ALICE MILLER JENSEN 1300 750 JAMES MURRAY 750 32 rows selected. U ovom primeru FROM klauzula je preneta u drugi red. Rezultat upita je isti, jedino je način zapisa promenjen. Izbor pojedinih kolona Već smo u Primeru 2. videla da možemo izvršiti upit samo po pojedinim kolonama tabele. Ovaj način nam omogućuje i promenu redosleda ispisa kolona. Izbor različitih tabela Izbor tabele čiji će sadržaj biti prikazan određen je upotrebom kluzule FROM. Iza ove klauzule navodi se ime tabele. Primer 1. SQL> select * from lokacija;

LOKACIJA_ID REGIONALNA_GRUPA ----------- ----------------- 122 NEW YORK 124 DALLAS 123 CHIGO 167 BOSTON U ovom primeru prikazan je sadržaj svih kolona tabele LOKACIJA. Upit za eliminisanje duplikata SQL> select drzava from kupac; DR -- MN... MA NY MA NY MA NY 33 rows selected. Poslednji red odgovora na upit (33 rows selected ) kaže da je ispisano 33 redova tabele KU- PAC. Iz odrovora se očigledno vidi da se pojedini elementi ponavljaju više puta. Upit možemo modifikovati tako da nam u rezultat upita bude prikazano samo po jedno pojavljivanje svakog elementa željene kolone. U tu svrhu koristi se ključna reč DISTINCT koja se navodi iza reči SELECT. Primer 1. SQL> select distinct drzava from kupac; DR -- MA MN NY

Samo je pet različitih skraćenica za države uneto u tabeli KUPAC. Primer 2. SQL> select distinct ime from odeljenje; IME -------------- ACCOUNTING OPERATIONS RESEARCH SALES 2. SQL izrazi WHERE klauzula Sintaksa WHERE klauzule je sledeća: WHERE <Uslov pretraživanja> SELECT, FROM i WHERE su tri najčešće korišćene klauzule u SQL-u. WHERE omogućuje selektivnost u našem upitau. Bez upotrebe WHERE klauzule biće prikazani svi podaci iz tabele. Na primer: SQL> select * from odeljenje; ODELJENJE_ID IME LOKACIJA_ID ------------ -------------- ----------- 10 ACCOUNTING 122 20 RESEARCH 30 SALES 124 123 40 OPERATIONS 167 12 RESEARCH 122 13 SALES 122 14 OPERATIONS 122 23 SALES 24 OPERATIONS 124 124 34 OPERATIONS 43 SALES 123 167 11 rows selected. Kod ovog upita prikazani su svi redovi tabele ODELJENJE. Ako bi smo želeli da vidimo samo podatke za Odeljenje prodaje (SALES), naš upit se mora proširiti uslovom da je ime odeljenja (IME) jednako SALES tj. IME = 'SALES' SQL> select * from odeljenje where ime='sales';

ODELJENJE_ID IME LOKACIJA_ID ------------ -------------- ----------- 30 SALES 123 13 SALES 122 23 SALES 124 43 SALES 167 Reč IME može se pisati i malim slovima, međutim 'SALES' se piše onako kako je zapisan u bazi podataka (u našem slučaju velikim slovima). Kako upiti postaju složeniji preglednije ih je pisati u više redova. Na primer, predhodni upit može biti zapisan i kao: SQL> select * from odeljenje where ime='sales'; ili SQL> select * from odeljenje where ime='sales';