You are on page 1of 3

SQL(Structured Query Language) je relacioni upitni jezik.

Relacije se kreiraju jednom naredbom i odmah su


dostupne, što ga čini jednostavnim za korišćenje. Uniforman je, jer se svi podaci i rezultati prikazuju u vidu tabele i
omogućava interaktivno i klasično programiranje.

NAREDBE U 7 KATEGORIJA: ZA ŠEMU (CREATE, ALTER DROP), ZA PODATKE (SELECT, INSERT, UPDATE, DELETE), ZA
TRANSAKCIJE (COMMIT, ROLLBACK), ZA KONTROLU (CALL, RETURN), ZA KONEKCIJE (CONNECT, DISCONNECT), ZA
SESIJE (SET), ZA DIJAGNOSTIKU (GET DIAGNOSTIC).

SHOW DATABASES - provera postojećih baza

CREATE DATABASE prijatelji; - kreiranje baze

USE prijatelji; - aktiviranje baze

Server.Database.Schema.Object ili Schema.Object – pristup objektu u bazi

SQL jezik sadrži više elemenata, uključujući:

 Ključne reči - Rezervisane reči, koje imaju predefinisano značenje u SQL jeziku(SELECT,FROM)
 Identifikatore - nazivi za objekte, kao sto su baze podataka, tabele, kolone, pogledi, funkcije, procedure.
 Literale(konstante) - specifične, fiksne vrednosti. Format literala zavisi od tipa podataka čijuvrednost
predstavlja.
 Operatore - omogućavaju manipulisanje podacima i vraćanje rezultata.

