Limbajul Bazelor de Date Relaționale SQL

Previzualizare curs:

Extras din curs:

Limbajul bazelor de date relaţionale SQL

Lecţia 13. Limbajul SQL. Funcţiile şi posibilităţile de bază.

13.1. SEQUEL/SQL SGBD System R

Limbajul de interacţiune cu BD SQL a apărut la mijlocul anilor 70 şi a fost elaborat pe baza proiectului SGBD System R relaţionale experimentale. Denumirea primară a limbajului SEQUEL(Structured English Query Language) reflectă doar parţial esenţa acestui limbaj. Desigur, în mod general, limbajul a fost orientat spre o formulare mai comodă şi mai înţeleasă a adresărilor către BD relaţionale, dar în realitate era de acum un un limbaj complet de BD, conţinînd, în afară de operaţiile formulării adresărilor şi manipulărilor BD, mijloace de manipulare şi determinare cu schema BD: determinarea limitelor integrităţii şi a trigherilor, afişării BD, posibilităţile determinării structurilor nivelului fizic, care determină executarea efectivă a adresărilor; autorizaţiile accesului la relaţii şi la cîmpurile lor; a punctelor de salvare a tranzacţiilor. În limbaj lipseau mijloacele de sincronizare a accesului la obiectele BD din partea tranzacţiilor efectuate paralel: de la bun început se presupunea că sincronizarea neapăratăeste executată de SGBD.

Să analizăm posibilităţile acestui limbaj un pic mai amănunţit.

13.1.1. Adresările şi operatorii de manipulare cu datele

După cîte ştim, două limbaje de bază de adresare către BD relaţionale sunt limbajul algebrei relaţionale şi a calculului relaţional. Cu toată stricteţea şi statornicia sa teoretică aceste limbaje se utilizează rar în SGBD relaţionale moderne, în calitate de mijloace a interfeţei utilizatorului. Adresările în aceste limbaje sînt greu de formulat şi de înţeles. SQL reprezintă o combinaţie oarecare a calculului relaţional combinaţional a cortejelor şi a algebrei relaţionale, în afară de aceasta încă nu este clar căror din cele clasice acest limbaj este mai apropiat. Cu toate acestea limbajul SQL are posibilităţi mai largi, ca limbajele relaţionale de bază, de exemplu, în caz general este imposibilă translarea adresei, formulată în SQL, într-un cuvînt a algebrei relaţionale, este nevoie de o oarecare lărgire. Proprietăţile de bază a sublimbajului de adresări SQL sunt posibilităţi de a formula uşor adresările cu legătura cîtorva relaţii şi subadreselor depuse în predicatele alegerii. Deci posedarea concomitentă a ambelor mijloace este extensivă, dar acest fapt dă posibilitatea utilizatorului, în timpul formulării adresării, de a alege varianta cea mai clar înţeleasă.

În predicatele cu subadresările depuse în SQL System R este posibil de a utiliza teoretic o mulţime de operatori de comparaţie, ceea ce permite de a formula adresări cuantificate(ceea ce de obicei, cel mai greu este înţeles de utilizatori, de aceea în SQL au apărut predicate cuantificabile).

O deosebire principală a limbajului SQL este posibilitatea prezenta în adresare necesitatea grupării apartenenţei-rezultatului pe cîmpurile determinate, cu ajutorul condiţiilor de selectare a întregii grupe. Aşa fel de condiţii de selectare pot conţine funcţii de agregat, calculate pe grupă. Această posibilitate a SQL în mod principal deosebeşte acest limbaj de limbajele algebrei relaţionale şi a calculului relaţional, care nu conţine surse analogice.

O altă deosebire a limbajului SQL nu este ştergerea neapărată a cortejelor-dublicate în relaţii – rezultatele finale sau intermediare. Altfel spus, rezultatul operatorului ştergerii în limbajul SQL este mulţimea cortejelor şi nu a relaţiilor. În cazurile cînd semantica adresărilor cere prezenţa relaţiei, distrugerea predicatelor are loc neclar.

Cel mai general tip de adresare în limbajul SQL este expresia algebrică alcătuită din adresări elementare. În SQL System R erau admise toate operaţiile de bază(UNION, INTERSECT şi MINUS).

Lucrul cu expresiile nedeterminate în SQL System R nu a fost gîndit pînă la urmă, cu toate că se presupunea utilizarea logicii cu trei simboluri, în cazul determinării expresiilor logice.

Operatorii de manipulare cu datele UPDATE şi DELETE sunt construite pe baza aceloraşi principii ca şi operatorul de seşlecţie a datelor SELECT. Colectarea cortejurilor relaţiei date, care aparţin modificării sau ştergerii, se determină cu ajutorul expresiei logice care face parte din operatorul dat şi care poate conţine predicate compuse şi de asemenea cu subadresări depuse.

În operatorul de includere a cortejurilor în relaţia dată, cortejul ce se va include poate fi definit atît în formă literară, cît şi cu ajutorul suboperatorului interior de selecţie.

13.1.2. Operatori de manipulare şi determinare a schemei BD

Din componenţa operatorilor de determinare a schemei BD SQL System R făceau parte operatorii de creare şi distrugere a relaţiilor păstrate permanent şi temporar(CREATE TABLE şi DROP TABLE) şi crearea şi distrugerea relaţiilor afişabile(CREATE VIEW şi DROP VIEW). În limbaj şi în realizarea System R nu se interzicea utilizarea operatorilor de utilizare a schemei în limitele tranzacţiei, care conţine operatorii de selecţie şi de manipulare cu datele. Se permitea, de exemplu, utilizarea operatorilor de selecţie şi de manipulare cu datele, în care se accentuiează relaţia neexistentă în baza de date în timpul compilării operatorului. Desigur, această posibilitate îngreuna considerabil realizarea şi în fond şi utilizarea foarte rar.

Operatorul de manipulare cu schema BD ALTER TABLE avea posibilitatea de a adăuga cîmpurile selectate la relaţie existentă. În descierea limbajului se determina, că execuţia acestui operator nu trebuie să aducă la faptul că compilarea operatorilor asupra relaţiei să nu fie adevărată, relaţie schema căreia se schimbă şi că sensul cîmpurilor din nou determinate în cortejele existente a relaţiei devin nedeterminate.

13.1.3. Determinarea limitelor integrităţii şi a trigherelor

Limbajul SQL System R includea surse foarte puternice de control şi menţinere a integrităţii BD. Sursele de control se bazau pe aparatul de limite a integrităţii(ASSERTIONS). După ideie, limita integrităţii – este expresia logică, determinată pe starea actuală a BD, neadevărul căreia corespunde cu starea neintegră a BD. Expresia logică a limitei integrităţii poate conţine orice predicat admisibil în limbaj.

Mai precis, limitele integrităţii se împart în două clase: controlabile în urma executării operatorului de manipulare cu datele şi controlabile la sfîrşitul tranzacţiei sau la executarea operatorului special INFORCE INTEGRITY. Tipurile predicatelor ce pot fi utilizate în în operatorii de determinare a limitelor integrităţii de clase diferite, diferă. În operaţiile din prima clasă se controlează cortejul actual, cu care are loc manipularea. În cazul doi se controlează relaţiile accentuate în limitele integrităţii, adică toate cortejele lor. Se deosebeşte şi reacţia determinată în limbaj, reacţia sistemului la încălcarea limitelor integrităţii diferitor clase. În primul caz încălcarea limitelor integrităţii aduce la înapoierea tranzacţiei în punctul care e neapărat premărgător operaţiilor de manipulare cu datele, îndeplinirea căruia a dus la încălcarea limitei integrităţii. În cazul doi se efecuiează înapoierea tranzacţiei pînă la începutul ei. Un mecanism important determinat în SQL System R este mecanismul trigherilor. În contextul System R acest mecanism era privit în mod principal ca sursă de menţinere automată a integrităţii BD. La determinarea trigherului se spunea de condiţia de control a utilizării trigherului(numele relaţiei şi tipul operaţiei de manipulare cu datele). Condiţia de utilizare a trigherului(expresia logică, construită construită după regulile apropiate de regulilepentru limitele integrităţii primei clase) şi funcţia, cre trebuie să fie îndeplinită asupra bazei de date în caz că condiţiile aplicaţiei sunt adevărate. Aşa funcţie putea fi exprimată cu ajurtorul operatorului de sine stătător de manipulare cu date. În timpul execuţiei funcţiei puteau să înceapă şi alte trighere, ş.a.

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Limbajul Bazelor de Date Relationale SQL.DOC
Alte informații:
Tipuri fișiere:
doc
Nota:
8.2/10 (4 voturi)
Nr fișiere:
1 fisier
Pagini (total):
56 pagini
Imagini extrase:
56 imagini
Nr cuvinte:
32 495 cuvinte
Nr caractere:
170 524 caractere
Marime:
87.26KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Limbaje de Programare
Predat:
la facultate
Materie:
Limbaje de Programare
Sus!