Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Lajme
  • Qëllimi i gjuhës SQL. Operatorët e manipulimit të të dhënave

Qëllimi i gjuhës SQL. Operatorët e manipulimit të të dhënave

Struktura Query Language (SQL) u krijua si rezultat i zhvillimit të modelit të të dhënave relacionale dhe tani është standardi de facto për sistemet e menaxhimit të bazës së të dhënave relacionale. Gjuha SQL mbështetet sot nga një numër i madh i llojeve të ndryshme të DBMS.

Emri i gjuhës SQL zakonisht shqiptohet me shkronjat "es-q-el". Emri mnemonik "See-Quel" përdoret ndonjëherë.

Gjuha SQL i ofron përdoruesit (me përpjekje minimale nga ana e tij) aftësitë e mëposhtme:

Krijoni baza të të dhënave dhe tabela me një përshkrim të plotë të strukturës së tyre

Kryeni operacionet bazë të manipulimit të të dhënave: futni, modifikoni, fshini të dhënat

Kryeni pyetje të thjeshta dhe komplekse.

SQL është relacionalisht i plotë.

Struktura dhe sintaksa e komandave të saj janë mjaft të thjeshta, dhe vetë gjuha është universale, domethënë sintaksa dhe struktura e komandave të saj nuk ndryshon kur lëviz nga një DBMS në tjetrën.

Gjuha SQL ka dy komponentë kryesorë:

Gjuha e përkufizimit të të dhënave (DDL) për përcaktimin e strukturave të bazës së të dhënave dhe kontrollin e aksesit të të dhënave

DML (Gjuha e Manipulimit të të Dhënave), e krijuar për të marrë dhe përditësuar të dhënat.

Gjuha SQL është jo-procedurale, d.m.th., kur e përdorni, është e nevojshme të tregoni se çfarë informacioni duhet të merret, dhe jo si mund të merret. Komandat SQL janë fjalë të zakonshme angleze (SELECT, INSERT, etj.). Le të shohim së pari deklaratat SQL DML:

SELECT - duke marrë të dhëna nga baza e të dhënave

INSERT - futja e të dhënave në një tabelë

UPDATE - përditësimi i të dhënave në një tabelë

DELETE - fshirja e të dhënave nga një tabelë

SELECT deklaratë

Deklarata SELECT kryen operacione ekuivalente me operacionet e mëposhtme të algjebrës relacionale: përzgjedh, projeksion dhe bashko.

Pyetja më e thjeshtë SQL duke e përdorur atë duket si kjo:

ZGJIDH col_name NGA tbl

Fjala kyçe "zgjidh" ndiqet nga një listë kolonash e ndarë me presje që do të kthehen nga pyetja. Fjala kyçe from specifikon se nga cila tabelë (ose pamje) të merren të dhënat.

Rezultati i një pyetjeje të përzgjedhur është gjithmonë një tabelë, e cila quhet tabela e rezultateve. Për më tepër, rezultatet e një pyetjeje të ekzekutuar me deklaratën select mund të përdoren për të krijuar një tabelë të re. Nëse rezultatet e dy pyetjeve kundrejt tabelave të ndryshme kanë të njëjtin format, ato mund të kombinohen në një tabelë. Gjithashtu, tabela e marrë si rezultat i pyetjes mund të bëhet objekt i pyetjeve të mëtejshme.

Për të zgjedhur të gjitha kolonat dhe të gjitha rreshtat e një tabele, thjesht bëni SELECT * FROM tbl;

Konsideroni tabelën e produkteve, e cila përmban informacione për çmimet për lloje të ndryshme produktesh:

Rezultati i pyetjes

ZGJIDH * NGA Produkti;

do të jetë e gjithë tabela e produktit.

Ju mund të zgjidhni kolona specifike të një tabele duke përdorur një pyetje

SELECT col1, col2, ..., coln FROM tbl;

Pra, rezultati i pyetjes

SELECT Lloji, Çmimi NGA Produkti;

do të ketë një tryezë

Lista e kolonave në deklaratën e përzgjedhjes përdoret gjithashtu kur është e nevojshme të ndryshoni renditjen e kolonave në tabelën që rezulton:

Për të zgjedhur vetëm ato rreshta të tabelës që plotësojnë kufizime të caktuara, përdoret një fjalë kyçe e veçantë, e ndjekur nga një kusht boolean. Nëse një rekord e plotëson këtë kusht, ai përfshihet në rezultat. Përndryshe, një hyrje e tillë hidhet poshtë.

Për shembull, zgjedhja e atyre mallrave nga tabela e produktit, çmimi i të cilave plotëson kushtin e Çmimit<3200, можно осуществить, используя запрос

ZGJEDHNI * NGA Produkti ku Çmimi<3200;

Rezultati i tij:

Kushti mund të jetë i përbërë dhe i kombinuar duke përdorur operatorët logjik NOT, AND, OR, XOR, për shembull: ku id_ Çmimi> 500 DHE Çmimi<3500. Допускается также использование выражений в условии: where Price>(1 + 1) dhe konstantet e vargut: ku emri = "autobalance".

Përdorimi i konstruksionit BETWEEN var1 AND var2 ju lejon të kontrolloni nëse vlerat e ndonjë shprehjeje bien brenda intervalit var1 deri në var2 (duke përfshirë këto vlera):

ZGJEDH * NGA produkti ku Çmimi MES 3000 DHE 3500;

Për analogji me operatorin NOT BETWEEN, ekziston operatori NOT IN.

Emrat e kolonave të specifikuara në klauzolën SELECT mund të riemërohen. Për këtë përdoret fjala kyçe AS, e cila, megjithatë, mund të hiqet, pasi nënkuptohet në mënyrë implicite. Për shembull, kërkesa

SELECT Lloji model AS, Type_id AS num FROM Produkt ku Type_id = 3

do të kthehet (emrat e pseudonimit duhet të shkruhen pa thonjëza):

Operatori LIKE është për krahasimin e një vargu me një model:

SELECT * NGA tbl ku col_name LIKE "abc"

Ky pyetës kthen vetëm ato rekorde që përmbajnë vlerën e vargut abc në kolonën col_name.

Lejohen dy shkronja të egra në model: "_" dhe "%". I pari zëvendëson një karakter arbitrar në shabllon, dhe i dyti zëvendëson një sekuencë karakteresh arbitrare. Pra, "abc%" përputhet me çdo varg që fillon me abc, "abc_" - një varg me 4 karaktere që fillon me abc, "% z" - një varg arbitrar që përfundon me z dhe në fund "% z%" - sekuenca karakteresh që përmbajnë z.

