Limbajul Bazelor de Date Relaționale SQL

Curs
8.6/10 (5 voturi)
Conține 1 fișier: doc
Pagini : 56 în total
Cuvinte : 32495
Mărime: 87.26KB (arhivat)
Publicat de: Irinel Dincă
Puncte necesare: 0

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.

Preview document

Limbajul Bazelor de Date Relaționale SQL - Pagina 1
Limbajul Bazelor de Date Relaționale SQL - Pagina 2
Limbajul Bazelor de Date Relaționale SQL - Pagina 3
Limbajul Bazelor de Date Relaționale SQL - Pagina 4
Limbajul Bazelor de Date Relaționale SQL - Pagina 5
Limbajul Bazelor de Date Relaționale SQL - Pagina 6
Limbajul Bazelor de Date Relaționale SQL - Pagina 7
Limbajul Bazelor de Date Relaționale SQL - Pagina 8
Limbajul Bazelor de Date Relaționale SQL - Pagina 9
Limbajul Bazelor de Date Relaționale SQL - Pagina 10
Limbajul Bazelor de Date Relaționale SQL - Pagina 11
Limbajul Bazelor de Date Relaționale SQL - Pagina 12
Limbajul Bazelor de Date Relaționale SQL - Pagina 13
Limbajul Bazelor de Date Relaționale SQL - Pagina 14
Limbajul Bazelor de Date Relaționale SQL - Pagina 15
Limbajul Bazelor de Date Relaționale SQL - Pagina 16
Limbajul Bazelor de Date Relaționale SQL - Pagina 17
Limbajul Bazelor de Date Relaționale SQL - Pagina 18
Limbajul Bazelor de Date Relaționale SQL - Pagina 19
Limbajul Bazelor de Date Relaționale SQL - Pagina 20
Limbajul Bazelor de Date Relaționale SQL - Pagina 21
Limbajul Bazelor de Date Relaționale SQL - Pagina 22
Limbajul Bazelor de Date Relaționale SQL - Pagina 23
Limbajul Bazelor de Date Relaționale SQL - Pagina 24
Limbajul Bazelor de Date Relaționale SQL - Pagina 25
Limbajul Bazelor de Date Relaționale SQL - Pagina 26
Limbajul Bazelor de Date Relaționale SQL - Pagina 27
Limbajul Bazelor de Date Relaționale SQL - Pagina 28
Limbajul Bazelor de Date Relaționale SQL - Pagina 29
Limbajul Bazelor de Date Relaționale SQL - Pagina 30
Limbajul Bazelor de Date Relaționale SQL - Pagina 31
Limbajul Bazelor de Date Relaționale SQL - Pagina 32
Limbajul Bazelor de Date Relaționale SQL - Pagina 33
Limbajul Bazelor de Date Relaționale SQL - Pagina 34
Limbajul Bazelor de Date Relaționale SQL - Pagina 35
Limbajul Bazelor de Date Relaționale SQL - Pagina 36
Limbajul Bazelor de Date Relaționale SQL - Pagina 37
Limbajul Bazelor de Date Relaționale SQL - Pagina 38
Limbajul Bazelor de Date Relaționale SQL - Pagina 39
Limbajul Bazelor de Date Relaționale SQL - Pagina 40
Limbajul Bazelor de Date Relaționale SQL - Pagina 41
Limbajul Bazelor de Date Relaționale SQL - Pagina 42
Limbajul Bazelor de Date Relaționale SQL - Pagina 43
Limbajul Bazelor de Date Relaționale SQL - Pagina 44
Limbajul Bazelor de Date Relaționale SQL - Pagina 45
Limbajul Bazelor de Date Relaționale SQL - Pagina 46
Limbajul Bazelor de Date Relaționale SQL - Pagina 47
Limbajul Bazelor de Date Relaționale SQL - Pagina 48
Limbajul Bazelor de Date Relaționale SQL - Pagina 49
Limbajul Bazelor de Date Relaționale SQL - Pagina 50
Limbajul Bazelor de Date Relaționale SQL - Pagina 51
Limbajul Bazelor de Date Relaționale SQL - Pagina 52
Limbajul Bazelor de Date Relaționale SQL - Pagina 53
Limbajul Bazelor de Date Relaționale SQL - Pagina 54
Limbajul Bazelor de Date Relaționale SQL - Pagina 55
Limbajul Bazelor de Date Relaționale SQL - Pagina 56

