SQL

From Wikipedia, the free encyclopedia

Remove ads

(engl. ) je relacioni upitni jezik ( i standard).[2][3][4][5] Relacije se kreiraju jednom naredbom i odmah su dostupne, što ga čini jednostavnim za korišćenje. Uniforman je, jer se svi podaci i rezultati operacija prikazuju u vidu tabele i omogućava interaktivno i klasično programiranje. Sve do verzije ovaj jezik je bio neproceduralan, odnosno njime se specificiralo ŠTA, a ne i KAKO nešto treba uraditi.[6]

Укратко Strukturni upitni jezik, Originalni naziv ...
Remove ads
Remove ads

Istorijat

Tvorac -a je Donald Čamberlin, a nastao je u -ovoj istraživačkoj laboratoriji (енгл. ) u San Hozeu, Kalifornija 1974. godine, dakle na istom mestu gde je E. F. Kod 1970. definisao osnovne koncepte relacionog modela podataka. Jezik se u početku zvao (engl. ) i predstavljao je programski interfejs () za , prototipski sistem za upravljanje bazom podataka () koji se razvijao kao deo istraživačkog projekta pod istim nazivom.

Pojava komercijalnih relacionih sistema uvećala je značaj i ubrzala proces standardizacije relacionog upitnog jezika. Prva etapa tog procesa završila se 1986. godine usvajanjem -a kao standardnog relacionog upitnog jezika. Ta prva verzija standarda je poznata pod nazivom . Njom su standardizovane osnovne karakteristike -a kao deklarativnog relacionog upitnog jezika. Međutim, mnoge bitne karakteristike jezika ostale su nestandardizovane. To je dovelo do revizija standarda, koji je usvojen 1989. godine i kojom su standardizovane karakteristike koje se odnose na očuvanje integriteta baze podataka i povezivanje sa klasičnim programskim jezicima. Ta verzija standarda poznata je pod nazivom . 1992. godine usvojena je sledeća bitna revizija standarda, poznata pod nazivom ili , kojom je zaokružen kao programski jezik, a obim standarda uvećan šest puta u odnosu na polaznu verziju. Naredna verzija standarda usvojena je . godine.[7]

Remove ads

Iako su početne verzije -a bile prilično jednostavne, bliske korisniku i u velikoj meri deklarativne za se može reći da je kompleksan, proceduralno/deklarativan jezik. U njega su uključeni koncepti objektne tehnologije, mehanizam trigera, rekurzija i proceduralna proširenja. Da bi se povećala funkcionalnost jezika, u standardu uvedena je proceduralna nadgradnja -a, koju uglavnom čine upravljačke strukture slične upravljačkim strukturama klasičnih programskih jezika. standard definiše više načina korišćenja -a. Dva osnovna načina su direktno (interaktivno) korišćenje -a i povezivanje -a sa klasičnim programskim jezicima („ugrađeni“ ).[7]

naredbe

standard razvrstava naredbe u sledećih 7 kategorija:

  • Naredbe za šemu baze podataka (енгл. ) - za kreiranje, izmenu i izbacivanje šema i objekata šema ()
  • Naredbe za podatke (енгл. ) - za prikaz i ažuriranje podataka baze ()
  • Naredbe za transakcije (енгл. ) - za startovanje, završavanje i postavljanje parametara za transakcije ()
  • Naredbe za kontrolu (енгл. ), koje se koriste za kontrolu izvršavanja sekvence naredbi ()
  • Naredbe za konekcije (енгл. ) - za uspostavljanje i prekidanje konekcije ()
  • Naredbe za sesije (енгл. ) - za postavljanje default vrednosti i drugih parametara sesije ()
  • Naredbe za dijagnostiku (енгл. ) - signalizuju izuzetke u rutinama ()

Struktura

Domeni

Domen je u -u prost, korisnički definisan imenovan objekat koji se može koristiti kao alternativa za predefinisan tip podatka nad kojim se definiše. Može imati vrednost i jedno ili više ograničenja.

  • Domen se kreira naredbom:
CREATE DOMAIN <naziv domena> [AS] <predefinisani tip>
[DEFAULT <vrednost>]
[[CONSTRAINT <naziv ograničenja>] CHECK (<ograničenje>)] ..
  • Definicija domena se menja naredbom ALTER :