Ju mund t'i gjeni të gjitha regjistrimet e tabelës së produktit në të cilën vlera e tipit fillon me shkronjën "a" si më poshtë:

SELECT * NGA Produkti ku Shkruani LIKE "a%";

peshore auto

Nëse vargu i kërkimit përmban një karakter wildcard, atëherë duhet të specifikoni karakterin e kontrollit në klauzolën ESCAPE. Ky karakter kontrolli duhet të përdoret në model përpara karakterit të shkrepjes, duke treguar se ky i fundit duhet të trajtohet si një karakter i rregullt. Për shembull, nëse në një fushë të caktuar do të gjenden të gjitha vlerat që përmbajnë karakterin "_", atëherë modeli "% _%" do të rezultojë që të gjitha të dhënat nga tabela të kthehen. Në këtë rast, shablloni duhet të shkruhet si më poshtë:

"% | _%" IKË "|"

Për të kontrolluar vlerën për pajtueshmërinë me vargun "20%", mund të përdorni operatorin e mëposhtëm:

Pëlqej "20 #%" IKË "#"

Operatori IS NULL ju lejon të kontrolloni mungesën (prezencën) e vlerave NULL në fushat e tabelës. Përdorimi i operatorëve normalë të krahasimit në këto raste mund të çojë në rezultate të pasakta, pasi krahasimi me një vlerë NULL rezulton në PANJOHUR (i panjohur). Kështu, gjendja e përzgjedhjes duhet të duket si kjo:

ku emri_col_është NULL, në vend të ku emri_col = NULL.

Rezultati i përzgjedhjes së paracaktuar i kthen të dhënat në të njëjtin rend në të cilin ato ruhen në bazën e të dhënave. Nëse keni nevojë të renditni regjistrimet sipas njërës prej kolonave, duhet të përdorni klauzolën RENDI SIPAS, e ndjekur nga emri i kësaj kolone:

ZGJEDH * NGA tbl ORDER BY col_name;

Si rezultat i kësaj pyetjeje, të dhënat do të kthehen në rend rritës të vlerës së atributit col_name.

Të dhënat mund të renditen sipas disa kolonave. Për ta bërë këtë, emrat e tyre duhet të specifikohen pas ORDER BY, të ndarë me presje:

ZGJIDH * NGA tbl ORDER BY col_name1, col_name2.

Të dhënat do të renditen sipas fushës col_name1; nëse ka disa regjistrime me të njëjtën vlerë në kolonën col_name1, ato do të renditen sipas fushës col_name2.

Nëse dëshironi të renditni regjistrimet në rend të kundërt (për shembull, duke zbritur sipas datës), duhet të specifikoni RENDIT SIPAS emrit të kolonës DESC.

Për renditjen e drejtpërdrejtë, ekziston fjala kyçe ASC, e cila është e paracaktuar.

Nëse rezultati i përzgjedhjes përmban qindra ose mijëra regjistrime, prodhimi dhe përpunimi i tyre kërkon një kohë të konsiderueshme.

Prandaj, informacioni shpesh faqezohet dhe i paraqitet përdoruesit në copa. Navigimi i faqes përdoret me fjalën kyçe kufi, e ndjekur nga numri i regjistrimeve për t'u shfaqur. Pyetja e mëposhtme merr 10 rekordet e para, ndërsa njëkohësisht kryen një renditje të kundërt në fushën col_name1:

ZGJIDH * NGA tbl RENDI SIPAS col_emrit1 KUFIZIMI I DESC 10

Për të tërhequr 10 rekordet e ardhshme, fjala kyçe limit përdoret me dy vlera: e para tregon pozicionin nga i cili shfaqet rezultati dhe e dyta tregon numrin e rekordeve që duhen marrë:

ZGJIDH * NGA tbl RENDOSJE SIPAS col_name1 KUFIZI I ZBRITJES 10,10

Për të tërhequr 10 regjistrimet e ardhshme, duhet të përdorni konstruksionin LIMIT 20, 10.

Në këtë kapitull...

  • Çfarë është SQL
  • Keqkuptime SQL
  • Një vështrim në standardet e ndryshme SQL
  • Njohja me komandat standarde SQL dhe fjalët e rezervuara
  • Paraqitja e numrave, simboleve, datave, orëve dhe llojeve të tjera të të dhënave
  • Vlerat dhe kufizimet e papërcaktuara
  • Përdorimi i SQL në një sistem klient / server
  • SQL në ueb

SQLështë një gjuhë fleksibël që mund të përdoret në mënyra të ndryshme. Është mjeti më i zakonshëm që përdoret për të komunikuar me një bazë të dhënash relacionale. Në këtë kapitull, unë do të shpjegoj se çfarë është SQL dhe çfarë nuk është, në veçanti, se si SQL ndryshon nga llojet e tjera të gjuhëve kompjuterike. Më pas do të njiheni me komandat dhe llojet e të dhënave që suporton standardi SQL. Gjithashtu, unë do të shpjegoj konceptet bazë si vlera të papërcaktuara dhe kufizimet... Së fundi, do të ofrojë një përmbledhje të mënyrës se si SQL përshtatet në mjedisin e klientit/serverit, si dhe në internetin dhe intranetet e organizatave.

Çfarë është SQL dhe çfarë nuk është

Gjëja e parë për të kuptuar në lidhje me SQL është se nuk është procedurale si FORTRAN, Basic, C, COBOL, Pascal dhe Java. Për të zgjidhur një problem duke përdorur një nga këto gjuhë procedurale, duhet të shkruani një procedurë që kryen operacionet e specifikuara një nga një derisa të përfundojë detyra. Procedura mund të jetë një sekuencë lineare ose të përmbajë degë, por në secilin rast, programuesi specifikon rendin e ekzekutimit.

Me fjalë të tjera, SQL është joprocedurale gjuhe. Për ta përdorur atë për të zgjidhur problemin, tregoni SQL, cfare saktesisht ju duhet sikur po flisni me xhindin nga llamba e Aladinit. Dhe nuk keni pse të thoni si merrni atë që dëshironi për ju. Sistemi i menaxhimit të bazës së të dhënave (DBMS) do të vendosë mënyrën më të mirë për të përmbushur kërkesën tuaj.

Mirë. Thjesht thashë që SQL nuk është një gjuhë procedurale. Në thelb, kjo është e vërtetë. Megjithatë, miliona programues përreth (dhe ju mund të jeni një) janë mësuar t'i zgjidhin problemet në mënyrë procedurale, kështu që ka pasur shumë presion në vitet e fundit për të shtuar disa aftësi procedurale në SQL. Prandaj, versioni i ri i specifikimit SQL, SQL: 2003, tani përfshin veçori të gjuhës procedurale si blloqet BEGIN, kushtet IF, funksionet dhe procedurat. Me këto mjete të reja, është e mundur që programet të ruhen në një server në mënyrë që ato të ripërdoren nga shumë përdorues.

Për të ilustruar atë që doja të thoja kur thashë "tregoji sistemit saktësisht se çfarë ju nevojitet", supozoni se keni një tabelë PUNONJËSish me të dhënat e punonjësve dhe dëshironi të zgjidhni të gjitha rreshtat prej saj që përputhen me të gjithë punonjësit "të vjetër". Me punëtorë "të vjetër", mund të nënkuptojmë këdo mbi 40 vjeç ose që fiton më shumë se 60,000 dollarë në vit. Zgjedhja që ju nevojitet mund të bëhet duke përdorur pyetjen e mëposhtme:

ZGJEDH * NGA PUNONJËSI KU MOSHA> 40 OSE PAGË> 60000;

Kjo deklaratë zgjedh nga tabela EMPLOYEE të gjitha rreshtat në të cilat ose kolona AGE (mosha) është më e madhe se 40 ose vlera në kolonën SALARY (paga) është më e madhe se 60 000. SQL vetë di të zgjedhë informacionin. Motori i bazës së të dhënave kontrollon bazën e të dhënave dhe vendos vetë se si të ekzekutojë pyetjen. E tëra çfarë ju duhet të bëni është të tregoni se cilat të dhëna ju nevojiten.

Mbani mend:
Një pyetje është një pyetje që ju bëni në bazën e të dhënave. Nëse ndonjë nga të dhënat e tij i plotëson kushtet e pyetjes suaj, atëherë SQL i transferon ato tek ju
.

Implementimeve moderne SQL u mungojnë shumë nga konstruktet e thjeshta programuese që janë themelore për shumicën e gjuhëve të tjera. Në aplikimet e jetës së përditshme, si rregull, kërkohen të paktën disa nga këto konstruksione, kështu që SQL është me të vërtetë nëngjuhë të dhëna. Edhe me shtesat që u shfaqën në SQL së bashku me standardin SQL: 1999 dhe shtesat shtesë të shtuara në SQL: 2003, ju duhet të përdorni një nga gjuhët e programimit së bashku me SQL për të krijuar një aplikacion të plotë, siç është C.

Ju mund të zgjidhni informacionin nga baza e të dhënave në një nga mënyrat e mëposhtme.

  • Duke përdorur një pyetje të paprogramueshme një herë nga tastiera e kompjuterit, duke futur një komandë SQL dhe duke lexuar rezultatet e ekzekutimit të saj në ekran. Console është një term tradicional për harduerin kompjuterik që kryen punën e tastierës dhe ekranit që gjendet në kompjuterët modernë. Pyetjet e konsolës janë të dobishme kur keni nevojë për një përgjigje të shpejtë për një pyetje specifike. Për të kënaqur çdo nevojë aktuale, mund t'ju nevojiten të dhëna nga baza e të dhënave që nuk ju nevojiten kurrë më parë. Mund të mos keni më kurrë nevojë për to, por tani keni nevojë për to. Futni pyetjen e duhur SQL nga tastiera dhe pas një kohe rezultati do të shfaqet në ekranin tuaj.
  • Me ndihmën e një programi që nxjerr informacion nga një bazë të dhënash, dhe më pas krijon një raport bazuar në këto të dhëna, i cili shfaqet ose në ekran ose në shtyp. Gjuha SQL mund të përdoret kështu. Ju mund të vendosni një pyetje komplekse SQL që mund të jetë e dobishme në të ardhmen në programin tuaj. Kjo ju lejon ta ripërdorni atë në të ardhmen. Kështu, formulimi i kërkesës kryhet një herë. Kapitulli 15 mbulon mënyrën e futjes së kodit SQL në programet e shkruara në një gjuhë tjetër.

Gjuha e strukturuar e pyetjeve ose SQLështë një gjuhë programimi deklarative për përdorim në bazat e të dhënave pothuajse relacionale. Shumë nga veçoritë origjinale të SQL janë marrë për llogaritjen e dyfishtë, por zgjerimet e fundit në SQL përfshijnë gjithnjë e më shumë algjebër relacionale.
SQL u krijua fillimisht nga IBM, por shumë shitës kanë zhvilluar dialektet e tyre. Ai u miratua si standard nga Instituti Kombëtar i Standardeve Amerikane (ANSI) në 1986 dhe ISO në 1987. Në standardin e gjuhës së programimit SQL, ANSI ka deklaruar se shqiptimi zyrtar i SQL është "es que el". Megjithatë, shumë në bazën e të dhënave përdorën shqiptimin zhargon të Sequel, i cili pasqyron emrin origjinal të gjuhës, Sequel, i cili më vonë u ndryshua për shkak të një konflikti të markës dhe emrit midis IBM. Programimi për fillestarët.
Gjuha e programimit SQL u rishikua në 1992 dhe ky version njihet si SQL-92 in. Pastaj 1999 u rishikua përsëri për t'u bërë SQL: 1999 (AKA SQL3). Programimi për Dummies. SQL 1999 mbështet objekte që nuk mbështeteshin më parë në versione të tjera, por deri në fund të vitit 2001, vetëm disa sisteme të menaxhimit të bazës së të dhënave mbështetën implementimet SQL: 1999.
SQL, megjithëse përkufizohet si ANSI dhe ISO, ka shumë variacione dhe zgjerime, shumica e të cilave kanë karakteristikat e tyre, si zbatimi PL / SQL i Oracle Corporation ose zbatimi Transact-SQL i Sybase dhe Microsoft, të cilat mund të ngatërrojnë bazat e programimit. Gjithashtu, nuk është e pazakontë që implementimet komerciale të lënë pas dore mbështetjen për veçoritë kryesore të standardit, të tilla lloje të dhënash si data dhe ora, duke preferuar versionin e tyre. Si rezultat, ndryshe nga ANSI C ose ANSI Fortran, të cilat zakonisht mund të barten nga platforma në platformë pa ndryshime të mëdha strukturore, pyetjet SQL rrallë mund të transferohen midis sistemeve të ndryshme të bazës së të dhënave pa modifikime të mëdha. Shumica e njerëzve në fushën e bazës së të dhënave besojnë se kjo mungesë përputhshmërie është e qëllimshme për t'i siguruar secilit zhvillues sistemin e tyre të menaxhimit të bazës së të dhënave dhe për të lidhur klientin me një bazë të dhënash specifike.
Siç sugjeron emri, gjuha e programimit SQL është krijuar për një qëllim specifik, të kufizuar - kërkimin e të dhënave të përfshira në një bazë të dhënash relacionale. Si i tillë, është një grup udhëzimesh të gjuhës programuese për krijimin e mostrave të të dhënave, në vend të një gjuhe procedurale si C ose BASIC, të cilat janë krijuar për të zgjidhur një gamë shumë më të gjerë problemesh. Shtesat gjuhësore si "PL / SQL" janë krijuar për të adresuar këtë kufizim duke shtuar elemente procedurale për SQL duke ruajtur përfitimet e SQL. Një qasje tjetër është që të lejohen pyetjet SQL për të futur komandat procedurale të gjuhës programuese dhe për të ndërvepruar me bazën e të dhënave. Për shembull, Oracle dhe të tjerët mbështesin gjuhën Java në një bazë të dhënash, ndërsa PostgreSQL ju lejon të shkruani funksione në Perl, Tcl ose C.
Një shaka për SQL: "SQL nuk është as e strukturuar dhe as një gjuhë." Shakaja është se SQL nuk është një gjuhë Turing. ...

Zgjidhni * nga T
C1 C2
1 a
2 b
C1 C2
1 a
2 b
Zgjidhni C1 nga T
C1
1
2
C1 C2
1 a
2 b
Zgjidhni * nga T ku C1 = 1
C1 C2
1 a

Duke pasur parasysh një tabelë T, pyetja Select * nga T do të shfaqë të gjithë elementët e të gjitha rreshtave në tabelë.
Nga e njëjta tabelë, pyetja Select C1 nga T do të shfaqë artikujt nga kolona C1 të të gjitha rreshtave në tabelë.
Nga e njëjta tabelë, pyetja Select * nga T ku C1 = 1 do të shfaqë të gjithë elementët e të gjitha rreshtave ku vlera e kolonës C1 është "1".

fjalë kyçe SQL

Fjalët SQL ndahen në një numër grupesh.

E para është Gjuha e manipulimit të të dhënave ose DML(gjuha e menaxhimit të të dhënave). DML është një nëngrup i gjuhës që përdoret për të kërkuar bazat e të dhënave, për të shtuar, përditësuar dhe fshirë të dhënat.

  • SELECT është një nga komandat DML më të përdorura dhe i lejon përdoruesit të specifikojë një pyetje si një përshkrim grup i rezultatit të dëshiruar. Pyetja nuk specifikon se si duhet të vendosen rezultatet - përkthimi i pyetjes në një formë që mund të ekzekutohet në bazën e të dhënave është punë e sistemit të bazës së të dhënave, më konkretisht optimizuesit të pyetjeve.
  • INSERT përdoret për të shtuar rreshta (grup formal) në një tabelë ekzistuese.
  • UPDATE përdoret për të ndryshuar vlerat e të dhënave në një rresht ekzistues në një tabelë.
  • FSHI përcaktimin e rreshtave ekzistues që do të fshihen nga tabela.

Tre fjalë kyçe të tjera mund të thuhet se hyjnë në grupin DML:

  • FILLO PUNË (ose FILLO TRANSAKSIONIN, në varësi të dialektit të SQL) mund të përdoret për të shënuar fillimin e një transaksioni të bazës së të dhënave që ose do të përfundojë të gjitha ose nuk do të përfundojë fare.
  • COMMIT përcakton që të gjitha të dhënat ndryshojnë pasi të ruhen operacionet.
  • ROLLBACK specifikon që të gjitha ndryshimet e të dhënave që nga kryerja ose kthimi i fundit duhet të shkatërrohen, deri në pikën që u angazhua në bazën e të dhënave si një "kthim mbrapa".

COMMIT dhe ROLLBACK përdoren në fusha të tilla si kontrolli i transaksioneve dhe bllokimi. Të dy udhëzimet përfundojnë të gjitha transaksionet aktuale (grupe operacionesh në bazën e të dhënave) dhe lëshojnë të gjitha bllokimet për ndryshimin e të dhënave në tabela. Prania ose mungesa e BEGIN WORK ose e një deklarate të ngjashme varet nga zbatimi specifik i SQL.

Grupi i dytë i fjalëve kyçe i përket grupit Gjuha e përkufizimit të të dhënave ose DDL (Gjuha e përkufizimit të të dhënave). DDL lejon përdoruesin të përcaktojë tabela të reja dhe artikuj të lidhur. Shumica e bazave të të dhënave komerciale SQL kanë zgjerimet e tyre DDL që lejojnë kontrollin mbi elementet jo standarde, por zakonisht jetike të një sistemi të caktuar.
Pikat kryesore të DDL janë krijimi dhe fshirja e komandave.

  • CREATE përcakton objektet (siç janë tabelat) që do të krijohen në bazën e të dhënave.
  • DROP përcakton se cilat objekte ekzistuese në bazën e të dhënave do të hiqen, zakonisht përgjithmonë.
  • Disa sisteme të bazës së të dhënave mbështesin gjithashtu komandën ALTER, e cila i lejon përdoruesit të modifikojë një objekt ekzistues në mënyra të ndryshme - për shembull, duke shtuar kolona në një tabelë ekzistuese.

Grupi i tretë i fjalëve kyçe SQL është Gjuha e kontrollit të të dhënave ose DCL (Gjuha e kontrollit të të dhënave). DCLështë përgjegjës për të drejtat e aksesit të të dhënave dhe lejon përdoruesin të kontrollojë se kush ka akses për të parë ose manipuluar të dhënat në bazën e të dhënave. Këtu janë dy fjalë kyçe kryesore:

  • GRANT - Lejon përdoruesin të kryejë operacione
  • REVOKE - heq ose kufizon aftësinë e përdoruesit për të kryer operacione.

Sistemet e bazës së të dhënave duke përdorur SQL

  • NdërBazë
  • MySQL
  • Orakulli
  • PostgreSQL
  • SQL Server

Si të bëheni profesionist në zhvillimin e faqeve të internetit dhe të filloni të fitoni para? Kurse video të lira me një hyrje hyrëse.