Operatori poređenja(=,!=,<>,>, <,>=,<=,!<, !>), logički(AND,OR,NOT

 Izraze – formiraju se od različitih elemenata, kao što su: literali, promenljive, imena kolona, operatori,
podupiti, funkcije.
 Funkcije – imenovani blok izvršnog koda, koji prihvata parametre i vraća vrednost. Postoje ugrađene fje (za
rad sa stringovima, datumima i vremenom, agregatne, matematičke i dr.)
 Promenljive – Obezbeđuju privremeno čuvanje vrednosti određenog tipa. U SQL jeziku sve promenljive su
lokalne.

Da bi se kreirala lokalna promenljiva potrebno je da se koristi ključna reč DECLARE, obezbedi ime
promenljive(počinje sa @), definiše tip i eventualno početna vrednost. Npr. DECLARE @x int=100;

 Komentare – tekst koji je napisao korisnik i koji se ne izvršava. Služi da se obeleži deo koda. Postoje oni u
jednoj liniji (--) i u više linije (/**/).
 NULL oznake – označava nepoznatu vrednost,vrednost koja nedostaje ili koja nije promenljiva. NULL nije ni
prazna vrednost ni nula.
 Naredbe za upravljanje – omogućavaju upravljanje tokom izvršavanja koda, upravljanje greškama, kao i
upravljanje transakcijama.
 Tipove podataka – određuju tip i opseg vrednosti, mogu se čuvati u kolonama tabele, parametrima,
promenljivima.

Naredba je kombinacija elemenata SQL jezika. Iako nije obavezno, trebalo bi da se završavaju sa ;

SELECT ZaposleniID, Ime+’ ‘+Prezime

FROM dbo.Zaposleni PRIMER SELECT NAREDBE


WHERE MestoRodjenja =‘Novi Sad’;

Alternativna podela u 4 grupe:

 DML(Data Manipulation Language) – pretraživanje, unos, promena i brisanje


 DDL(Data Definition Language) – kreiranje, izmena, brisanje
 DCL(Data Control Language) – davanje dozvola za pristup, ukidanje dozvola, zabrana pristupa objektima i
podacima
 TCL(Transactional Control Language) – upravljanje transakcijama u bazi
Numerički tipovi podataka: Numerički tipovi su tipovi koji prihvataju isključivo brojne vrednosti. Tu spadaju: tinyint,
smallint, int, bigint, decimal, numeric, money, bit, float, real.

Datumski i vremenski tipovi: Često se koristi kao niz podataka za vreme. Tu spadaju: date, datetime, datetime2,
datetimeoffset, smalldatetime, time.

Karakter tipovi: Prilikom unosa svi karakter stringovi se pišu između jednostrukih navodnika. Tu spadaju: char, nchar,
varchar, nvarchar, varchar(max), nvarchar(max), text, ntext.

Ostali tipovi: binary, varbinary, varbinarz(max), uniqueidentifier, image, hierarchyid, sql_variant, xml, cursor, table,
geometry, geography.

Za promenu definicije baze koristi se ALTER DATABASE, a zabrisanje DROP DATABASE.

ALTER TABLE knjige

MODIFY (naziv VARCHAR2(150))

ALTER TABLE knjige DROP TABLE knjige

ADD (broj_stranica NUMBER(4))

pk - primary key, fk - foreign key. Атрибути који су обавезни постају колоне које имају ограничење NOT NULL.

CREATE TABLE autori

( id_autora NUMBER(5) PRIMARY KEY, PRIMER KREIRANJA TABELE


ime VARCHAR2(15) NOT NULL,

prezime VARCHAR2(15) NOT NULL )

Уколико имамо два ентитета повезана везом 1:М у једну од њих се додаје додатна колона која је страни кључ.
Страни кључ се додаје као колона у ону табелу која је на страни више.

Поред колоне која је страни кључ је неопходно додати реч REFERENCES, а након ње назив табеле и колоне на
коју страни кључ поазује.

Веза више према више: Ако као књиге посматрамo школске уџбенике, приметићемо да свака књига има више
аутора, а аутори најчешће током свог рада напишу више књига.

CHECK (datum_vracanja >= datum_uzimanja) – ограничење da dатум враћања не може да буде мањи од датума
узимања књиге из библиотеке.

Веза 1:1 је јако ретка. Ако као књиге посматрамo школске уџбенике, retko ćemo sresti аутора koji ima samo
jednu knjigu.

Prvi način konverzije podataka je dozvoliti SQL serveru da sam konvertuje jedan tip u drugi, i tu govorimo o
implicitnoj konverziji. Obavlja se na osnovu prethodno definisanih prioriteta. Tip koji ima niži prioritet može se
konvertovati u neki od tipova koji ima viši prioritet.

Drugi način je da se konverzija obavi koristeći postojeće funkcije, tada je reč o eksplicitnoj konverziji. Obavlja se
korišćenjem SQL Server funkcija za konvertovanje.

CAST funkcija: Zasnovana na ANSI SQL standardima. Sintaksa: CAST (izraz AS tip_podatka [(duzina)]) Funkcija ima
jedan argument, koji se u opštem slučaju naziva izraz. Prilikom korišćenja funkcijebpotrebno je navesti tip posle
ključne reči AS i opciono dužinu podatka u koji se navedeni izraz konvertuje.

CONVERT: Slična CAST funkciji, izuzev što pruža dodatne mogućnosti za konverziju datuma i vremena, ali i druge
tipove podataka preko stil izraza. CONVERT (tip_podataka [(duzina)], izraz [, stil])
PARSE: Omogućava konverziju stringova u datumske, vremenske i numeričke tipove podataka. Opciono argument
kultura identifikuje format za vrednost stringa koji se konvertuje.
PARSE (string_vrednost AS tip_podataka[USING kultura])

TRY_CAST, TRY_CONVERT, TRY_PARSE: Pošto funkcije CAST, CONVERT i PARSE vraćaju grešku ukoliko ne može da se
izvrši konverzija, uvedene su nove funkcije. Ukoliko je konverzija moguća, vraćaju rezultat, ako nije moguća ne
vraćaju grešku, već NULL. Sintaksa je ista kao kod CAST, CONVERT i PARSE.

Collation: Objašnjava osobinu karakter podataka, uključujući nekoliko aspekata: jezička podrška, redosled sortiranja,
osetljivost na veličinu slova, osetljivost na akcente i slično. Može biti podešen na nivou instance SQL Servera, baze,
kolone, izraza. Opcije se specificiraju preko imena.

Oznake za definisanje unosa:

 _CI – neosetljivost na mala i velika slova


 _CS – osetljivost na mala i velika slova
 _AI – neosetljivost na akcente
 _AS – osetljivost na akcente

SELECT * FROM sys.tables; - provera da li je tabela kreirana

SELECT je команда SQL језика која служи да се извуку информације, и добићемо тражени резултат.

INSERT-koristi se za unos jednog ili više redova u tabelu ili pogled. Osnovni oblik ove naredbe je:

INSERT INTO naziv_tabele [(lista_kolona)]

VALUES (lista_vrednosti);

Za promenu podataka najčešće se koristi UPDATE naredba. UPDATE menja sve redove u tabeli, ali pod uslovom da se
redovi ne filtriraju pomoću WHERE ili JOIN.

Za uklanjanje jednog ili više redova iz tabele ili pogleda koriste se DELETE ili TRUNCATE naredbe. Uklanja sve redove
koji ispunjavaju WHERE klauzulu. Ukoliko se ne navede WHERE obrisaće se svi redovi. TRUNCATE TABLE uklanja sve
redove u tabeli odjednom. Struktura tabele, njena ograničenja i indeksi se ne brišu.

Za brisanje i definicije tabele i njebih podataka koristi se DROP TABLE.

Razlika između TRUNCATE TABLE i DELETE: TT uvek uklanja sve redove i ne podržava WHERE. Ako tabela ima
IDENTITY, posle TT brojač za to svojstvo se resetuje na inicijalnu vrednost. TT se neće izvršiti ukoliko je tabele
referencirana preko stranog ključa u drugoj tabeli. TT ne aktivira okidače za razliku od DELETE. TT koristi manje
prostora jer upisuje samo delokaciju prostora, a DELETE upisuje i obrisane redove.

You might also like