Conținut arhivă zip

  • Limbajul Bazelor de Date Relationale SQL.DOC

Alții au mai descărcat și

Proiect Baze de Date (Oracle)

CERINTE PROIECT VARIANTA 1 A. Definirea schemei bazei de date  tabele (minim 4) cu legaturi si alte restrictii de integritate (CREATE TABLE),...

Programare SQL

Obiective - Cunoaşterea capabilităţilor instrucţiunilor SELECT - Executarea unor instrucţiuni SELECT de bază - Cunoaşterea diferenţelor dintre...

Baze de Date

Cap. 1 INTRODUCERE ÎN GESTIUNEA BAZELOR DE DATE 1.1 Introducere Sistemul de baze de date este, în esenţă, doar un sistem computerizat de păstrare...

Laboratoare SQL

Obiective • Cunoaşterea capabilităţilor instrucţiunilor SELECT • Executarea unor instrucţiuni SELECT de bază • Cunoaşterea diferenţelor dintre...

Curs HTML

Internetul a fost descris ca „o colectie larga de retele“ sau ca o „retea de retele“. Desi ambele definitii sînt corecte, nici una nu surprinde...

Limbajul SQL

CAPITOLUL 1. TEORIA BAZELOR DE DATE RELATIONALE 1.1. MODELUL RELATIONAL Modelul relational a fost propus de catre IBM si a revolutionat...

Suport Curs Baze de Date

Organizarea datelor în fişiere, deşi este destul de utilizată, are o serie de neajunsuri care limitează eficienţa şi eficacitatea aplicaţiilor...

Internet Programming - HTML

1. HTML 3 1.1. THE STRUCTURE OF AN HTML DOCUMENT 3 1.2. HTML TAGS 4 The <html> Tag 4 The <head> Tag 5 The <title> Tag 5 The <body> Tag 5...

Te-ar putea interesa și

Elaborare unui web-site și a unui program de administrare, utilizând PHP, Delphi, Mysql

INTRODUCERE Tehnologiile şi aplicaţiile de pe Internet se extind extraordinar de rapid, capătând o atenţie deosebită, deoarece Internetul...

Baze de Date

3.2. DEFINIREA ELEMENTELOR BAZELOR DE DATE DIN ACCESS Definitia traditionala a unei baze de date este aceea de colectie de date înregistrate...

Aplicație web de raportare pentru cuburi Olap

1. INTRODUCERE In secolul 21, secolul informatiilor si al afacerilor inteligente, organizatiile vor putea sa-si indeplineasca obiectivele, numai...

Extragerea Adreselor URL din Pagini Web cu Ajutorul Expresiilor Regulate în SGBD-ORACLE

INTRODUCERE Oracle este cel mai răspîndit Sistem de Gestiune a Bazelor de Date Relaţionale (Relaţional Database Management System - RDBMS) din...

Aplicație web pentru gestiunea elevilor

INTRODUCERE Sistemul naţional de învăţământ este constituit din ansamblul unităţilor şi instituţiilor de învăţământ de diferite tipuri, niveluri...

Prezentare Oracle

Corporaţia Oracle Corporaţia ORACLE (Nasdaq ORCL), având o cifră de afaceri de 9,3 miliarde dolari şi peste 85000 de angajaţi la nivel mondial,...

Proiectarea unei Baze de Date în Visual Fox Pro

Proiectarea unei baze de date in Visual FoxPro 1. Introducere Aplicatia a fost realizata folosind un sistem de gestiune a bazelor de date (SGBD)...

Limbajul SQL

SQL - limbaj de interogare a bazelor de date relationale. Limbajul SQL (Structured Query Language) este limbajul de fundamental pentru gestiunea...

Ai nevoie de altceva?