GJUHA SQL: MANIPULIMI I TË DHËNAVE

NË KËTË LEKTORË...

· Qëllimi i Strukturës Query Language (SQL) dhe roli i saj i veçantë në punën me bazat e të dhënave.

· Historia e shfaqjes dhe zhvillimit të gjuhës SQL.

· Shkrimi i deklaratave SQL.

· Marrja e informacionit nga bazat e të dhënave duke përdorur deklaratën SELECT.

· Ndërtimi i deklaratave SQL, i karakterizuar nga karakteristikat e mëposhtme:

· Përdorimi i klauzolës WHERE për të zgjedhur rreshtat që plotësojnë kushte të ndryshme;

· Renditja e rezultateve të ekzekutimit të pyetjes duke përdorur ndërtimin RENDI SIPAS;

· Përdorimi i funksioneve agreguese të gjuhës SQL;

· Grupimi i të dhënave të përzgjedhura duke përdorur klauzolën GROUP BY;

· Aplikimi i nënpyetjeve;

· Përdorimi i bashkimeve të tavolinave;

· Zbatimi i operacioneve me grupe (UNION, INTERSECT, EXCEPT).

· Bërja e ndryshimeve në bazën e të dhënave duke përdorur deklaratat INSERT, UPDATE dhe DELETE.

Një nga gjuhët që u shfaq si rezultat i zhvillimit të modelit të të dhënave relacionale është SQL, e cila tani është shumë e përhapur dhe në fakt është bërë gjuha standarde për bazat e të dhënave relacionale. Standardi SQL u lëshua nga Instituti Kombëtar i Standardeve të SHBA (ANSI) në 1986, dhe në 1987 Organizata Ndërkombëtare për Standardizim (ISO) e miratoi këtë standard si një standard ndërkombëtar. SQL aktualisht mbështetet nga qindra lloje të ndryshme të sistemeve të menaxhimit të bazës së të dhënave, të dizajnuara për një shumëllojshmëri të gjerë platformash kompjuterike, nga kompjuterët personalë deri te kompjuterët kryesorë.

Ky kapitull përdor përkufizimin ISO të SQL.

Hyrje në gjuhën SQL

Në këtë pjesë, ne do të shikojmë qëllimin e gjuhës SQL, do të eksplorojmë historinë e saj dhe do të analizojmë arsyet pse ajo tani është kaq e rëndësishme për aplikacionet e bazës së të dhënave.

Qëllimi i gjuhës SQL

Çdo gjuhë e krijuar për të punuar me bazat e të dhënave duhet t'i sigurojë përdoruesit aftësitë e mëposhtme:

· Krijoni baza të të dhënave dhe tabela me një përshkrim të plotë të strukturës së tyre;



· Kryen operacione bazë të manipulimit të të dhënave, të tilla si futja, modifikimi dhe fshirja e të dhënave nga tabelat;

· Ekzekutoni pyetje të thjeshta dhe komplekse.

Për më tepër, gjuha për të punuar me bazat e të dhënave duhet të zgjidhë të gjitha detyrat e mësipërme me përpjekje minimale nga ana e përdoruesit, dhe struktura dhe sintaksa e komandave të saj duhet të jetë mjaft e thjeshtë dhe e arritshme për të mësuar.

Dhe së fundi, gjuha duhet të jetë universale, d.m.th. plotësoni disa standarde të njohura, të cilat do t'ju lejojnë të përdorni të njëjtën strukturë sintakse dhe komanduese kur lëvizni nga një DBMS në tjetrën. Standardi modern i gjuhës SQL plotëson pothuajse të gjitha këto kërkesa.

SQL është një shembull i një gjuhe të transformimit të të dhënave, ose një gjuhë e krijuar për të punuar me tabela në mënyrë që të transformojë të dhënat hyrëse në formën e dëshiruar të daljes. Gjuha SQL, e cila përcaktohet nga standardi ISO, ka dy komponentë kryesorë:

· Gjuha e përkufizimit të të dhënave (DDL), e krijuar për të përcaktuar strukturat e bazës së të dhënave dhe për të kontrolluar aksesin në të dhëna;

· Gjuha e manipulimit të të dhënave (DML), e krijuar për të marrë dhe përditësuar të dhënat.

Përpara standardit SQL3, SQL përfshinte vetëm komanda për përcaktimin dhe manipulimin e të dhënave; i mungonte ndonjë urdhër për të kontrolluar rrjedhën e llogaritjeve. Me fjalë të tjera, në këtë gjuhë nuk kishte NËSE ... PASTAJ ... TJETËR, SHKO TE, BËJ ... WHILE, ose ndonjë udhëzim tjetër të krijuar për të kontrolluar rrjedhën e procesit llogaritës. Detyra të tilla duhej të zgjidheshin në mënyrë programore, duke përdorur gjuhë programimi ose kontroll detyrash, ose në mënyrë interaktive, si rezultat i veprimeve të kryera nga vetë përdoruesi. Për shkak të një paplotësie të tillë, nga pikëpamja e organizimit të procesit llogaritës, gjuha SQL mund të përdoret në dy mënyra. E para ishte për punë interaktive, ku përdoruesi futte deklarata individuale SQL nga terminali. E dyta ishte injektimi i deklaratave SQL në programet gjuhësore procedurale.

Përparësitë e gjuhës SQL3, përkufizimi zyrtar i së cilës u miratua në 1999:

· Gjuha SQL është relativisht e lehtë për t'u mësuar.

· Është një gjuhë jo-procedurale, prandaj duhet të tregojë se çfarë informacioni duhet të merret, jo si mund të merret. Me fjalë të tjera, SQL nuk kërkon specifikimin e metodave të aksesit të të dhënave.

· Si shumica e gjuhëve moderne, SQL mbështet një format operatori të rrjedhshëm. Kjo do të thotë që kur futni, elementët individual të operatorit nuk janë të lidhur me artikujt fiks në ekran.

· Struktura e komandave vendoset nga një grup fjalësh kyçe që janë fjalë të zakonshme angleze, si për shembull CREATE TABLE -Create a table, INSERT - Insert, SELECT -Select.

Për shembull:

KRIJO TABELA [Shitjet] ((S), [Emri i objektit] VARCHAR (15), [Kostoja] DECIMAL (7,2));

INSERT INTO [Object] VALUES ("SG16", "Brown", 8300);

SELECT, [Emri i objektit], [Kosto];