ALTER DOMAIN <naziv domena>
SET DEFAULT <vrednost> |
DROP DEFAULT |
ADD [CONSTRAINT <naziv ograničenja>] CHECK (<ograničenje>) |
DROP CONSTRAINT <naziv ograničenja>
  • Domen se uništava naredbom:
 DROP DOMAIN <naziv domena>

Indeksi

Indeksi su strukture podataka koje olakšavaju i čine efikasnijim pristup podacima baze. Vrednosti indeksiranih kolona mogu biti jedinstvene (primarni ključ) ukoliko se pri kreiranju izabere varijanta .

CREATE [UNIQUE] INDEX <naziv indeksa>
 ON  (<naziv tabele> ( <naziv kolone1> [, <naziv kolone2>, ..]) ;

Izbacivanje se vrši naredbom:

DROP INDEX <naziv indeksa>

Katalog

Katalog je imenovana kolekcija šema baze podataka u . Svaki katalog sadrži šemu rečnika podataka sa nazivom INFORMATION SCHEMA. U –u ne postoji mogućnost kreiranja i brisanja kataloga.

Šema

Šema predstavlja kolekciju svih objekata koji dele isti prostor imenovanja. Šema može sadržati jednu ili više tabela, a svaka tabela može pripadati logički tačno jednoj šemi. Šema se kreira naredbom:

 CREATE SHEMA <naziv šeme>

Izbacivanje šeme može biti CASCADE - izbacuje šemu i objekte iz nje ili RESTRICT - brisanje šeme koja je prazna i ostvaruje se naredbom:

DROP SHEMA <naziv šeme> CASCADE | RESTRICT

Pun naziv objekta specificira se u obliku:

<naziv kataloga>, <naziv šeme>, <naziv objekta>

Tipovi podataka

Више информација Numerički tipovi, Tekstualni tipovi ...

Tabele

Kreiranje tabela

Podaci se u čuvaju se i prikazuju u obliku tabela. Svaka kolona tabele ima ime i tip podatka ili domen. Red je najmanja jedinica podatka koja se može uneti u tabelu ili izbrisati iz nje.

U koriste se:

  • Bazna tabela - vrsta tabele za čuvanje svih podataka. Može biti:

Perzistentna tabela

CREATE TABLE <naziv tabele>
(<naziv kolone1> <tip podatka> NOT NULL],
<naziv kolone> <tip podatka> [NOT NULL], ..)

Globalna privremena tabela

 CREATE GLOBAL TEMPORARY TABLE  <naziv tabele>
(<naziv kolone1> <tip podatka> [ NOT NULL],
<naziv kolone> <tip podatka> [ NOT NULL], . .) ;

Kreirana lokalna privremena tabela

 CREATE LOCAL TEMPORARY TABLE  <naziv tabele>
(<naziv kolone1> <tip podatka> [ NOT NULL],
<naziv kolone> <tip podatka> [ NOT NULL], . .) ;

Deklarisana lokalna privremena tabela

 
 DECLARE LOCAL TEMPORARY TABLE MODULE  <naziv tabele>
(<naziv kolone1> <tip podatka> [NOT NULL],
<naziv kolone> <tip podatka> [ NOT NULL], . .) ;
  • Izvedena tabela - predstavlja rezultat izvršavanja upita.
  • Tabela pogleda – predstavlja rezultat poziva imenovanog upita(pogleda).
Izmena definicije tabele
  • Dodavanje nove kolone
ALTER TABLE <naziv tabele>
[ADD COLUMN] <definicija kolone> ;
  • Izmena postojeće kolone
ALTER TABLE <naziv tabele>
[ALTER COLUMN] <naziv kolone>
SET DEFAULT <vrednost> |
DROP DEFAULT;
  • Izbacivanje kolone iz tabele
ALTER TABLE <naziv tabele>
DROP [COLUMN] <naziv kolone> ;
  • Dodavanje ili izbacivanje ograničenja na vrednosti
ALTER TABLE <naziv tabele>
ADD [CONSTRAINT <naziv ograničenja> ] <ograničenje tabele> |
DROP CONSTRAINT <naziv ograničenja> ;
Izbacivanje tabele
  • Brisanje sadržaja tabele
DELETE TABLE <naziv tabele>;
  • Brisanje tabele i njenog sadržaja
DROP TABLE <naziv tabele>;
Remove ads

Vidi još

Reference

Loading content...

Literatura

Loading content...

Spoljašnje veze

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads