Pristup SQL-u. Osnovni pojmovi, vokabular i sintaksa

Structured Query Language (SQL) je standardnim sredstvima za rad s bazama podataka. Može se koristiti i za interaktivni rad s bazom podataka i uključiti u programske jezike. U Access SQL DBMS-u možete:

· stvarati, mijenjati ili brisati tablice u Access bazi podataka;

· stvoriti ili izbrisati ključeve i indekse za tablice u bazi podataka Access;

· umetanje, brisanje ili mijenjanje zapisa tablice;

· primati sažete informacije o podacima u tablicama (broj zapisa, iznosi, prosjeci, minimumi, maksimalne vrijednosti i tako dalje.);

· pretraživati ​​i dohvaćati podatke iz jedne ili više tablica na zahtjev.

Pogledajmo osnovne SQL operatore za pretraživanje i dohvaćanje informacija iz baze podataka. U tu svrhu koristi se SELECT izjava

IZABERI popis naziva polja 1

IZ popis naziva tablica

SELECT, FROM, WHERE, ORDER BY, GROUP BY - ključne riječi;

popis naziva polja 1 - skup naziva polja koji su odabrani iz jedne ili više tablica navedenih na popisu naziva tablica, izračunatih polja, agregatnih funkcija (na primjer, broj, zbroj, min, maks, prosj itd.). Za odabir svih polja s popisa tablica, umjesto ispisivanja njihovih naziva, možete koristiti simbol “*”. Ako naziv polja tablice sadrži razmak, tj. sastoji se od nekoliko riječi, tada se taj naziv mora staviti u uglate zagrade;

popis naziva tablica- skup naziva tablica iz kojih se odabiru informacije.

Nazivi polja i tablica ne razlikuju velika i mala slova i navedeni su u popisima odvojenim zarezima.

Primjeri:

ODABIR * IZ Knjiga- odabir svih polja svih knjiga iz tablice “ Knjiga" baze podataka bibliografije.

IZABERI Naslov, [Godina izdanja] IZ Knjiga- izbor polja zaglavlja ( Ime) i godina izdanja ( Godina izdavanja) sve knjige iz tablice " Knjiga". Naziv polja godine izdanja navodi se u uglatim zagradama (s razmakom).

Tablica “Izdavač” Tablica “Knjiga” Tablica “Autor”


Riža. 2.1. Struktura i shema baze podataka bibliografije

Za traženje informacija koje zadovoljavaju određeni uvjet, Izjava SELECT koristi klauzulu WHERE koja ima sljedeću sintaksu:

IZABERI popis naziva polja IZ popis naziva tablica GDJE stanje,

Gdje stanje definira kriterij za pretraživanje informacija.

Uvjet koristi nazive polja, operacije usporedbe (<, <=, =, >, >=, <>) i posebne operacije usporedbe IN, LIKE, BETWEEN. Te se operacije mogu kombinirati pomoću logičkih operacija (I, Ili) i postaviti složene uvjete pretraživanja informacija.



Primjeri:

IZABERI Naslov, [Godina izdanja] IZ Knjiga

GDJE [Godina izdanja] > 1991 određuje izbor naslova knjiga čija je godina izdanja nakon 1991. godine.

GDJE Prezime = ”Ivanov” definira odabir polja za imena i prezimena autora iz tablice " Autor“, čija se prezimena poklapaju s prezimenom Ivanov. Ovdje se simbol “ koristi za određivanje tekstualnih konstanti.

Operacija U uspoređuje sadržaj polja s popisom navedenih vrijednosti koje definiraju kriterij pretraživanja informacija.

Primjeri:

IZABERI Naslov, [Godina izdanja] IZ Knjiga

GDJE [Godina izdanja] U (1995, 1996) određuje izbor naslova i godinu izdanja knjiga objavljenih 1995. ili 1996. godine.

IZABERI Prezime, ime, grad IZ Autor

GDJE Grad U ("Omsk", "Moskva", "Kijev") određuje izbor autora koji žive u gradovima Omsk, Moskva ili Kijev.

Operacija KAO uspoređuje sadržaj polja s vrijednošću uzorka. String konstante, zamjenski znakovi i popisi raspona znakova koriste se za pisanje uzorka.

Znakovi uzorka su: *, ?, #. Simbol * odgovara nizu znakova, ? - odgovara jednom znaku, # - odgovara jednoj znamenki.

Primjeri:

P* - mogući rezultati pretraživanja za ruku, Rose.

CI? - mogući rezultati pretraživanja štap, kit.

12345# - mogući rezultati pretraživanja 123455, 123457.

Popis raspona nalazi se u uglatim zagradama, a prvi i zadnji znak raspona odvojeni su crticom (-). Raspon je naveden uzlaznim redoslijedom.

Primjeri:

IZABERI Puno ime IZ Autor

GDJE Prezime KAO "I*" određuje izbor autora čija prezimena počinju slovom I.

IZABERI Ime IZ Knjiga

GDJE Ime KAO " *baza podataka*" I [Godina izdanja] = 1996 utvrđuje izbor naslova knjiga objavljenih 1996. godine koje u naslovu sadrže sintagmu “baza podataka”.

Operacija IZMEĐU provjerava da li vrijednost polja pripada rasponu vrijednosti i da li je uključiva vrijednost (odabiru se zapisi koji sadrže polje čija je vrijednost jednaka granici raspona). Granice vrijednosti kombiniraju se pomoću operacije AND.

Primjeri:

IZABERI Naslov, [Godina izdanja] IZ Knjiga

GDJE [Godina izdanja] Između #01.01.1994# I #30.06.1994# određuje izbor knjiga objavljenih u prvoj polovici 1994. godine. Ovdje se simbol # koristi za određivanje konstanti tipa datuma.

IZABERI [Naziv izdavača], adresa, telefon IZ Izdavačka kuća

GDJE [Objavi ime] Između "Ne" I "Peraje" određuje izbor podataka o izdavačima čija su početna slova, poredana abecednim redom, u rasponu između “Nau” i “Fin”.

Za određivanje redoslijeda, koji predstavlja rezultate pretraživanja zapisa, koristi odjeljak NARUČI PO, čija je sintaksa sljedeća:

IZABERI popis naziva polja IZ popis naziva tablica NARUČI PO naziv polja 1 [A.S.C.| DESC][, naziv polja 2[A.S.C.| DESC]]

Gdje naziv polja1, naziv polja2 polja (iz popisa naziva polja) po kojima se vrši redoslijed. Opcija A.S.C. postavlja redoslijed sortiranja uzlaznim redoslijedom (ovaj redoslijed je postavljen prema zadanim postavkama), OPIS postavlja redoslijed sortiranja silaznim redoslijedom. Poredak se može vršiti po više polja (npr. po prezimenu pa po imenu)

Primjer:

IZABERI Ime IZ Knjiga

GDJE Ime KAO " *baza podataka*" I [Godina izdanja] = 1996

NARUČI PO Ime identificira izbor naslova knjiga objavljenih 1996. koji sadrže frazu "baza podataka" u naslovu i raspoređuje naslove abecednim redom.

Za grupiranje zapisa koristi se odjeljak GRUPIRAJ PO, čija je sintaksa sljedeća:

IZABERI popis naziva polja IZ popis naziva tablica GRUPIRAJ PO naziv polja 1 [, naziv polja 2],

Gdje naziv polja1, naziv polja2 polja (iz popisa naziva polja) po kojima su zapisi grupirani. Redoslijed polja u ovoj rečenici određuje razine njihova grupiranja. Grupiranje se može izvršiti za izraze (na primjer, izračunata polja), tada na popisu polja ovom izrazu mora biti dodijeljen neki naziv. Za agregirane funkcije ( broj, zbroj, min, maks, prosj itd.) potrebno je grupiranje.

Primjer:

IZABERI Prezime, [Godina izdanja], Zbroj (Cijena) KAO [ Cijena]

GROUPBY Prezime, [Godina izdanja]

NARUČI PO Prezime, [Godina izdanja] određuje ukupnu cijenu ( Cijena) knjige godine izdanja za svakog autora.

Pri radu s više tablica, svaki od razmatranih uvjeta odabira može se primijeniti na bilo koju od tablica. U opći slučaj pri formiranju upita korištenjem nekoliko tablica, klauzula WHERE označava odnos između tablica. Sintaksa upita za više tablica je sljedeća:

IZABERI popis naziva polja IZ popis naziva tablica GDJE popis veza,

Gdje popis veza definira kako su tablice u popisu naziva tablica povezane jedna s drugom. Na primjer, naziv_tablice1.ime_polja1 = naziv_tablice2.ime_polja2.

Primjeri:

IZABERI Knjiga. Naslov, Izdavač. [Objavi ime]

IZ Knjiga, Izdavačka kuća

GDJE Knjiga. [Kod izdavača]= Izdavač. [Kôd izdavača]I

Izdavačka kuća. [Objavi naziv]=”Znanost”

Ovaj upit određuje izbor naslova knjiga ( Ime) iz tablice " Knjiga"i imena izdavača ( Naziv izdavačke kuće) iz tablice nakladnika ( Izdavačka kuća). Odredba WHERE čini sljedeće:

· definira odnos između tablica (odabir naslova knjige i broja izdavača) Kod objavljen"sa stola" Knjiga", po broju izdavača " Šifra izdavača" u tablici izdavača " Izdavačka kuća" nalazi se naziv izdavača);

· postavlja uvjet za odabir knjiga koje izdaje samo nakladnička kuća Nauka.

Jezik SQL nema funkcije punopravnog razvojnog jezika, već je usmjeren na pristup podacima, pa je uključen u alate za razvoj programa. U ovom slučaju se zove ugrađeni SQL. Standard jezika SQL podržan je modernim implementacijama sljedećih programskih jezika: PL/1, Ada, C, COBOL, Fortran, MUMPS i Pascal.

U specijaliziranim sustavima za razvoj aplikacija tipa klijent-poslužitelj, programsko okruženje je, osim toga, obično dopunjeno komunikacijskim alatima (uspostavljanje i prekidanje veza s poslužiteljima baza podataka, otkrivanje i obrada grešaka koje se javljaju u mreži itd.), alatima za razvoj korisnička sučelja, alati za dizajn i otklanjanje pogrešaka

Postoje dvije glavne metode za korištenje ugrađenog SQL-a: statička i dinamička.

Na statički korištenje jezika (statički SQL) Tekst programa sadrži pozive funkcijama SQL jezika, koje su čvrsto uključene u izvršni modul nakon kompilacije. Promjene u pozvanim funkcijama mogu biti na razini pojedinačnih parametara poziva pomoću varijabli programskog jezika.

Na dinamičan korištenje jezika (dinamički SQL) pretpostavlja se da su pozivi SQL funkcijama dinamički konstruirani i interpretacija tih poziva, na primjer, pristup podacima iz udaljene baze podataka, tijekom izvođenja programa. Dinamička metoda se obično koristi u slučajevima kada aplikacija ne zna unaprijed vrstu SQL poziva i izgrađena je u dijalogu s korisnikom.

Glavna svrha SQL jezika (kao i drugih jezika za rad s bazama podataka) je priprema i izvršavanje upita. Kao rezultat uzorkovanja podataka iz jedne ili više tablica može se dobiti skup zapisa tzv prezentacija.

Izvođenje je u biti tablica formirana kao rezultat izvršavanja upita. Možemo reći da je to vrsta pohranjenog upita. Možete izraditi više pogleda koristeći iste tablice. Sam pogled je opisan navođenjem identifikatora pogleda i zahtjeva koji se mora postaviti da bi se dobio.



Radi praktičnosti rada s prikazima, koncept kursora uveden je u SQL jezik. Pokazivač je vrsta pokazivača koji se koristi za kretanje kroz skupove zapisa prilikom njihove obrade.