NGA [Shitjet]

KU [Kosto]> 10000;

· Gjuha SQL mund të përdoret nga një gamë e gjerë përdoruesish, duke përfshirë administratorët e bazës së të dhënave (DBA), menaxhimin e kompanive, programuesit e aplikacioneve dhe shumë përdorues të tjerë fundorë të kategorive të ndryshme.

Aktualisht, ekzistojnë standarde ndërkombëtare për gjuhën SQL që e përcaktojnë atë zyrtarisht si gjuhë standarde për krijimin dhe manipulimin e bazave të të dhënave relacionale, siç është në të vërtetë.

Historia e gjuhës SQL

Historia e modelit të të dhënave relacionale, dhe indirekt e gjuhës SQL, filloi në vitin 1970 me botimin e një punimi themelor nga EF Codd, i cili ishte në atë kohë në Laboratorin Kërkimor IBM San Jose. Në vitin 1974, D. Chamberlain, i cili punonte në të njëjtin laborator, botoi një përkufizim të një gjuhe të quajtur "Gjuha e strukturuar e pyetjeve angleze", ose SEQUEL. Në vitin 1976, doli një version i rishikuar i kësaj gjuhe, SEQUEL / 2; më vonë emri i saj duhej të ndryshohej në SQL për arsye ligjore - shkurtesa SEQUEL ishte përdorur tashmë nga filologët. Por edhe sot e kësaj dite, shumë njerëz ende e shqiptojnë akronimin SQL si "vazhdim", megjithëse zyrtarisht rekomandohet ta lexoni atë si "es-kyu-el".

Në vitin 1976, bazuar në gjuhën SEQUEL / 2, IBM Corporation lëshoi ​​​​një prototip DBMS të quajtur "System R". Qëllimi i kësaj prove ishte të testonte fizibilitetin e zbatimit të modelit relacional. Ndër aspektet e tjera pozitive, më e rëndësishmja e rezultateve të këtij projekti mund të konsiderohet zhvillimi i vetë gjuhës SQL. Megjithatë, rrënjët e kësaj gjuhe kthehen në gjuhën SQUARE (Specifying Queries as Rational Expressions), e cila ishte paraardhësi. të projektit System R. Gjuha SQUARE u zhvillua si një mjet kërkimor për zbatimin e algjebrës relacionale përmes frazave të shkruara në anglisht.

Në fund të viteve 1970, Oracle u lëshua nga ajo që tani quhet Oracle Corporation. Ndoshta ky është i pari nga zbatimet komerciale të një DBMS relacionale të ndërtuar mbi përdorimin e gjuhës SQL.

Pak më vonë u shfaq INGRES DBMS, i cili përdorte gjuhën e pyetjeve QUEL.

Kjo gjuhë ishte më e strukturuar se SQL, por semantika e saj ishte më pak e ngjashme me atë të anglishtes së rregullt. Më vonë, kur SQL u miratua si gjuhë standarde e bazës së të dhënave relacionale, INGRES u përkthye plotësisht në përdorimin e saj. Në 1981, IBM lëshoi ​​​​sistemin e parë të menaxhimit të bazës së të dhënave relacionale komerciale të quajtur SQL / DS (për DOS / VSE). Në 1982, një version i këtij sistemi u lëshua për mjedisin VM / CMS, dhe në 1983 - për mjedisin MVS, por me emrin DB2.

Në vitin 1982, Instituti Kombëtar i Standardeve të Shteteve të Bashkuara (ANSI) filloi punën në gjuhën e bazës së të dhënave të marrëdhënieve (RDL) bazuar në dokumentet konceptuale nga IBM. Në vitin 1983, Organizata Ndërkombëtare për Standardizim (ISO) iu bashkua kësaj pune. Përpjekjet e përbashkëta të të dyja organizatave arritën kulmin me lëshimin e standardit të gjuhës SQL. Emri RDL u hoq në 1984 dhe gjuha e draftit u ridizajnua për të përafruar implementimet ekzistuese SQL.

Versioni origjinal i standardit, i cili u lëshua nga ISO në 1987, ka marrë shumë kritika. Në veçanti, Date, një studiues i njohur në këtë fushë, vuri në dukje se standardi i hoqi funksionet kritike, duke përfshirë integritetin referencial dhe disa operatorë relacionalë.

Përveç kësaj, ai vuri në dukje tepricën e tepruar të gjuhës - një dhe e njëjta kërkesë mund të shkruhet në disa versione të ndryshme. Shumica e kritikave rezultuan të vlefshme dhe u bënë rregullimet e nevojshme ndaj standardit edhe para se të publikohej. Megjithatë, u vendos që ishte më e rëndësishme të lëshohej standardi sa më shpejt që të ishte e mundur, në mënyrë që ai të mund të vepronte si një bazë e përbashkët mbi të cilën vetë gjuha dhe zbatimet e saj mund të zhvillohen më tej sesa pritja për të gjitha funksionet që ekspertë të ndryshëm konsiderojnë se të jenë të detyrueshme përcaktohen dhe bien dakord.për një gjuhë të ngjashme.

Në 1989, ISO publikoi një shtesë të standardit që përcakton funksionet e integritetit të të dhënave. Në vitin 1992, u lëshua rishikimi i parë i madh i standardit ISO, i referuar ndonjëherë si SQL2 ose SQL-92. Megjithëse disa nga funksionet u përcaktuan për herë të parë në këtë standard, shumë prej tyre tashmë janë implementuar plotësisht ose pjesërisht në një ose më shumë zbatime komerciale të gjuhës SQL.

Dhe versioni tjetër i standardit, i cili zakonisht quhet SQL3, u lëshua vetëm në 1999. Ky version përmban mbështetje shtesë për funksionet e menaxhimit të të dhënave të orientuara nga objekti.

Funksionet që i shtohen standardit gjuhësor nga zhvilluesit e implementimeve komerciale quhen zgjerime. Për shembull, standardi i gjuhës SQL përcakton gjashtë lloje të ndryshme të dhënash që mund të ruhen në bazat e të dhënave. Në shumë zbatime, kjo listë plotësohet nga shtesa të ndryshme. Secila prej zbatimeve gjuhësore quhet dialekt. Nuk ka dy dialekte krejtësisht identike, pasi aktualisht nuk ka asnjë dialekt që përputhet plotësisht me standardin ISO.

