Prijeđi na sadržaj

SQL

Izvor: Wikipedija

Structured Query Language(SQL - IPA: (izgovor: [ˌɛskjuːˈɛl] ili [`siːkwəl]) je strukturniupitni jezik,programski jezik visoke razine.[1]Najpopularniji jeračunalni jezikza izradu, traženje, ažuriranje i brisanje podataka izrelacijskih baza podataka.SQL je stardardiziran preko standardaANSIiISO.

Povijest

[uredi|uredi kôd]

SQL je bio jedan od prvih jezika za relacijski modelEdgara F. Coddau njegovom poznatom radu iz 1970. "A Relational Model of Data for Large Shared Data Banks",[2]izdanom u lipnju1970.u novinama Association for Computing Machinery (ACM), Communications of the ACM, iako su prvi koncepti već cirkulirali unutar samogIBMveć1969.SQL je postao je jedan od najčešće korištenih jezika zarelacijske baze podataka[3][4]i danas se može reći da je Coddov model široko prihvaćen kao definitivni model za relacijske baza podataka (RDBMS ili RDMS).

Povijest

[uredi|uredi kôd]

Tijekom1970-ih,grupa izIBMovogistraživačkog centra uSan Joseurazvila je sustav baze podataka "System R"temeljen na Coddovu modelu. Structured English Query Language (" SEQUEL ") je bio dizajniran manipulirati i vaditi podatke spremljene u System R. Kratica SEQUEL je kasnije bila sročena u SQL zbog toga što je riječ 'SEQUEL' bila zaštitni znak Hawker Siddeley zrakoplovne tvrtke uUjedinjenom Kraljevstvu.Iako SQL je bio inspiriran Coddovim radom, IBM-ovciDonald D. ChamberliniRaymond F. Boycesu postali autori SEQUEL jezičnog dizajna. Njihov koncept je bio izdan da poveća interes prema SQL-u. Prva nekomercijalna, relacijska, ne-SQL baza podataka bila jeIngres,razvijena1974.u Sveučilištu u Kaliforniji,Berkeleyu.

1978.,metodska testiranja su bila napravljena na testnim centrima za kupce. Demonstrirajući korisnost i praktičnost sustava, ovo testiranje se dokazalo kao uspjeh za IBM. Kao rezultat toga, IBM je počeo s razvojem komercijalnih proizvoda baziranih na njihov sustav System R prototip koji je izvršavao SQL, zajedno saSystem/38(najavljen1978.i komercijalno dostupan u kolovozu1979.), SQL/DS (predstavljen1981.) i DB2 (1983.).

Istovremeno Relational Software, Inc. (danas poznat kaoOracle Corporation) je vidio potencijal u opisu koncepta Chamberlina i Boycea, i razvili su vlastitu inačicu RDBMS za ratnu mornaricu,CIA-u i ostale. Uljeto1979.Relational Software, Inc. je predstavio Oracle V2 (Version2) za računala VAX kao prva komercijalno dostupna implementacija SQL-a.

Naredbe

[uredi|uredi kôd]

1. Pretraga podataka i grupiranje podataka

[uredi|uredi kôd]
  • SELECT
    • FROM, JOIN
    • WHERE
    • GROUP BY
    • HAVING
    • ORDER BY

Primjer 1:

SELECT*FROMknjige
WHEREcijena>100.00
ORDERBYnaslov

2. Podatkovna manipulacija

[uredi|uredi kôd]
  • INSERT
  • UPDATE
  • MERGE
  • DELETE
INSERTPrimjer:
INSERTINTOmoja_tablica(polje1,polje2,polje3)VALUES('test','N',NULL);

3. Kontrola transakcije

[uredi|uredi kôd]
  • BEGIN WORK (ili START TRANSACTION, ovisno o SQL dijalektu)
  • COMMIT
  • ROLLBACK

Primjer:

BEGINWORK;
UPDATEinventarSETkoličina=količina-3WHEREitem='hlače';
COMMIT;

4. Definicija podataka

[uredi|uredi kôd]
  • CREATE
  • DROP
  • TRUNCATE
  • ALTER

Primjer:

CREATETABLEmoja_tablica(
moje_polje1INT,
moje_polje2VARCHAR(50),
moje_polje3DATENOTNULL,
PRIMARYKEY(moje_polje1,moje_polje2)
);

5. Kontrola podataka

[uredi|uredi kôd]
  • GRANT (dodjela prava)
  • REVOKE

Primjer:

GRANTSELECT,UPDATEONmoja_tablicaTOneki_korisnik,drugi_korisnik.

6. Ostalo

[uredi|uredi kôd]
  • ANSI-standard SQL podupire dvostruku liniju, --, kao jednoredčani indentifikator komentara (neke ekstencije također C-stil /* komentari */ za komentare u više redaka).

Alternative

[uredi|uredi kôd]

Treba razlikovati alternative relacijskih jezika upita i alternative SQL-a. U sljedećoj listi su navedene alternative SQL-a, ali su još uvijek (nominalno) relacijske:

  • IBM Business System 12 (IBM BS12)
  • Tutorial D
  • TQL - Luca Cardelli
  • Hibernate Query Language (HQL) - Java-bazirani alat koji koristi modificirani SQL
  • EJB-QL (Enterprise Java Bean Query Language/Java Persistence Query Language)
  • Quel predstavljen 1974. od strane U.C. Berkeley Ingres projekta.
  • Object Query Language - Object Data Management Group.
  • Datalog
  • LINQ
  1. Proleksis enciklopedijaSQL Objavljeno: 22. lipnja 2012., pristupljeno 5. travnja 2019.
  2. Codd, E.F. Lipanj 1970.A Relational Model of Data for Large Shared Data Banks.Communications of the ACM(engleski). Association for Computing Machinery.13(br. 6): 377.–387.doi:10.1145/362384.362685.ISSN0001-0782.Inačicaizvorne stranicearhivirana 12. lipnja 2007.Pristupljeno 20. listopada 2009.
  3. Chapple, Mike.SQL Fundamentals.About.com: Databases.About.com. Inačicaizvorne stranicearhivirana 25. prosinca 2018.Pristupljeno 10. lipnja 2007.
  4. Structured Query Language (SQL).International Business Machines. 27. listopada 2006.Pristupljeno 27. listopada 2006.