Opis i upotreba kursora u SQL-u je kako slijedi. U deskriptivnom dijelu programa vrši se povezivanje varijabilni tip pokazivač (CURSOR) sa SQL naredbom (obično SELECT naredbom). U izvršnom dijelu programa otvara se kursor (OPEN<имя курсора», перемещение курсора по записям (FETCI-1 <имя курсора>...), nakon čega slijedi odgovarajuća obrada, te konačno zatvaranje pokazivača (CLOSE<имя курсора>).

U relacijskim DBMS-ovima, za izvođenje operacija na relacijama, koriste se dvije skupine jezika, koji kao svoju matematičku osnovu imaju teoretske jezike upita koje je predložio E. Codd:

Relacijska algebra;

Relacijski račun.

U relacijskoj algebri Operandi i rezultati svih akcija su relacije. Jezici relacijske algebre su proceduralni jer se relacija koja proizlazi iz upita u relacijskoj bazi podataka procjenjuje izvršavanjem niza relacijskih operatora primijenjenih na relacije. Operatori se sastoje od operanda, koji su relacije, i relacijskih operacija.

Operacije Coddove relacijske algebre mogu se podijeliti u dvije skupine: teorijski osnovni skupovi i specijalni relacijski. U prvu skupinu operacija spadaju klasične operacije teorije skupova: unija, razlika, presjek i produkt. Druga skupina predstavlja razvoj uobičajenih skupovno-teorijskih operacija prema stvarnim problemima manipulacije podacima, a uključuje operacije: projekcija, selekcija, dijeljenje i povezivanje.

Računski jezici su neproceduralni (deskriptivni ili deklarativni) i dopuštaju izražavanje upita korištenjem predikata prvog reda (izjave funkcije) koje torke ili relacijske domene moraju zadovoljiti. Upit bazi podataka koji se izvršava korištenjem takvog jezika sadrži samo informacije o željenom rezultatu. Ove jezike karakterizira prisutnost skupova pravila za pisanje upita. Konkretno, SQL pripada jezicima ove skupine.

Značajke primjene SQL upiti

SQL upit je upit kreiran pomoću SQL naredbe. Primjeri SQL upita su upiti pridruživanja, upiti poslužitelja, kontrolni upiti i podređeni upiti.

Upit za spajanje je upit koji kombinira polja (stupce) iz jedne ili više tablica ili upita u jedno polje ili stupac u skupu rezultata zapisa. Na primjer, šest prodavača dostavlja menadžmentu popis svojih zaliha svaki mjesec. Stvaranjem upita za spajanje, možete kombinirati te inventare u skup rezultata zapisa, a zatim razviti upit za stvaranje tablice na temelju upita za spajanje.

Zahtjev poslužitelju prenosi SQL naredbe putem ODBC-a na poslužitelj, na primjer, Microsoft SQL poslužitelj. Upiti poslužitelja omogućuju vam da izravno radite s tablicama na poslužitelju umjesto da im se pridružite. Rezultat zahtjeva prema poslužitelju može biti učitavanje zapisa ili promjena podataka.

Kontrolni upit stvara ili mijenja objekte baze podataka, kao što su tablice programa Access ili SQL Server.

Podupit se sastoji od SQL SELECT naredbe unutar drugog upita za odabir ili promjenu. Ove se upute unose u redak “Polje” obrasca zahtjeva za definiranje novog polja ili u redak “Uvjet odabira” za definiranje uvjeta odabira polja. Podupiti se koriste za sljedeće:

Provjera u podupitu postojanja nekih rezultata korištenjem rezerviranih riječi EXISTS ili NO EXISTS;

Pretražuje glavni upit za sve vrijednosti koje su jednake, veće ili manje od vrijednosti vraćenih u podupitu (koristeći rezervirane riječi ANY, IN ili ALL);

Kreiranje podupita unutar podupita (ugniježđenih podupita).

SQL jezik u Accessu može se koristiti za razvoj ekranskih obrazaca, izvješća, kao i za stvaranje makronaredbi i VBA programa.

Odnos između QBE i SQL jezika

U Accessu postoji bliska veza između jezika QBE i SQL. Tablice (forme) upita u QBE jeziku, koje ispunjava korisnik, pretvaraju se u SQL izraze prije neposrednog izvođenja. Odnosno, SQL jezik je interni standard za izvršavanje upita. Prednost ovog mehanizma je što omogućuje sustavu Access objedinjavanje pripreme upita za izvršenje na lokalnim i udaljenim računalima. U potonjem slučaju, SQL poruka se zapravo prenosi na računalo – poslužitelj zahtjeva.

U Accessu upit može biti u jednom od tri načina (stanja): Dizajn, SQL i Tablica. Način dizajna koristi se za razvoj novog upita od nule (bez korištenja čarobnjaka ili drugih alata) ili za promjenu izgleda postojećeg upita. SQL način se koristi za unos ili pregled SQL naredbi. Tablični način rada koristi se za rad s rezultatima upita.

SQL u obrascima i izvješćima

Glavni izvori zapisa u prikazima i izvješćima su tablice i upiti. U drugom slučaju, zahtjev može biti gotov upit baze podataka ili onaj kreiran prilikom izrade obrasca ili izvješća.

SQL u makroima

Makro naredbe dio su makronaredbi koje se koriste za automatiziranje izvršavanja često ponavljanih radnji u radu s bazom podataka. Makro je jedna ili više makro naredbi s argumentima.

Makronaredbe se pozivaju iz prozora baze podataka ili automatski kada se dogode određeni događaji. Događaj na koji se makro poziva može biti, na primjer, klik na gumb u području obrasca ili otvaranje prozora baze podataka. Uz izvođenje određenih radnji na objektima baze podataka, makronaredbe mogu pozivati ​​druge makronaredbe, Visual Basic programe i vanjske aplikacije.

Od mnogih makro naredbi, dvije makro naredbe su izravno povezane sa SQL-om: Pokreni SQL upit (Run SQL) i Otvori upit (OpenQuery)

Makro naredba Pokreni SQL upit pokreće upit za promjenu ili kontrolu programa Access koristeći odgovarajuću SQL naredbu. Ova makronaredba omogućuje izvođenje radnji u makronaredbi bez prethodnog spremanja upita. Također možete izvršiti spremljene upite pomoću makronaredbe.

Zahtjevi za promjenama su SQL naredbe koje implementiraju sljedeće funkcije: dodavanje (INSERT INTO), brisanje (DELETE), kreiranje tablice (SELECT...INTO) i ažuriranje (UPDATE)

Kontrolni zahtjevi su SQL naredbe koje izvode sljedeće funkcije: kreiranje tablice (CREATE TABLE), modificiranje tablice (ALTER TABLE), ispuštanje tablice (DROP TABLE), stvaranje indeksa (CREATE INDEX) i ispuštanje indeksa (DROP INDEX)

Jedini i obavezni argument makronaredbe Pokretanje SQL upita je SQL izjava. Makro argument kao SQL tekst - upute se unose ručno u prozor za unos makronaredbe ili se kopiraju iz SQL prozora, što je često praktičnije.

Makro naredba OpenRequest omogućuje vam otvaranje odabira ili unakrsnog upita (u tablici, dizajnu i načinu pregleda), pokretanje upita za promjenu ili unos podataka.

Makronaredba navodi tri argumenta: naziv zahtjeva, način i način podataka. Prvi argument navodi naziv zahtjeva za otvaranje i obavezan je. Drugi argument određuje način otvaranja upita (tablica, dizajn i prikaz). Treći argument opisuje način unosa podataka u zahtjev ("Dodaj", "Promijeni" i "Samo za čitanje")

SQL u VBA programima

VBA, kao i makronaredbe, dizajniran je za automatizaciju ponavljajućih operacija na objektima baze podataka programa Access.

U Accessu postoje sljedeći načini za pokretanje VBA programa:

Uključivanje programa u proceduru obrade događaja;

Pozivanje funkcije u izrazu;

Pozivanje Sub procedure u drugoj proceduri ili u prozoru za ispravljanje pogrešaka;

Izvršavanje makronaredbe RunCode (RunCode) u makronaredbi.

Funkcije se koriste u izrazima koji definiraju izračunata polja u obrascima, izvješćima ili upitima. Izrazi se koriste za određivanje uvjeta u upitima i filtrima, kao iu makronaredbama, VBA izjavama i metodama te SQL izjavama. Subprocedura može uključivati ​​javne VBA potprograme koji se pozivaju iz drugih procedura.

Pogledajmo izvođenje upita baze podataka pomoću SQL naredbi u programu Visual Basic for Applications.

Zahtjev odabire zapise iz baze podataka koji zadovoljavaju određene uvjete (zahtjev za odabir), ili izdaje upute za izvođenje određenih radnji sa zapisima koji zadovoljavaju određene uvjete (zahtjev za izmjenom).

Postoje sljedeći načini za izvršavanje upita:

Pozivanje metode Execute (za izvršavanje SQL upita za promjene);

Kreiranje i izvođenje posebnog QueryDef objekta;

Korištenje SQL naredbe kao argumenta za metodu OpenRecordset;

Izvršite metodu OpenRecordset na postojećem QueryDef objektu;

Pozivanje metoda RunSQL i OpenQuery.

Izvrši metodu koristi se ako trebate napraviti promjenu u bazi podataka koja ne vraća zapise. Na primjer, operacije umetanja ili brisanja zapisa.

QueryDef objekt predstavlja spremljenu definiciju upita u bazi podataka. Može se smatrati kompajliranom SQL naredbom.

Metoda OpenRecordset koristi se za otvaranje objekta tipa Recordset za izvođenje naknadnih operacija na njemu.

RunSQL metoda izvršava makronaredbu Pokretanje SQL upita u VBA programu

OpenQuery metoda izvršava OpenQuery makro naredbu u VBA programu. Pomoću njega možete otvoriti upit u načinu rada Datasheet, Design ili View. Ovo postavlja jedan od sljedećih načina rada s podacima: dodavanje, mijenjanje ili samo čitanje.

Odabir opcije izvršenja upita određuje programer, uzimajući u obzir karakteristike problema koji se rješava.

Za dohvaćanje podataka iz baze podataka koristi se SQL jezik. SQL je programski jezik koji je vrlo sličan engleskom, ali je namijenjen programima za upravljanje bazom podataka. SQL se koristi u svakom upitu u Accessu.

Razumijevanje načina na koji SQL radi pomaže vam u stvaranju preciznijih upita i olakšava ispravljanje upita koji vraćaju netočne rezultate.

Ovo je članak iz serije članaka o SQL jeziku za Access. Opisuje osnove korištenja SQL-a za dohvaćanje podataka i daje primjere SQL sintakse.

U ovom članku

Što je SQL?

SQL je programski jezik dizajniran za rad sa skupovima činjenica i odnosima između njih. Programi za upravljanje relacijskim bazama podataka kao što je Microsoft Office Access koriste SQL za manipuliranje podacima. Za razliku od mnogih programskih jezika, SQL je čitljiv i razumljiv čak i početnicima. Kao i mnogi programski jezici, SQL je međunarodni standard koji priznaju odbori za standarde kao što su ISO i ANSI.

Skupovi podataka opisani su u SQL-u kako bi pomogli odgovoriti na pitanja. Kada koristite SQL, morate koristiti ispravnu sintaksu. Sintaksa je skup pravila koja omogućuju ispravno kombiniranje elemenata jezika. SQL sintaksa temelji se na sintaksi na engleskom i dijeli mnoge elemente sa sintaksom jezika Visual Basic for Applications (VBA).

Na primjer, jednostavna SQL naredba koja dohvaća popis prezimena za kontakte s imenom Mary može izgledati ovako:

SELECT Prezime
OD kontakata
WHERE Ime = "Marija";

Bilješka: SQL jezik se ne koristi samo za izvođenje operacija nad podacima, već i za stvaranje i promjenu strukture objekata baze podataka, kao što su tablice. Dio SQL-a koji se koristi za stvaranje i modificiranje objekata baze podataka naziva se DDL. DDL nije obuhvaćen ovim člankom. Za više informacija pogledajte Stvaranje ili izmjena tablica ili indeksa pomoću upita za definiciju podataka.

SELECT izjave

Naredba SELECT koristi se za opisivanje skupa podataka u SQL-u. Sadrži potpuni opis skupa podataka koje je potrebno dohvatiti iz baze podataka, uključujući sljedeće:

    tablice koje sadrže podatke;

    veze između podataka iz različitih izvora;

    polja ili izračuni na temelju kojih se biraju podaci;

    uvjete odabira koje moraju zadovoljiti podaci uključeni u rezultat upita;

    nužnost i način razvrstavanja.

SQL izjave

SQL naredba sastoji se od nekoliko dijelova koji se nazivaju klauzulama. Svaka klauzula u SQL izjavi ima svrhu. Potrebne su neke ponude. Donja tablica prikazuje najčešće korištene SQL naredbe.

SQL izjava

Opis

Obavezno

Definira polja koja sadrže potrebne podatke.

Definira tablice koje sadrže polja navedena u klauzuli SELECT.

Definira uvjete odabira polja koje moraju zadovoljiti svi zapisi uključeni u rezultate.

Određuje redoslijed sortiranja rezultata.

U SQL izrazu koji sadrži funkcije združivanja, specificira polja za koja vrijednost sažetka nije izračunata u klauzuli SELECT.

Samo ako su takva polja prisutna

SQL izraz koji sadrži funkcije združivanja definira uvjete koji se primjenjuju na polja za koja se izračunava vrijednost sažetka u klauzuli SELECT.

SQL termini

Svaka SQL rečenica sastoji se od pojmova koji se mogu usporediti s dijelovima govora. Donja tablica prikazuje vrste SQL izraza.

SQL termin

Usporedni dio govora

Definicija

Primjer

identifikator

imenica

Naziv koji se koristi za identifikaciju objekta baze podataka, kao što je naziv polja.

Klijenti [Broj telefona]

operater

glagol ili prilog

Ključna riječ koja predstavlja ili modificira radnju.

konstantno

imenica

Vrijednost koja se ne mijenja, kao što je broj ili NULL.

izraz

pridjev

Kombinacija identifikatora, operatora, konstanti i funkcija dizajniranih za izračunavanje jedne vrijednosti.

>= Proizvodi.[Cijena]

Osnovne SQL klauzule: SELECT, FROM i WHERE

Opći format SQL naredbi je:

SELECT polje_1
IZ tablice_1
WHERE kriterij_1
;

Bilješke:

    Access ne poštuje prijelome redaka u SQL izjavama. Unatoč tome, preporuča se započeti svaku rečenicu u novom retku kako bi SQL naredba bila lako čitljiva i za osobu koja ju je napisala i za sve ostale.

    Svaka SELECT naredba završava točkom i zarezom (;). Točka-zarez se može pojaviti ili na kraju zadnje rečenice ili u zasebnom retku na kraju SQL naredbe.

Primjer u Accessu

Primjer u nastavku pokazuje kako bi SQL izjava za jednostavan upit za odabir mogla izgledati u Accessu.

1. SELECT klauzula

2. OD odredbe

3. WHERE klauzula

Pogledajmo primjer rečenicu po rečenicu da bismo razumjeli kako funkcionira SQL sintaksa.

SELECT klauzula

SELECT, tvrtka

Ovo je SELECT klauzula. Sadrži naredbu (SELECT) iza koje slijede dva identifikatora ("[Adresa E-mail]" i "Tvrtka").

Ako identifikator sadrži razmake ili posebne znakove (na primjer, "Adresa e-pošte"), mora biti u pravokutnim zagradama.

Klauzula SELECT ne zahtijeva da navedete tablice koje sadrže polja i ne možete navesti uvjete odabira koje moraju ispuniti podaci uključeni u rezultate.

U SELECT naredbi, SELECT klauzula uvijek dolazi prije FROM klauzule.

FROM klauzula

IZ Kontakti

Ovo je FROM klauzula. Sadrži izjavu (FROM) nakon koje slijedi identifikator (Kontakti).

Klauzula FROM ne specificira polja za odabir.

WHERE klauzula

GDJE Grad="Seattle"

Ovo je klauzula WHERE. Sadrži izjavu (WHERE) iza koje slijedi izraz (City="Rostov").

Postoje mnoge stvari koje možete učiniti s klauzulama SELECT, FROM i WHERE. Za više informacija o korištenju ovih ponuda pogledajte sljedeće članke:

Razvrstavanje rezultata: ORDER BY

Kao u Microsoft Excel, u Accessu možete sortirati rezultate upita u tablici. Korištenjem klauzule ORDER BY, također možete odrediti kako se rezultati sortiraju kada se upit izvrši. Ako se koristi klauzula ORDER BY, mora se pojaviti na kraju SQL naredbe.

Klauzula ORDER BY sadrži popis polja za sortiranje, istim redoslijedom kojim će se sortiranje primijeniti.

Na primjer, pretpostavimo da najprije želite poredati rezultate prema polju Tvrtka silaznim redoslijedom, a zatim, ako postoje zapisi s istom vrijednošću polja Tvrtka, sortirati ih prema polju Adresa e-pošte uzlaznim redoslijedom. Klauzula ORDER BY bi izgledala ovako:

ORDER BY Company DESC,

Bilješka: Prema zadanim postavkama, Access razvrstava vrijednosti uzlaznim redoslijedom (A do Z, od najmanje do najveće). Da biste umjesto toga sortirali vrijednosti silaznim redoslijedom, morate navesti ključna riječ OPIS

Za više informacija o klauzuli ORDER BY, pogledajte članak o klauzuli ORDER BY.

Rad sa sažetim podacima: klauzule GROUP BY i HAVING

Ponekad morate raditi sa sažetim podacima, kao što je ukupna prodaja za mjesec ili najskuplji artikli na zalihama. Da biste to učinili, u klauzuli SELECT primijenite na polje funkcija agregata. Na primjer, ako biste pokrenuli upit da biste dobili broj adresa e-pošte za svaku tvrtku, klauzula SELECT mogla bi izgledati ovako:

Mogućnost korištenja određene agregatne funkcije ovisi o vrsti podataka u polju i željenom izrazu. Za više informacija o dostupnim agregatnim funkcijama pogledajte SQL Statističke funkcije.

Određivanje polja koja se ne koriste u agregatnoj funkciji: klauzula GROUP BY

Kada koristite agregatne funkcije, obično morate stvoriti klauzulu GROUP BY. Klauzula GROUP BY navodi sva polja na koja se ne primjenjuje agregatna funkcija. Ako se agregatne funkcije primjenjuju na sva polja u upitu, ne morate stvoriti klauzulu GROUP BY.

Klauzula GROUP BY mora odmah slijediti klauzulu WHERE ili FROM ako ne postoji klauzula WHERE. Klauzula GROUP BY navodi polja istim redoslijedom kao klauzula SELECT.

Nastavimo prethodni primjer. U klauzuli SELECT, ako se agregatna funkcija primjenjuje samo na polje [Adresa e-pošte], klauzula GROUP BY bi izgledala ovako:

GRUPIRAJ PO Tvrtki

Za više informacija o klauzuli GROUP BY pogledajte članak o klauzuli GROUP BY.

Ograničavanje agregiranih vrijednosti korištenjem uvjeta grupiranja: klauzula HAVING

Ako trebate navesti uvjete za ograničavanje rezultata, ali se polje na koje ih želite primijeniti koristi u agregatnoj funkciji, ne možete koristiti klauzulu WHERE. Umjesto toga treba koristiti klauzulu HAVING. Klauzula HAVING radi isto kao i klauzula WHERE, ali se koristi za agregirane podatke.

Na primjer, pretpostavimo da je funkcija AVG (koja izračunava prosjek) primijenjena na prvo polje u klauzuli SELECT:

SELECT COUNT(), Tvrtka

Ako želite ograničiti rezultate upita na temelju vrijednosti funkcije COUNT, ne možete primijeniti uvjet odabira na ovo polje u klauzuli WHERE. Umjesto toga, uvjet treba staviti u klauzulu HAVING. Na primjer, ako želite da vaš upit vrati retke samo ako tvrtka ima više adresa e-pošte, možete koristiti sljedeću klauzulu HAVING:

IMAJUĆI BROJ()>1

Bilješka: Upit može uključivati ​​i klauzulu WHERE i klauzulu HAVING, s uvjetima odabira za polja koja se ne koriste u statističkim funkcijama navedenim u klauzuli WHERE i uvjetima za polja koja se koriste u statističkim funkcijama u klauzuli HAVING.

Za više informacija o klauzuli HAVING pogledajte članak o klauzuli HAVING.

Kombiniranje rezultata upita: operator UNION

Operator UNION koristi se za simultani pregled svih podataka koje vraća više sličnih upita za odabir kao kombinirani skup.

Operator UNION omogućuje vam kombiniranje dvije SELECT naredbe u jednu. Izjave SELECT koje se spajaju moraju imati isti broj i redoslijed izlaznih polja s istim ili kompatibilnim tipovima podataka. Kada se upit izvrši, podaci iz svakog skupa podudarnih polja kombiniraju se u jedno izlazno polje, tako da izlaz upita ima onoliko polja koliko i svaka pojedinačna izjava SELECT.

Bilješka: U upitima za pridruživanje numeričkim i vrste teksta podaci su kompatibilni.

Pomoću operatora UNION možete odrediti trebaju li duplikati redaka, ako ih ima, biti uključeni u rezultate upita. Da biste to učinili, koristite ključnu riječ SVE.

Upit za kombiniranje dvije SELECT izjave ima sljedeću osnovnu sintaksu:

SELECT polje_1
IZ tablice_1
UNIJA
SELECT polje_a
IZ tablice_a
;

Na primjer, pretpostavimo da imate dvije tablice pod nazivom "Proizvodi" i "Usluge". Obje tablice sadrže polja s nazivom proizvoda ili usluge, podacima o cijeni i jamstvu, kao i polje koje označava ekskluzivnost ponuđenog proizvoda ili usluge. Iako tablice "Proizvodi" i "Usluge" pružaju različiti tipovi jamstva, osnovne informacije su iste (jesu li određeni proizvodi ili usluge osigurani uz jamstvo kvalitete). Možete koristiti sljedeći upit za spajanje za spajanje četiri polja iz dvije tablice:

ODABERITE ime, cijenu, jamstvo_dostupno, ekskluzivna_ponuda
OD proizvoda
UNIJA SVE
ODABERITE naziv, cijenu, jamstvo_dostupno, ekskluzivna_ponuda
FROM usluge
;

Za više informacija o kombiniranju naredbi SELECT pomoću operatora UNION pogledajte

SQL je jedan od najčešćih programskih jezika za kreiranje i upravljanje bazom podataka, kao i za izvođenje raznih radnji sa samim podacima.

Kao što praksa pokazuje, prilično je lako naučiti i maksimalno koristi standardni engleski vokabular. Kao i svaki drugi programski jezik, SQL ima svoju logiku i sintaksu, skup osnovnih naredbi i pravila za njihovu upotrebu.

Klasifikacija SQL naredbi

Svi standardni mogu se uzeti u obzir na temelju njihove namjene. Sljedeći skupovi mogu se uzeti kao osnova za neformalnu klasifikaciju:

    Naredbe za izgradnju upita.

    Naredbe ugrađenih procedura i funkcija.

    Naredbe za okidače i sistemske tablice.

    Skupovi kombinacija za rad s datumskim i string varijablama.

    Naredbe za rad s podacima i tablicama.

Ova se klasifikacija može nastaviti na neodređeno vrijeme, ali glavni skupovi SQL naredbi bit će izgrađeni upravo na temelju ovih tipova.

Razmatrajući klasifikaciju jezika, ne može se ne spomenuti da je on univerzalan, o čemu svjedoči opseg njegove uporabe. Ovaj programski jezik i njegove varijante koriste se ne samo u standardnom okruženju, već iu drugim programima koje ste, na ovaj ili onaj način, koristili.

Opseg uporabe SQL-a može se razmotriti s gledišta ureda softver, odnosno MicrosoftAccess. Ovaj jezik, odnosno njegova verzija - MySQL, omogućuje vam administriranje baza podataka na Internetu. Čak i Oracle razvojno okruženje koristi SQL naredbe u srži svojih upita.

Korištenje SQL-a u Microsoft Accessu

Jedan od naj jednostavni primjeri Jezikom koji se koristi za programiranje baze podataka smatra se programski paket Microsoft Office. Proučavajući ovo softverski proizvod predviđen je u školskom kolegiju informatike, au jedanaestom razredu govori se o sustavu za upravljanje bazama podataka MicrosoftAccess.

Učenjem ove aplikacije učenici se upoznaju s razvojnim jezikom baze podataka i stječu osnovno razumijevanje svega što je uključeno. Access SQL naredbe prilično su primitivne, naravno, ako ih razmotrite na profesionalnoj razini. Izvršenje takvih naredbi vrlo je jednostavno, a kreiraju se u prilagođenom editoru koda.

Pogledajmo konkretan primjer:

ODABERITE Pe_Prezime

WHERE Pe_Name = "Marija";

Na temelju sintakse naredbe, možete razumjeti da će vratiti prezime korisnika, u u ovom slučajužena po imenu Mary, koja je pohranjena u tablici baze podataka kontakata.

Iako koristeći SQL Pristup je ograničen, ponekad takvi jednostavni upiti mogu uvelike pojednostaviti zadatak.

Korištenje SQL naredbi u Oracleu

Oracle je vjerojatno jedini ozbiljni konkurent Microsoft SQL Serveru. To je razvojno i upravljačko okruženje koje stalno dovodi do poboljšanja funkcija softverskog proizvoda Microsoft, budući da je konkurencija motor napretka. Unatoč stalnoj konkurenciji, Oracleovi SQL timovi repliciraju SQL. Vrijedno je napomenuti da iako se Oracle smatra gotovo potpunom kopijom SQL-a, logika ovog sustava i jezika u cjelini smatra se jednostavnijom.

Sustav Oracle, kada koristi određeni skup naredbi, nema tako složenu strukturu. S obzirom na mogućnosti ovih razvojnih okruženja baze podataka, Oracle nema složenu strukturu ugniježđenih upita.

Ova razlika omogućuje višestruko ubrzanje rada s podacima, ali, naprotiv, dovodi do neracionalnog korištenja memorije, u nekim pojedinačnim slučajevima. Oracleova struktura je uglavnom izgrađena na privremenim tablicama i njihovoj upotrebi. Kao primjer: SQL naredbe u ovom sustavu konstruirane su po analogiji sa standardima samog SQL jezika, iako se malo razlikuju od njega.

SELECTCONCAT(CONCAT(CONCAT('Zaposlenik', naziv), CONCAT(SUBSTR(fnaziv, 0, 1), SUBSTR(otch, 0, 1)), CONCAT('prihvaćeno', datum prihvaćanja)) FROM zaposlenika WHERE datum prihvata > datum_do ( '01.01.80′,'dd.mm.gggg');

Ovaj upit će vratiti podatke o zaposlenicima koji su zaposleni u određenom vremenskom razdoblju. Iako je struktura upita drugačija, izvođenje SQL naredbi u ovim sustavima je slično, osim manjih detalja.

Korištenje SQL-a na Internetu

S dolaskom svjetska mreža, odnosno Interneta, širi se opseg uporabe SQL jezika. Kao što znate, na mreži se pohranjuje mnogo informacija, ali nisu locirane nasumično, već se postavljaju na stranice i poslužitelje prema određenim kriterijima.

Baze podataka su izravno odgovorne za pohranjivanje informacija na internetu, kao i na drugim mjestima, a web stranice su sustavi upravljanja. U pravilu, stranice i njihove programski kod Organizirano od različiti jezici programiranja, ali baze podataka temelje se na jednoj od varijanti SQL-a, odnosno jeziku za izradu baze podataka, orijentiranom na MySQL web sučelja.

Sintaksa i osnovni skup naredbi ovog jezika u potpunosti kopiraju poznati SQL, ali uz neke svoje dodatke, koji ga čine drugačijim od Microsoft tSQL Servera.

SQL naredbe potpuno su slične ne samo u sintaksi, već iu standardnom skupu funkcijskih riječi. Jedina razlika je u pozivu i strukturi zahtjeva. Na primjer, možete razmotriti zahtjev za stvaranje nove tablice; ovo je prva stvar koju djeca uče u školama informatike:

$link = mysqli_connect("localhost", "root", "", "tester");

if (!$link) die("Greška");

$query = "kreiraj korisnike tablice(

prijava VARCHAR(20),

lozinka VARCHAR(20)

if (mysqli_query($link, $query)) echo "Tablica je stvorena.";

elseecho "Tablica nije stvorena: ".mysqli_error();

mysqli_close($link);

Kao rezultat izvršenja takvog zahtjeva, možete dobiti novi stol“Korisnici”, koji će imati dva polja: prijavu i lozinku.

Sintaksa je modificirana za web, ali se temelji na MicrosoftSQLServer naredbama.

Izrada MicrosoftSQLServer upita

Odabir iz tablica određenog skupa podataka jedan je od glavnih zadataka SQL-a. Za takve operacije postoje odredbe odaberite naredbu u SQL-u. O tome će biti riječi u nastavku.

Pravila za konstruiranje naredbe su vrlo jednostavna, a sama select naredba u SQL-u konstruirana je na sljedeći način. Na primjer, postoji tablica koja sadrži podatke o zaposleniku, koja npr. ima naziv Osoba. Postavimo zadatak da iz tablice odaberete podatke o zaposlenicima čiji je datum rođenja u intervalu od 1. siječnja do uključivo 1. ožujka tekuće godine. Za takav uzorak potrebno je izvesti SQL naredba, u kojem će postojati ne samo standardni dizajn, već i uvjet odabira:

Odaberite * iz Osobe

Gdje je P_BerthDay >= '01/01/2016' i P_BerthDay<= ‘03/01/2016’

Izvođenje takve naredbe vratit će sve podatke o zaposlenicima čiji je rođendan u razdoblju koje ste naveli. Ponekad zadatak može biti prikazati samo prezime, ime i patronim zaposlenika. Da biste to učinili, morate konstruirati zahtjev malo drugačije, na primjer, na ovaj način:

SelectP_Name - ime

P_SurName - prezime

P_Patronimic - patronim

Gdje je P_BerthDay >= '01/01/2016' i P_BerthDay<= ‘03/01/2016’

Međutim, ovo je samo izbor nečega. Ona, u biti, ne utječe ni na što, već samo daje informaciju. Ali ako odlučite ozbiljno shvatiti SQL jezik, morat ćete naučiti kako mijenjati baze podataka, jer je njihova izgradnja bez toga jednostavno nemoguća. Kako se to radi, bit će riječi u nastavku.

Osnovne SQL naredbe za promjenu podataka

Sintaksa jezika nije izgrađena samo za izvršavanje upita, već i za manipuliranje podacima. Glavni zadatak programera baza podataka je pisanje skripti za odabire i izvješća, ali ponekad je potrebno unijeti izmjene u tablice. Popis SQL naredbi za takve akcije je mali i sastoji se od tri glavne naredbe:

    Umetnuti (prijev. Umetnuti).

    Ažurirati (prijev. Ažurirati).

    Izbrisati (prijev. Izbrisati).

Svrha ovih naredbi je lako odrediti, sve što trebate učiniti je prevesti njihov naziv. Ove naredbe su jednostavne za korištenje i imaju jednostavnu strukturu, ali vrijedi spomenuti da neke od njih, ako se koriste pogrešno, mogu uzrokovati nepopravljivu štetu bazi podataka.

U pravilu, prije korištenja takvih MSSQL naredbi morate dobro razmisliti i uzeti u obzir sve moguće posljedice njihovog izvršenja.

Nakon što ste naučili ove naredbe, možete u potpunosti početi raditi s tablicama baze podataka, mijenjajući je i uvodeći neke nove varijable ili brišući stare.

Umetni naredbu

Za umetanje podataka u tablicu najsigurnija naredba je Insert. Pogrešno unesene podatke uvijek je moguće obrisati i ponovno unijeti u bazu.

Naredba Insert namijenjena je za umetanje novih podataka u tablicu i omogućuje dodavanje kompletnog skupa i selektivno.

Na primjer, razmotrite naredbu umetanja u prethodno opisanu tablicu osoba. Da biste unijeli podatke u tablicu, morate pokrenuti SQL naredbu koja će vam omogućiti da unesete sve podatke u tablicu ili da je popunite selektivno.

Umetnuti u osobu

Odaberite 'Grigoriev','Vitaly','Petrovich','01/01/1988'

Naredbe ove vrste automatski ispunjavaju sve ćelije tablice navedenim podacima. Postoje situacije kada zaposlenik nema srednje ime, recimo, došao je raditi iz Njemačke kao student na razmjeni. U tom slučaju morate izvršiti naredbu za umetanje podataka, koja će unijeti u tablicu samo ono što je potrebno. Sintaksa takve naredbe bit će sljedeća:

Insertintoperson(P_Name, P_Prezime,P_BerthDay)

Vrijednosti ('David', 'Hook', '02/11/1986')

Takva naredba ispunit će samo navedene ćelije, a sve ostale će imati vrijednost null.

Naredba za promjenu podataka

Za promjenu podataka i cijelog retka i nekih ćelija, koristite naredbu Update SQL. Takvu naredbu morate izvršiti samo uz određeni uvjet, naime, naznačite točno koji redak brojem trebate izvršiti promjene.

Naredba Update SQL ima jednostavnu sintaksu. Za ispravnu upotrebu morate naznačiti koje podatke treba promijeniti u kojem stupcu iu kojem zapisu. Zatim izradite skriptu i izvršite je. Pogledajmo primjer. Moramo promijeniti datum rođenja Davida Hookea, koji je naveden pod brojem 5 u tablici zaposlenika.

Postavite P_BerthDay = '02/10/1986' gdje je P_ID = 5

Uvjet (u ovoj skripti) neće dopustiti promjenu datuma rođenja u svim zapisima tablice, već će ažurirati samo one potrebne.

Upravo ovu naredbu programeri najčešće koriste, jer vam omogućuje promjenu podataka u tablici bez nanošenja značajne štete svim informacijama.

Naredbe za korištenje ugrađenih procedura i funkcija

Koristeći SQL jezik, možete ne samo graditi upite, već i stvarati ugrađene mehanizme za rad s podacima. U pravilu, postoje slučajevi kada morate koristiti odabir koji je ranije napisan u tijelu jednog zahtjeva.

Ako sudite logično, onda trebate kopirati tekst odabira i zalijepiti ga na pravo mjesto, ali možete proći s jednostavnijim rješenjem. Razmotrimo primjer kada se na radnom sučelju prikazuje gumb za ispis izvješća, recimo u Excelu. Ova operacija će se izvršiti prema potrebi. U takve svrhe koriste se ugrađene pohranjene procedure. Naredbe su u ovom slučaju zatvorene u proceduru i pozivaju se pomoću naredbe SQLExec.

Pretpostavimo da je kreirana procedura za prikaz datuma rođenja zaposlenika iz prethodno opisane tablice Osoba. U tom slučaju nema potrebe pisati cijeli zahtjev. Za dobivanje potrebnih informacija jednostavno izvršite naredbu Exec [ime procedure] i proslijedite parametre potrebne za uzorkovanje. Kao primjer možemo razmotriti mehanizam za stvaranje postupka ove prirode:

CREATEPROCEDUREPrintPerson

@DBsmalldatetime

@DE mali datumvrijeme

SELECT * iz Osobe

FROM HumanResources.vEmployeeDepartmentHistory

WHERE P_BerthDay >= @DB i P_BerthDay<= @DE

ANDEndDateISNULL;

Ovaj postupak će vratiti sve informacije o zaposlenicima čiji će rođendan biti u određenom vremenskom razdoblju.

Organizacija integriteta podataka. Okidači

Neke MS SQL naredbe, moglo bi se čak reći i konstrukcije, omogućuju ne samo organiziranje manipulacija podacima, već i osiguranje njihove cjelovitosti. U takve svrhe, jezik sadrži sistemske konstrukcije koje je kreirao sam programer. To su takozvani okidači koji mogu osigurati kontrolu podataka.

U ovom slučaju, standardne SQL naredbe upita koriste se za organizaciju provjere uvjeta. U okidačima možete stvoriti puno uvjeta i ograničenja za rad s podacima, što će vam pomoći kontrolirati ne samo pristup informacijama, već i zabraniti brisanje, promjenu ili umetanje podataka.

Nema ograničenja za vrste SQL naredbi koje se mogu koristiti u okidaču. Pogledajmo primjer.

Ako opisujemo mehanizam za kreiranje okidača, tipovi SQL naredbi ovdje su isti kao kod kreiranja procedure. Sam algoritam bit će opisan u nastavku.

Prije svega, moramo opisati servisnu naredbu za kreiranje okidača:

Označavamo za koju operaciju podataka (u našem slučaju to je operacija izmjene podataka).

Sljedeći korak je određivanje tablica i varijabli:

deklarirati @ID int. @Datum smalldatetime @nID int. @nDatesmalldatetime

DEklarirajte kursor C1 za odabir P_ID, P_BerthDay iz Inserted

DEklarirajte kursor C2 za odabir P_ID, P_BerthDay iz obrisanog

Postavljamo korake odabira podataka. Nakon toga, u tijelu kursora ispisujemo stanje i reakciju na njega:

ako je @ID = @nID i @nDatum = "01/01/2016"

sMasseges "Operacija se ne može izvesti. Datum nije prikladan"

Vrijedno je spomenuti da se okidač ne može samo stvoriti, već i privremeno onemogućiti. Ovu manipulaciju može izvršiti samo programer izvršavanjem naredbi SQL SERVER:

altertablePERSONdisabletriggerall - da biste onemogućili sve okidače stvorene za ovu tablicu, i, sukladno tome, altertablePERSONenabletriggerall - da biste ih omogućili.

Ove osnovne SQL naredbe se najčešće koriste, ali njihove kombinacije mogu biti različite. SQL je vrlo fleksibilan programski jezik i pruža programeru maksimalne mogućnosti.

Zaključak

Iz svega navedenog možemo izvući jedini zaključak: poznavanje SQL jezika je jednostavno neophodno za one koji će se ozbiljno baviti programiranjem. Ona je temelj svih operacija koje se izvode na Internetu iu kućnim bazama podataka. Zato budući programer mora poznavati mnoge naredbe ovog jezika, budući da se samo pomoću njih može, da tako kažemo, komunicirati s računalom.

Naravno, postoje nedostaci, kao i u svemu na ovom svijetu, ali oni su toliko beznačajni da jednostavno blijede u usporedbi s prednostima. Među svim programskim jezicima, SQL je praktički jedini takve vrste, jer je univerzalan, a znanje pisanja skripti i kodova leži u osnovi gotovo svih stranica.

Glavna prednost SQL-a nedvojbeno se može smatrati njegovom jednostavnošću, jer je, na kraju krajeva, uključen u školski kurikulum. Čak se i programer početnik koji ne razumije jezike može nositi s tim.

Pristup DBMS-u

Microsoft Access je DBMS relacijskog tipa, koji razumno uravnotežuje sve alate i mogućnosti tipične za moderne sustave upravljanja bazama podataka. Relacijska baza podataka olakšava pronalaženje, analizu, održavanje i zaštitu podataka jer su pohranjeni na jednom mjestu. Access preveden s engleskog znači "pristup". MS Access je jedan od najmoćnijih, najfleksibilnijih i najjednostavnijih DBMS-ova. U njemu možete izraditi većinu aplikacija bez da napišete ijednu liniju programa, ali ako trebate izraditi nešto vrlo složeno, MS Access nudi moćan programski jezik - Visual Basic Application.

Popularnost Microsoft Access DBMS-a je posljedica sljedećih razloga:

Pristupačnost i jasnoća omogućuju Accessu da bude jedan od najboljih sustava za brzo kreiranje aplikacija za upravljanje bazom podataka;

Mogućnost korištenja OLE tehnologije;

Integracija s Microsoft Office paketom;

Puna podrška za web tehnologije;

Vizualna tehnologija omogućuje vam da stalno vidite rezultate svojih radnji i ispravljate ih;

Dostupnost velikog skupa "majstora" za razvijanje objekata.

Glavne vrste objekata s kojima program radi su: tablica, upit, obrazac, izvješće, stranica, makro, modul.

Tablica je objekt koji se koristi za pohranu podataka. Svaka tablica sadrži podatke o objektu određene vrste. Tablica sadrži polja (stupce) koja pohranjuju različite vrste podataka, te zapise (redove). Svaka tablica mora imati definiran primarni ključ (jedno polje koje ima jedinstvenu vrijednost za svaki zapis ili više polja čija je kombinirana vrijednost jedinstvena za svaki zapis), koji je jedinstveni identifikator za svaki zapis u tablici.

Za povećanje brzine pristupa podacima, pojedinačna polja tablice (ili skup njih) mogu se proglasiti indeksima. Indeks je alat koji ubrzava pretraživanje i sortiranje u tablici korištenjem ključnih vrijednosti kako bi se osigurala jedinstvenost redaka tablice. Primarni ključ tablice automatski se indeksira. Nije dopušteno kreirati indekse na poljima s nekim tipovima podataka.

Upit je objekt koji korisniku omogućuje dohvaćanje željenih podataka iz jedne ili više tablica. Upiti također mogu stvoriti nove tablice koristeći podatke iz jedne ili više tablica koje već postoje. Najčešća vrsta upita je upit za dohvaćanje. Upit odabira odabire podatke iz jedne ili više tablica na temelju navedenih uvjeta, a zatim ih prikazuje željenim redoslijedom.

Obrazac je objekt dizajniran prvenstveno za unos podataka, njihov prikaz na ekranu ili kontrolu rada aplikacije.

Izvješće je objekt dizajniran za stvaranje dokumenta koji se naknadno može ispisati ili uključiti u dokument u drugoj aplikaciji.

baza za programiranje vizualnog razvoja

Stranica - Koristi se za pristup podacima u trenutnoj Access bazi podataka.

Makro je objekt koji je strukturirani opis jedne ili više radnji koje bi Access trebao izvesti kao odgovor na određeni događaj.

Modul je objekt koji sadrži Microsoft Visual Basic programe koji vam omogućuju rastavljanje procesa na manje akcije i otkrivanje pogrešaka koje se ne mogu pronaći pomoću makronaredbi.

DBMS se pokreće iz Start - Programi - Microsoft Access. Izvršite naredbu File - New.

Unificirano je sučelje za rad s objektima baze podataka. Za svaki od njih osigurani su standardni načini rada: Stvori (stvaranje strukture objekta); Konstruktor (mijenjanje strukture objekata); Otvori (View, Run - dizajniran za rad s objektima baze podataka).

SQL upitni jezik

SQL (Structured Query Language) od 1986. je standardni jezik relacijske baze podataka. Konkretno, koristi se u aplikacijama Access i Excel.

SQL je informacijsko-logički jezik dizajniran za opisivanje pohranjenih podataka, dohvaćanje pohranjenih podataka i modificiranje podataka. U početku je SQL bio glavni način na koji je korisnik radio s bazom podataka i bio je mali skup naredbi (operatora) koji su omogućavali stvaranje tablica, dodavanje novih zapisa u tablice, dohvaćanje zapisa iz tablica, brisanje zapisa i promjenu strukture tablice. Kako je SQL postajao složeniji, postao je više programski jezik orijentiran na aplikacije, a korisnici sada mogu koristiti alate za izradu vizualnih upita.

SQL jezik je zbirka operatora:

Operatori jezika za definiranje podataka (DDL);

operatori za manipulaciju podacima (Data Manipulation Language, DML);

operatori definicije pristupa podacima (Data Control Language, DCL);

Transaction Control Language (TCL) operatori.

Upiti u MS Accessu spremaju se i implementiraju korištenjem SQL jezika. Iako se većina upita može kreirati grafički (upiti s uzorkom), oni se pohranjuju kao SQL naredbe. U nekim slučajevima (na primjer, u podupitima), možete koristiti samo SQL.

SQL je neproceduralni jezik. Jednostavno deklarira što treba učiniti, a izvršenje je prepušteno DBMS-u (sustav za upravljanje bazom podataka).

SQL koristi trovrijednu logiku. Zajedno s tradicionalnim Booleovim vrijednostima TRUE i FALSE, koristi se NULL (UNKNOWN ili NO DATA).

Operacije se izvode na cijelim skupovima podataka, a ne na pojedinačnim elementima, kao u drugim programskim jezicima.

SQL upit sastoji se od izjava. Svaka uputa može sadržavati nekoliko rečenica.