Për më tepër, ndërsa zhvilluesit e bazës së të dhënave prezantojnë funksione të reja në sisteme, ata vazhdimisht zgjerojnë dialektet e tyre SQL, me rezultat që dialektet individuale bëhen gjithnjë e më shumë të ndryshme nga njëra-tjetra. Megjithatë, thelbi i gjuhës SQL mbetet pak a shumë i standardizuar në të gjitha implementimet.

Megjithëse konceptet origjinale të SQL u zhvilluan nga IBM, rëndësia e tij shpejt i shtyu zhvilluesit e tjerë të krijonin implementimet e tyre. Aktualisht, ka qindra produkte të disponueshme në treg bazuar në përdorimin e gjuhës SQL dhe vazhdimisht dëgjojmë për lëshimin e gjithnjë e më shumë versioneve të reja,

Funksionaliteti i gjuhës SQL

Funksionaliteti bazë i gjuhës SQL tregohet më poshtë.

Përkufizimi i të dhënave. Ky funksion SQL është një përshkrim i strukturës së të dhënave të mbështetura dhe organizimit të marrëdhënieve relacionale (tabelave). Për ta zbatuar atë, synohen operatorët për krijimin e një baze të dhënash, krijimin e tabelave dhe aksesin e të dhënave.

Krijimi i bazës së të dhënave... Deklarata CREATE DATABASE përdoret për të krijuar një bazë të dhënash të re. Emri i bazës së të dhënave që do të krijohet tregohet në strukturën e operatorit.

Krijimi i tabelave. Tabela bazë krijohet duke përdorur deklaratën CREATE TABLE. Ky operator specifikon emrat e fushave, llojet e të dhënave për to, gjatësinë (për disa lloje të dhënash). Llojet e mëposhtme të të dhënave përdoren në SQL:

INTEGER - numër i plotë;

CHAR - vlera e karakterit;

VARCHAR - vlera e karakterit, ruhen vetëm karaktere jo bosh;

DECIMAL - numër dhjetor;

FLOAT - numri i pikës lundruese;

PRECISION I DYFISH - saktësi me pikë lundruese të dyfishtë;

DATETIME - data dhe ora;

BOOL është një vlerë boolean.

Deklarata e krijimit të tabelës specifikon kufizimet në vlerat e kolonës dhe në një tabelë. Kufizimet e mundshme janë paraqitur në tabelë. 4.8

Tabela 4.8 Kufizimet në të dhënat e përcaktuara

Për modelin e të dhënave relacionale, specifikimi i një çelësi të huaj (FOREIGNKEY) është thelbësor. Kur deklaroni çelësat e huaj, duhet të vendosni kufizime të përshtatshme në kolonë, si NOT NULL.

Në një deklaratë SQL, CHECK tregon kufizime semantike që zbatojnë integritetin e të dhënave, siç është kufizimi i grupit të vlerave të vlefshme për një kolonë specifike.

Ju nuk mund ta përdorni deklaratën e krijimit të tabelës disa herë për të njëjtën tabelë. Nëse, pas krijimit të tij, u gjetën pasaktësi në përkufizimin e tij, atëherë mund të bëni ndryshime duke përdorur deklaratën ALTER TABLE. Ky operator ka për qëllim të ndryshojë strukturën e një tabele ekzistuese: ju mund të fshini ose shtoni një fushë në një tabelë ekzistuese.

Manipulimi i të dhënave. SQL lejon një përdorues ose aplikacion të modifikojë përmbajtjen e një baze të dhënash duke futur të dhëna të reja, duke fshirë ose modifikuar të dhënat ekzistuese.

Futja e të dhënave të rejaështë procedura për shtimin e rreshtave në bazën e të dhënave dhe kryhet duke përdorur deklaratën INSERT.

Modifikimi i të dhënave supozon ndryshime në vlerat në një ose më shumë kolona të një tabele dhe kryhet duke përdorur një deklaratë UPDATE. Shembull:

SET shuma = shuma + 1000,00

KU shuma> 0

Fshirja e rreshtave nga tabela bëhet duke përdorur deklaratën DELETE. Sintaksa e operatorit është:

NGA tavolina

Klauzola WHERE është fakultative; megjithatë, nëse nuk e përfshini, të gjitha të dhënat në tabelë do të fshihen. Është e dobishme të përdorni deklaratën SELECT me të njëjtën sintaksë si deklarata DELETE për të kontrolluar paraprakisht se cilat regjistrime do të fshihen.

Sigurimi i integritetit të të dhënave. Gjuha SQL ju lejon të përcaktoni kufizime mjaft komplekse të integritetit, kënaqësia e të cilave do të kontrollohet për të gjitha modifikimet e bazës së të dhënave. Kontrolli mbi rezultatet e transaksioneve, përpunimi i gabimeve të shfaqura dhe koordinimi i punës paralele me bazën e të dhënave të disa aplikacioneve ose përdoruesve sigurohet nga deklaratat COMMIT (rregullon përfundimin e suksesshëm të transaksionit aktual dhe fillimin e një të ri) dhe ROLLBACK ( nevoja për të rikthyer - rivendosni automatikisht gjendjen e bazës së të dhënave në fillim të transaksionit)

Po merr të dhënaËshtë një nga funksionet më të rëndësishme të bazës së të dhënave, të cilit i korrespondon deklarata SELECT. Një shembull i përdorimit të operatorit u diskutua në seksionin e mëparshëm.

Në SQL, ju mund të krijoni sekuenca të mbivendosura të pyetjeve (nënpyetjeve). Ekzistojnë disa lloje të pyetjeve që zbatohen më së miri duke përdorur nënpyetje. Këto kërkesa përfshijnë të ashtuquajturat kontrolle të ekzistencës. Supozoni se dëshironi të merrni të dhëna për studentët që nuk kanë notën shtatë. Nëse kthehet një grup bosh, atëherë kjo do të thotë vetëm një gjë - secili student ka të paktën një notë të tillë.

Lidhja e tabelave... Deklaratat SQL ju lejojnë të merrni të dhëna nga më shumë se një tabelë. Një mënyrë për ta bërë këtë është lidhja e tabelave në një fushë të vetme të përbashkët.

Deklarata SELECT duhet të përmbajë një kufizim në koincidencën e vlerave të një kolone (fushe) specifike. Atëherë vetëm ato rreshta në të cilat vlerat e kolonës së specifikuar janë të njëjta do të merren nga tabelat e lidhura. Emri i kolonës tregohet vetëm së bashku me emrin e tabelës; përndryshe, operatori do të jetë i paqartë.

Ju mund të përdorni lloje të tjera të bashkimeve të tabelave: Deklarata INTER JOIN siguron që grupi i të dhënave rezultante përmban vlera që përputhen në fushat përkatëse. Lidhjet e jashtme (OUTER JOIN) lejojnë të përfshihen në rezultatin e pyetjes të gjitha rreshtat nga një tabelë dhe rreshtat përkatës nga një tjetër

Kontrolli i aksesit. SQL siguron sinkronizimin e përpunimit të bazës së të dhënave nga aplikacione të ndryshme, mbrojtjen e të dhënave nga aksesi i paautorizuar.

Qasja në të dhëna në një mjedis me shumë përdorues rregullohet nga deklaratat GRANT dhe REVOKE. Në çdo deklaratë, duhet të specifikoni përdoruesin, objektin (tabelën, pamjen), në lidhje me të cilin është caktuar autoriteti dhe vetë autoritetin. Për shembull, deklarata GRANT udhëzon përdoruesin X të zgjedhë të dhëna nga tabela PRODUCT:

GRANT ZGJIDHJE PËR PRODUKTIN TE X

Operatori REVOKE revokon të gjitha autorizimet e dhëna më parë.

Përfshirja e SQL në aplikacione... Aplikacionet reale zakonisht shkruhen në gjuhë të tjera që gjenerojnë kodin SQL dhe i dërgojnë ato në DBMS si tekst ASCII.

Standardi IBM për produktet SQL specifikon përdorimin e SQL të integruar. Kur shkruani një program aplikacioni, teksti i tij është një përzierje komandash nga gjuha kryesore e programimit (për shembull, C, Pascal, Cobol, Fortran, Assembler) dhe komandat SQL me një parashtesë të veçantë, për shembull. ExecSQL. Struktura e deklaratave SQL është zgjeruar për të akomoduar variablat e gjuhës pritës në deklaratën SQL.



Procesori SQL modifikon pamjen e programit në përputhje me kërkesat e përpiluesit të gjuhës kryesore të programimit. Funksioni i kompajlerit është të përkthejë (përkthejë) një program nga një gjuhë programimi burimore në një gjuhë të afërt me një gjuhë makine. Pas përpilimit, programi i aplikimit (aplikacioni) është një modul i pavarur.

dialektet SQL

DBMS-të relacionale moderne përdorin dialekte SQL për të përshkruar dhe manipuluar të dhënat. Një nëngrup i gjuhës SQL që ju lejon të krijoni dhe përshkruani një bazë të dhënash quhet DDL (Data Definition Language).

Fillimisht, SQL u quajt SEQUEL (Structured English Query Language), më pas SEQUEL / 2, dhe më pas thjesht SQL. Sot, SQL është standardi de fakto për sistemet e menaxhimit të bazës së të dhënave relacionale.

Standardi i parë i gjuhës u shfaq në 1989 - SQL-89 dhe u mbështet nga pothuajse të gjitha DBMS-të relacionale tregtare. Ai ishte i një natyre të përgjithshme dhe ishte i hapur për interpretim të gjerë. Përparësitë e SQL-89 përfshijnë standardizimin e sintaksës dhe semantikës së operatorëve për marrjen dhe manipulimin e të dhënave, si dhe fiksimin e mjeteve për kufizimin e integritetit të bazës së të dhënave. Megjithatë, i mungonte një seksion kaq i rëndësishëm si manipulimi i skemës së bazës së të dhënave. Paplotësia e standardit SQL-89 çoi në shfaqjen në 1992. versioni tjetër i gjuhës SQL.

SQL2 (ose SQL-92) mbulon pothuajse të gjitha problemet e nevojshme: manipulimin e skemës së bazës së të dhënave, menaxhimin e transaksioneve dhe sesioneve, mbështetjen e arkitekturave klient-server ose mjetet e zhvillimit të aplikacioneve.

Një hap i mëtejshëm në zhvillimin e gjuhës është versioni i SQL 3. Ky version i gjuhës plotësohet me një mekanizëm nxitës, përcaktimin e një lloji arbitrar të të dhënave dhe një shtrirje objekti.

Aktualisht, ekzistojnë tre nivele të gjuhës: fillestar, i mesëm dhe i plotë. Shumë shitës të DBMS-ve të tyre përdorin implementimet e tyre SQL bazuar të paktën në nivelin fillestar të standardit përkatës ANSI dhe që përmbajnë disa shtesa specifike për DBMS. Tabela 4.9 tregon shembuj të dialekteve SQL.

Tabela 4.9 Dialektet SQL

DBMS Gjuha e pyetjes
Sistemi R DBMS SQL
Db2 SQL
Qasja SQL
SYBASE SQL Kudo Watcom-SQL
Serveri SYBASE SQL Transact_SQL
SQL-ja ime SQL
Orakulli PL / SQL

Bazat e të dhënave të orientuara nga objekti përdorin gjuhën e pyetjeve të objektit (OQL). Gjuha OQL bazohej në komandën SQL2 SELECT dhe shtoi aftësinë për të drejtuar një pyetje në një objekt ose një koleksion objektesh, si dhe aftësinë për të thirrur metoda brenda një pyetjeje të vetme.

Përputhshmëria e shumë prej dialekteve SQL në përdorim përcakton përputhshmërinë e DBMS. Për shembull, SYBASE SQL Anywhere është sa më i pajtueshëm me SYBASE SQL Server. Një nga anët e kësaj përputhshmërie është mbështetja e SYBASE SQL Anywhere për një dialekt të tillë të gjuhës SQL si Transact-SQL... Ky dialekt përdoret në SYBASE SQL Server dhe mund të përdoret në SYBASE SQL Anywhere së bashku me dialektin e tij SQL - Watcom-SQL.

Pyetje kontrolli

1. Si mund të klasifikoni një DBMS?

2. Cilat modele të bazës së të dhënave ekzistojnë?

3. Cilët janë elementët kryesorë të modeleve infologjike?

4. Cilat lloje të marrëdhënieve ekzistojnë ndërmjet subjekteve?

5. Çfarë janë diagramet ER dhe për çfarë përdoren?

6. Çfarë lejon të bëjë procedura e normalizimit të tabelës?

7. Cilat janë mjetet gjuhësore dhe softuerike të DBMS?

8. Çfarë lloji është DBMS MS Access?

9. Cilat janë objektet kryesore të MS Access DBMS?

10. Për çfarë përdoren deklaratat bazë SQL?

Artikujt kryesorë të lidhur