Instrumente lingvistice pentru sistemele de management al bazelor de date. Instrumente de limbaj subd: yaod și yamd

Un SGBD este un set de limbaje și instrumente software concepute pentru crearea, întreținerea și partajarea unei baze de date cu mulți utilizatori. Funcțiile unui SGBD sunt descrierea datelor, manipularea datelor și utilizarea acestora. Aceste funcții sunt implementate datorită SGBD-ului care are un limbaj de descriere a datelor (DDL), un limbaj de manipulare a datelor (DML) și un limbaj de interogare.

YaOD include un limbaj de descriere a datelor logice și un limbaj de descriere a datelor fizice. Limbajul de descriere logică a datelor prevede identificarea fișierelor bazei de date, a obiectelor bazei de date, a câmpurilor bazei de date și a tipurilor acestora; determină lungimea înregistrărilor, câmpurile, ordinea câmpurilor dintr-o înregistrare, intervalele de valori acceptabile ale câmpurilor etc. Folosind această limbă, utilizatorul își formează propria viziune asupra bazei de date - este creată o bază de date logică. Limbajul pentru descrierea datelor fizice determină modul în care datele sunt plasate pe mediile computerizate, cum sunt abordate și căutate. Prin acest limbaj, se formează vederea sistemului asupra bazei de date - este creată o bază de date fizică.

YaMD face posibilă reorganizarea datelor din baza de date (adăugarea celor noi, ștergerea celor inutile, actualizarea celor existente).

Limbajul de interogare oferă acces și regăsire a datelor pe baza solicitărilor utilizatorilor.

Limba înseamnă poate fi implementat în diverse moduri: structuri sintactice (comenzi), meniuri, scripturi de dialog, tabele.

Multe SGBD-uri au capacitatea de a descrie, manipula și citi date într-un singur cadru sintactic - cadrul limbajului SQL, care este utilizat pe scară largă ca limbaj de bază de date.

Adesea, utilizatorul necesită o procesare analitică mai complexă a datelor bazei de date, care nu se realizează prin sistemul de meniu DBMS. În acest caz, este necesar să se dezvolte programe de aplicație. Pentru a le crea, SGBD-urile au încorporat limbaj de programare.

Datorită instrumentelor lingvistice, utilizatorilor li se oferă acces la baza de date în termeni abstracti care nu au legătură cu metodele de stocare a datelor în computer.

Software DBMS asigură lucrul cu baza de date fizică și îndeplinește toate funcțiile acesteia, implementează funcțiile de stocare, modificare și procesare a datelor. Componente software: – data manager; – manager tampon; – manager de tranzacții etc.

Datorită funcționalității lor dezvoltate, SGBD-urile sunt folosite ca un instrument puternic pentru crearea și menținerea bazelor de date de informații ale sistemelor informatice automatizate (AIS), permițând reducerea timpului de dezvoltare a acestora și economisirea forței de muncă, resurse materiale și financiare.

16. Arhitectura subbazelor de date. Instrumente de proiectare, subsistem de procesare, bază de date.

Functii DBMS: 1) definirea datelor (determinarea structurii datelor, a tipului acesteia, a conexiunilor dintre date și alte aspecte); 2) prelucrarea datelor (sortare, filtrare, calcule, grupare etc.); 3) managementul datelor (organizarea protecției, recuperarea în caz de deteriorare, asigurarea integrității datelor.).

1.Hardware. Un DBMS necesită, de obicei, un anumit minim de memorie RAM și de disc pentru a funcționa, dar o astfel de configurație minimă poate fi complet insuficientă pentru a obține o performanță acceptabilă a sistemului.

2.Software. Această componentă include sistemul de operare, software-ul SGBD în sine, programe de aplicație, inclusiv software de rețea dacă SGBD-ul este utilizat într-o rețea.

3.Data este cea mai importantă componentă în ceea ce privește utilizatori finali. Baza de date conține atât date operaționale, cât și metadate, adică. „date despre date”.

4.Proceduri, care includ înregistrarea în SGBD; utilizarea unui instrument sau aplicație DBMS separat; pornirea și oprirea SGBD; Creare copii de rezervă SGBD; Gestionarea defecțiunilor hardware și software.

5.Utilizatori: clienți baze de date, administrator baze de date, programatori de aplicații.

SGBD-urile moderne diferă prin caracteristicile lor și prin funcțiile pe care le îndeplinesc. Cu toate acestea, în aproape toate se pot distinge trei componente: 1) un subsistem de instrumente de proiectare; 2) subsistemul instrumentelor de prelucrare; 3) Nucleul DBMS.

Subsistemul instrumente de proiectare este un set de instrumente care permit proiectarea și implementarea bazelor de date și a aplicațiilor acestora. De obicei, include instrumente pentru crearea de tabele, formulare, interogări și rapoarte.

Subsistemul de procesare oferă lucrări cu componente create folosind instrumente de proiectare. Acestea sunt un procesor de formulare, un procesor de interogări, un generator de rapoarte și instrumente de procesare bazate pe limbaje procedurale.

Miez Sistemul acționează ca un intermediar între subsistemele de proiectare și procesare și date. Nucleul DBMS primește solicitări de la celelalte două componente și le convertește în comenzi ale sistemului de operare care scriu și citesc date de pe dispozitivul fizic. Nucleul este partea rezidentă principală a DBMS. Are propria interfață, care nu este direct accesibilă utilizatorilor.

Trimiteți-vă munca bună în baza de cunoștințe este simplu. Utilizați formularul de mai jos

Studenții, studenții absolvenți, tinerii oameni de știință care folosesc baza de cunoștințe în studiile și munca lor vă vor fi foarte recunoscători.

Postat pe http://www.allbest.ru/

1. Partea teoretică

1 . 1 Instrumente de limbaj DBMS

Instrumentele lingvistice sunt concepute pentru comunicarea cu utilizatorii diferite clase din banca de date. Instrumentele lingvistice sunt folosite pentru a descrie diverse componente ale unei bănci de date și uneori - elemente externe băncii care sunt în interacțiune directă cu aceasta, precum și pentru a se referi la părțile necesare ale băncii de date.

Limbile de descriere a datelor sunt clasificate în funcție de scopul lor. O descriere a compoziției și organizării logice a bazelor de date într-un limbaj de descriere a datelor se numește schemă, iar limbajul corespunzător se numește limbaj de descriere a datelor de schemă. O descriere a unei porțiuni a unei baze de date care este de interes pentru un anumit utilizator (aplicație) se numește subschemă. Este furnizat un limbaj adecvat pentru a descrie subcircuitul. Mediul de stocare a bazei de date și maparea corespunzătoare dintre schemă și memorie sunt descrise într-un limbaj de descriere a datelor stocate. Acest limbaj este uneori numit limbaj de descriere a schemei de stocare.

Funcționalitatea unui model de date susținut de instrumentele SGBD devine disponibilă pentru utilizatorii finali, dezvoltatorii de aplicații și personalul de administrare a datelor de sistem datorită implementării sale sub forma unui set de instrumente lingvistice care sunt suportate de acest SGBD. SGBD-urile existente utilizează diferite metode pentru implementarea unor astfel de limbaje. Pentru utilizatori avansați și dezvoltatori aplicatii complexe mijloacele lingvistice sunt furnizate, de regulă, în forma lor sintactică explicită. Construcțiile sintactice ale unor astfel de limbi pot fi utilizate în programe de aplicație ah, interacționând cu DBMS folosind interfețele de programare a aplicațiilor. Pentru utilizatorii finali, funcțiile acestor limbi sunt cel mai adesea disponibile sub formă implicită datorită implementării lor pe principiul așa-numitelor limbi a patra generație(4GL) - o interfață de utilizator care include diferite tipuri de meniuri, scripturi de dialog, formulare de ecran completate de utilizator și alte mijloace ușor de utilizat de prezentare a interogărilor. Pe baza datelor introduse de utilizator folosind o astfel de interfață, se formează structurile sintactice corespunzătoare ale limbajului interfeței și sunt transferate pentru execuție către procesorul de interogări din SGBD.

Cele mai cunoscute limbi de acest tip sunt:

* Smalltalking - mic conversație;

* QBE (Query By Example-programare prin exemplu);

* Fort, care este utilizat în rezolvarea problemelor complexe de simulare în sisteme inteligenţă artificială V sisteme graficeși așa mai departe. Caracteristica principală a limbajului Forth este deschiderea sa, care vă permite să construiți noi funcții pe baza definițiilor existente. În acest caz, programatorul poate introduce noi operații, tipuri de date sau definiții. Capacitatea Fort de a suporta modul multitasking este dată de proprietățile sistemului de operare. Un loc special printre limbajele de programare îl ocupă limbaje funcționale, în special Prolog (PROLOG -PROgram-ming in LOGic - logical programming), propus de A. Kalmeroe în 1978, care este un limbaj de programare logică aparținând limbajelor de generația a cincea. Scopul principal al limbajului este dezvoltarea programe inteligenteși sisteme. Prolog este un limbaj de programare creat special pentru lucrul cu baze de cunoștințe bazate pe fapte și reguli (unul dintre elementele sistemelor de inteligență artificială). Limbajul implementează un mecanism de backtracking pentru a efectua un lanț înapoi de raționament, în care anumite inferențe sau concluzii sunt presupuse a fi adevărate, iar apoi aceste ipoteze sunt verificate cu o bază de cunoștințe care conține fapte și reguli de inferență. Dacă ipoteza nu este confirmată, se face o returnare și se face o nouă ipoteză.

Instrumentele de limbaj DBMS sunt destinate în primul rând dezvoltării de programe de aplicație pentru rezolvarea problemelor de management economic, informații pentru care sunt stocate și suportate cu ajutorul bazelor de date. Sintaxa unui limbaj de programare într-un mediu DBMS nu este mult diferită de sintaxa limbi de nivel înalt programare și, prin urmare, aceste instrumente software sunt destinate în principal programatorilor profesioniști, deși prezența instrumentelor dezvoltate pentru indicii și ajutor (sub formă de exemple care demonstrează utilizarea constructelor individuale ale limbajului) facilitează foarte mult munca unei game destul de largi de utilizatori.

Sequel (Structured English Query Language) și versiunea sa îmbunătățită SQL sunt limbaje de manipulare a datelor bazate pe calcul relațional. Ele sunt utilizate în SGBD-urile relaționale ca limbaj de interogare a bazei de date și limbaj de programare pentru sarcinile de procesare a datelor.

1.2 FuncțiiȘiInstrumente de limbaj DBMS

Instrumentele de limbaj DBMS sunt folosite pentru a îndeplini funcțiile de descriere a prezentării unei baze de date (limbaj de descriere a datelor), pentru a efectua operațiuni de manipulare a datelor (limbaj de manipulare a datelor) și pentru a furniza utilizatorilor date despre solicitările acestora (limbaj de interogare).

Funcții DBMS

1. Gestionarea datelor din memoria externă;

2 . gestionarea bufferelor din memoria externă:

Buffering-ul este de a netezi viteze diferite dintre memoria externă și cea internă.

Când lucrați cu o bază de date, SGBD poate determina relevanța mai mare sau mai mică a unor date. Cele mai actuale date pot fi stocate într-un buffer în orice moment. Această caracteristică îmbunătățește eficiența procesării datelor.

3 . managementul tranzacțiilor:

tranzacție - o secvență de operații asupra datelor dintr-o bază de date, care este considerată de SGBD ca un întreg logic. Prin întreg logic înțelegem că SGBD înregistrează începutul unui set de operațiuni și sfârșitul acestuia. Această caracteristică este necesară pentru a menține integritatea și coerența logică a datelor, precum și pentru gestionarea securizată a datelor. Tranzacția trebuie să se încheie fie prin comiterea unei noi stări, fie prin restabilirea stării anterioare (rollback). Este posibil să executați mai multe tranzacții în paralel (dar uneori acest lucru nu este posibil). Executarea în serie a tranzacțiilor - executarea în conformitate cu așa-numitul plan în serie. Plan serial - un plan de executare a tranzacțiilor în care efectul unui amestec de tranzacții este echivalent cu executarea lor secvențială. Algoritmii de serializare se bazează pe capturi seriale (de sincronizare). Scopul unor astfel de capturi este de a construi un plan în serie.

4. Jurnal - păstrarea unui fel de jurnal:

Există două tipuri de defecțiuni:

Soft, asociat cu o pierdere de putere, oprire de urgență a mașinii, defecțiune a sistemului de operare;

Hard - caracterizat prin pierderea de informații despre medii externe(accident HD).

În cazul oricărui tip de defecțiune, este necesar să se prevadă recuperarea informațiilor. Aceasta implică stocarea de informații suplimentare redundante. Astfel de informații necesare pentru recuperare sunt stocate în jurnale. Jurnalul este o parte a DBMS care nu este accesibilă utilizatorului și este întreținută cu grijă deosebită. Jurnalul este stocat fie în mai multe exemplare, fie pe mai multe suporturi. Jurnalul este folosit pentru a înregistra toate modificările care se fac asupra datelor. Din acest punct de vedere pot fi luate în considerare două versiuni ale revistei:

Revistă schimbări locale- înregistrează operațiunile individuale asociate cu schimbarea paginilor de memorie externă;

Jurnalul global de modificări - înregistrează rezultatele tranzacțiilor sau seturi de tranzacții.

Când utilizați jurnalul, este utilizată strategia WAL (Write Ahead Log). Scopul acestei strategii este de a înregistra modificările înainte de schimbările în sine.

În cazul unei erori grave, sunt necesare o copie a jurnalului și o copie de arhivă a bazei de date, iar copia de arhivă și jurnalul trebuie să fie consecvente - aceasta este o sarcină importantă a bazei de date.

5. Suport pentru limbajul de date

Există două sarcini ale sistemelor informaționale:

Descrierea structurii datelor;

Manipularea acestor date.

Anterior, aceste probleme erau rezolvate folosind limbajul. Acestea. Au fost acceptate limbajul de descriere a datelor SDL (Schema Definition Language) și limbajul de manipulare a datelor DML (Data Manipulation Language). Scopul SDL a fost de a oferi instrumente pentru denumirea obiectelor bazei de date, tastarea elementelor individuale și descrierea relațiilor dintre elementele de date. DML acceptă descrierea acțiunilor de modificare a acelor obiecte care sunt descrise în SDL.

În SGBD-urile moderne, funcțiile acestor limbi sunt combinate într-un limbaj structurat interogări SQL(Limbaj structurat cu întrebări). Compilatorul SQL convertește descrierile și interogările într-o reprezentare internă a datelor. Datorită acestui fapt, partea centrală de control a SGBD funcționează doar cu vederi interne, ceea ce asigură o funcționare eficientă.

SQL conține:

Mijloace de descriere a constrângerilor de integritate;

Esența este că fiecare obiect este asociat cu un set de acțiuni permise și un cerc de utilizatori cu puteri diferite. Puterile și acțiunile sunt descrise în mese diferite. Instrumentul de limbă vă permite să controlați acest lucru.

Pe baza funcționalității, se disting următoarele categorii de limbi:

1. Limbi care au doar capabilități de interogare. Acestea asigură că datele necesare sunt afișate pe ecran sau tipărite în formatul necesar. Momentan rar folosit.

2. Limbi complexe de interogare/actualizare. Acestea sunt limbi mai avansate; acestea vă permit să formulați interogări complexe în mai multe înregistrări asociate și să actualizați datele la fel de ușor ca și să formulați interogări. Folosindu-le, utilizatorii își pot crea propriile fișiere.

3. Generatori de rapoarte. Acestea fac posibilă selectarea datelor dorite din fișiere sau baze de date și formatarea acestora în formularele de document necesare.

4. Limbaje grafice. Utilizare instrumente grafice este în prezent în continuă expansiune. Cu ajutorul lor, puteți afișa date sub formă de diferite grafice și diagrame, precum și să utilizați alte capacități vizuale. La fel ca generatoarele de rapoarte, limbaje grafice vă permit să selectați informații din fișiere sau baze de date în funcție de diverse criterii, precum și să efectuați manipulări aritmetice și logice cu date.

5. Instrumente de sprijinire a deciziei. Limbile de acest tip sunt concepute pentru a crea sisteme de luare a deciziilor. Acestea pot fi sisteme „ce-ar fi”, sisteme care efectuează analize de timp sau tendințe etc. Este posibil să se utilizeze atât instrumente universale, cât și instrumente orientate către probleme.

6. Generatoare de aplicații. Oferiți capacitatea de a descrie în mod non-procedural procesarea informațiilor necesare și generarea automată ulterioară a programelor.

7. Limbaje de specificații orientate pe mașină. De fapt, sunt generatori de aplicații, dezvoltarea lor ulterioară. Spre deosebire de generatoarele de aplicații, limbajele de specificații sunt mai universale și vă permit să specificați aplicații de diferite tipuri.

8. Limbile sunt foarte nivel inalt. În cele mai multe cazuri, aplicațiile sunt construite folosind limbaje non-procedurale. Cu toate acestea, unele limbaje sunt procedurale (de exemplu, NOMAD), dar programarea în ele este mult mai scurtă decât, de exemplu, în Cobol.

9. Pachete de programe de aplicație parametrizate (APP). Această categorie de software este cunoscută de mult timp, iar „a patra generație” se referă la acele programe software care permit modificarea ușoară a pachetului în sine, permit utilizatorilor să-și genereze propriile rapoarte, interogări de baze de date etc.

10. Limbi de aplicare. Multe limbi de generație a 4-a sunt de uz general, în timp ce altele sunt concepute pentru aplicații specifice. Exemple de astfel de limbi sunt limbile pentru managementul financiar, controlul funcționării mașinilor-unelte cu program controlat etc.

1.3 Limbaje pentru descrierea datelor și manipularea datelor

Limbile de descriere a datelor sunt limbaje de nivel înalt de tip declarativ (non-procedural), destinate unei descriere formală a tipurilor de date, structurilor și relațiilor acestora. Textele sursă ale descrierii datelor în această limbă, după traducere, sunt afișate în tabele de control care precizează plasarea în memoria computerului și conexiunile dintre datele în cauză. În conformitate cu aceste descrieri, SGBD găsește datele necesare în baza de date, le transformă și le transferă, de exemplu, în programul de aplicație al utilizatorului care le-a solicitat. Când scrieți date în baza de date, SGBD utilizează aceste descrieri pentru a determina locația din memoria computerului în care trebuie să fie plasate, le convertește într-o formă dată și stabilește conexiunile necesare.

Prima dintre aceste funcții este furnizată de un limbaj de descriere a datelor (DDL). Este adesea numit și limbaj de definire a datelor. Descrierea unei baze de date folosind LDB se numește schemă de bază de date. Include o descriere a structurii bazei de date și a constrângerilor de integritate a datelor impuse acesteia. in afara de asta funcții specificate,DML-ul unor SGBD-uri oferă, de asemenea, capacitatea de a specifica restricții de acces la date sau permisiuni de utilizator în schemă. O schemă de bază de date reprezintă un model intensional al unui domeniu într-un mediu de sistem de bază de date. Limbajul de manipulare a datelor (DML) vă permite să efectuați operațiuni de manipulare a datelor într-o bază de date. Natura acestor operațiuni depinde de model specific date. Dar, în orice caz, astfel de limbi prevăd operațiunile de inserare a datelor noi în baza de date, ștergerea sau actualizarea datelor existente. Unele modele de date oferă operații de navigare suplimentare care vă permit să vă poziționați pe instanța de date dorită din baza de date înainte de a efectua o operație. Această instanță de date devine cea actuală. Sunt posibile diverse efecte secundare: propagarea operațiunii în întreaga structură a bazei de date, formarea automată de noi relații între instanțe de date, calculul datelor derivate etc. În așa-numitele modele de date grafice (ierarhice, de rețea), argumentul fiecărei operațiuni de manipulare a datelor este o singură instanță a datelor. În același timp, operațiile din modelul relațional sunt de natură multiple.

DL și ML nu sunt întotdeauna formalizate sintactic ca limbaje independente. Ele pot fi părți ale unui singur limbaj de date care combină definirea datelor și capabilitățile de manipulare a datelor. Există numeroase exemple de limbaje DBMS care combină descrierea datelor și capabilitățile de manipulare a datelor într-un singur cadru sintactic. Cea mai comună dintre limbile de acest fel este Limbajul SQL.

Limbajul de definire a datelor (DDL).

Crearea unui tabel

Instrucțiunea CREATE este folosită pentru a crea orice tip de obiecte care alcătuiesc baza de date, inclusiv tabele.

Sintaxa pentru crearea unui tabel este:

CREATE TABLE table_name(

câmp1 tip1 [constrângeri],

[câmp2 tip2 [constrângeri], ...]);

Posibile restricții în tabele:

* NOT NULL - trebuie definită valoarea atributului (opțiunea NOT NULL);

* UNIQUE - valorile atributelor sunt unice (cheie unică);

* CHEIA PRIMARĂ - atributul este cheia primară (cheia primară);

* VERIFICARE - definește o condiție pe care trebuie să o îndeplinească valorile atributelor (domeniu);

* DEFAULT - atribuirea valorilor implicite pentru atribute.

De exemplu:

CREATE TABLE Dealers1(

Nume VARCHAR2(30),

Procent NUMBER(4,2),

Comentarii VARCHAR2(50) DEFAULT `fără comentarii");

Data Definition Language (DDL) oferă utilizatorilor un mijloc de specificare a tipului de date și a structurii acestora, precum și un mijloc de specificare a restricțiilor privind informațiile stocate în baza de date.

Operatori: CREATE, ALTER (vezi 14), DROP.

1 . 4 ClasificareBnD

BnD nu include documente non-mașină care servesc ca surse de informații introduse în baza de date, fișiere de informații de intrare și ieșire, fișiere de arhivă, documente de ieșire. Cu toate acestea, multe SGBD includ instrumente lingvistice pentru a descrie aceste componente. În acest caz, descrierile în sine utilizate în procesul de funcționare a BnD vor fi incluse în componența sa.

Instrumentele lingvistice DBMS sunt cea mai importantă componentă a băncilor de date, deoarece, în cele din urmă, oferă interfața cu utilizatorul diferite categorii cu o bancă de date. Gama de instrumente lingvistice utilizate este largă și variată. Mijloacele lingvistice utilizate în BnD pot fi clasificate după diferite criterii (Fig. 1).

Instrumentele lingvistice ale majorității SGBD-urilor moderne aparțin limbilor de generație a 4-a (limbile de generație 1 includ limbaje mașină, la al 2-lea - limbaje de asamblare simbolică, la al 3-lea - limbaje algoritmice precum PL, Cobol etc., care în anii 1960. au fost numite limbi de nivel înalt, dar nivelul a fost mult mai scăzut decât cel al limbilor din generația a 4-a. Există și limbaje de generația a 5-a, care includ limbajele sistemelor de inteligență artificială, de exemplu Prolog).

Orez. 1 Clasificarea mijloacelor lingvistice BnD

Limbile de generație a 4-a au fost create conform principiului: „oamenii sunt mai scumpi decât mașinile”. În proiectarea lor au fost utilizate următoarele principii.

1. Principiul efortului minim: limbajul ar trebui să ofere cantitatea minimă de efort pentru a „face” mașina să funcționeze.

2. Principiul competenței minime: munca trebuie să fie cât mai simplă posibil; nu ar trebui să fie soarul elitei și să fie înțeles doar de inițiați.

3. Principiul limbajului natural, abolirea sintaxei și mnemonicii „străine”. Limbajul nu ar trebui să necesite efort semnificativ din partea utilizatorilor pentru a învăța sintaxa sau să conțină o mulțime de mnemonice sau alte notații care sunt rapid uitate.

4. Principiul timpului minim. Limbajul ar trebui să permită îndeplinirea fără întârzieri semnificative a nevoilor emergente de acces la informații și de prelucrare a acesteia.

5. Principiul erorilor minime. Tehnologia ar trebui să fie proiectată astfel încât să minimizeze erorile umane și, dacă acestea apar, atunci, dacă este posibil, să le „prindă” automat.

6. Principiul suportului minim. Motorul de limbă ar trebui să faciliteze efectuarea modificărilor aplicațiilor existente.

7. Principiul rezultatelor maxime. Limbajul oferă utilizatorilor Unealtă puternică pentru rezolvarea diferitelor probleme.

În fig. 1.1 prezintă componentele limbajului de generația a 4-a. După cum puteți vedea, toate „generatoarele” principale sunt prezentate aici, a căror prezență a devenit deja tradițională pentru DBMS de diferite clase.

Orez. 1.1 Componentele limbajului de generația a patra

Se pot distinge două concepte ale dezvoltării mijloacelor lingvistice: conceptul de separare și conceptul de integrare. Când se utilizează conceptul de separare, se face o distincție între limbaje de descriere a datelor (DDL) și limbaje de manipulare a datelor (DML). Scopul fiecăreia dintre aceste subclase este clar din numele lor.

Uneori, limbajele de interogare (QL) sunt incluse într-un grup special. Inițial, limbajele de interogare au fost înțelese ca limbaje de nivel înalt, destinate utilizatorului final, destinate generării de interogări către baza de date (în această interpretare, ele pot fi considerate una dintre varietățile YaMD). Cu toate acestea, limbajul este acum înțeles mai larg (vezi capitolul 3); multe limbi includ, de asemenea, capacitatea de a descrie date și de a ajusta baza de date. Ca parte a limbajelor de descriere a datelor, în funcție de caracteristicile SGBD, sunt acceptate toate sau unele dintre următoarele limbi: limbaj de descriere a schemei (SDL), limbaj de descriere a subcircuitului (SDL), limbaj de descriere a datelor stocate (SDDL), limbaj extern limbaje de descriere a datelor (input, output). În unele SGBD, aceste tipuri de limbaje însele și elementele IS create cu ajutorul lor sunt componente independente; în altele, unele dintre ele pot fi combinate.

Colecție de tipuri mijloace tehnice, pe care sunt implementate B&D, nu diferă de toate celelalte IS automatizate (Fig. 1.2). Acestea sunt calculatoare, mijloace periferice pentru introducerea de informații într-o bază de date, mijloace de stocare a datelor și mijloace pentru afișarea informațiilor de ieșire. Dacă banca de date este implementată în rețea, atunci sunt necesare mijloace tehnice adecvate (indicate în linii punctate) pentru a asigura funcționarea acesteia. Dar băncile de date își impun propriile cerințe asupra mijloacelor tehnice utilizate.

Orez. 1.2. mijloace tehnice BnD

Compoziția și tipul mijloacelor tehnice pe care sunt implementate B&D depind de mulți factori, dintre care principalii sunt specificații echipamentele, tehnologiile de procesare a datelor utilizate, scara sistemului, restricțiile de timp privind viteza de răspuns a sistemului, complexitatea procesării, caracteristicile costurilor etc. Calculatoarele de uz general sunt cel mai adesea folosite ca calculatoare pentru băncile de date.

Inițial, BnD-urile au fost implementate în principal pe computere mainframe, iar terminalele au fost folosite pentru a accesa baza de date. Datorită îmbunătățirii semnificative și constante a caracteristicilor computerelor personale, a devenit posibilă implementarea băncilor de date pe mașinile din această clasă. Dar la început, caracteristicile computerelor personale au fost insuficiente pentru a implementa pe deplin ideologia băncilor de date. A început să fie observată o oarecare fragmentare a sistemelor informaționale, care, la rândul său, a condus la dezvoltarea rapidă a tehnologiilor de rețea și utilizarea mijloacelor tehnice adecvate.

După forma de prezentare, se disting instrumentele de limbaj analitic, tabelar și grafic. Clasificarea instrumentelor lingvistice pe această bază se aplică atât limbajelor de descriere a datelor, cât și limbajelor de manipulare a datelor. Astfel, descrierea unui tabel folosind comanda CREATETABLE a limbajului SQL este un exemplu de formă analitică a unui DML, iar descrierea aceluiași tabel în Access și majoritatea altor SGBD-uri desktop este un exemplu de formă tabelară de descriere a datelor. . Exemple de forme tabelare și analitice de specificare a interogărilor includ limbaje și, respectiv, SQL.

Se întâmplă adesea ca în cadrul aceluiași DBMS, limbi de diferite tipuri să poată fi utilizate în aceleași scopuri. De exemplu, în multe SGBD-uri (dBase, FoxPro, etc.) următoarele pot fi folosite pentru a manipula datele:

· limbaj de interogare tabelar precum QBE;

· Limbajul SQL este un limbaj de interogare analitică aparținând clasei limbajelor de calcul tuplu;

· limbaj de programare procedural (pentru sistemele de mai sus dBase, FoxPro este limbajul xBase, ai cărui operatori implementează operațiuni algebră relațională, iar cealaltă parte, mai semnificativă în numărul de operatori și funcții, efectuează operațiuni non-relaționale care asigură procesarea fișierelor înregistrare cu înregistrare, organizarea prelucrării ciclice și condiționate, intrare-ieșire a datelor, ajustare, capacitatea de lucru cu variabile de memorie și alte capacități).

O descriere a datelor din aceste sisteme poate fi prezentată în formă tabelară sau, dacă definirea datelor este realizată folosind SQL sau folosind operatori de limbaj xBase, în formă analitică.

Pe lângă instrumentele lingvistice menționate, aceste sisteme includ generatoare formulare de ecran, rapoarte și aplicații, precum și limba unui sistem extins de „meniu” ierarhic care permite utilizatorului să selecteze acțiunile pe care dorește să le efectueze.

1.4 Limbi de interogare

Multe SGBD-uri folosesc o altă clasă importantă de limbaje. Odată cu apariția interfețelor DBMS pentru utilizatorul final, a apărut nevoia de limbi care ar putea fi utilizate pentru a formula interogări împotriva unui sistem de baze de date. Astfel de limbi au ajuns să fie numite limbi de interogare. Inițial, rolul lor a fost jucat de limbaje declarative de nivel înalt, care au asigurat selectarea datelor solicitate din baza de date. Cu toate acestea, ulterior funcțiile lor au fost transformate semnificativ. Limbile de interogare au început să ofere funcționalitate completă pentru operațiunile bazei de date, inclusiv inserarea de date noi, actualizarea, ștergerea și preluarea datelor. 3.8.5. Limbi independente și incluzive

Unele SGBD-uri au limbaje care nu numai că implementează funcții de definire și manipulare a datelor, dar au și structuri de control și alte instrumente caracteristice limbajelor de programare tradiționale. Datorită acestui fapt, ele pot fi folosite ca un instrument complet funcțional pentru crearea aplicațiilor de sistem de baze de date. Astfel de limbi sunt numite autonome. Ca exemplu, să luăm limbajul dBase menționat anterior, construit în stilul limbajelor de programare structurată, sau limbajul PL/SQL Oracle.

În cazurile în care SGBD nu are un limbaj de sine stătător, are de obicei interfețe de programare a aplicațiilor pentru crearea și utilizarea aplicațiilor. Datorită acestui fapt, aplicațiile pot fi dezvoltate prin extinderea limbajelor de programare tradiționale cu instrucțiuni (comenzi, funcții, proceduri etc.), a căror execuție poate fi solicitată prin intermediul unui API. În acest fel, incompletitudinea funcțională a limbajelor DBMS va fi completată. În acest caz, limbajul de programare acționează ca un limbaj incluziv în raport cu limbajele DBMS, iar sistemele de aplicații sunt implementate într-un astfel de limbaj extins. Interfețele de programare a aplicațiilor sunt furnizate în multe SGBD-uri.

În timpul evoluției SGBD-urilor și a limbajelor de programare, a devenit clar că utilizarea limbajelor incluzive și a NMD-ului obligă dezvoltatorii de aplicații să facă față unei combinații de două instrumente conceptual complet diferite și are dezavantaje serioase. Aceste două limbaje, dezvoltate independent unul de celălalt, se bazează pe sisteme conceptuale și suport diferite sisteme diferite tipuri de date și, prin urmare, au mecanisme funcționale diferite și, uneori, tehnologii „la scară diferită”. Această situație se numește nepotrivire de impedanță.

Pentru a rezolva problema nepotrivirii impedanței, este necesară completarea modelului de date implementat cu obiecte și operații asupra acestora care sunt nenaturale pentru acesta, pentru a sincroniza procesarea datelor în programul de aplicație și mecanismele de gestionare a datelor în SGBD. Acest lucru duce adesea la o performanță insuficient de ridicată a întregului complex al sistemului de baze de date, care nu poate fi optimizat tocmai din cauza eterogenității sale.

2 . Partea practică

2 .1 Limbajul de interogare SQL

Adesea, SGBD-urile asigură conversia automată a „textelor” dintr-o limbă în alta. De exemplu, multe SGBD-uri, cum ar fi Access, FoxPro etc., folosesc limbaje de interogare de tip tabel nu numai pentru implementarea directă a interogărilor, ci și ca mijloc pentru o descriere mai simplă a interogării și ulterioare. conversie automatăîn limbajul SQL.

Limbajul SQL-LINTER implementează standardul internațional de limbaj SQL - ANSI/ISO SQL-92. În SQL-Linter, utilizatorul va găsi instrumente de limbaj atât de puternice precum clauza UNION, un set complet de operațiuni de conectare - JOIN, toate posibilitățile descrise în standardul specificat pentru implementarea constrângerilor de integritate etc. Pentru compatibilitate cu unele DBMS de la alți producători (Oracle, DB2, Informix, Microsoft SQL Server, etc.), au fost introduse funcții speciale încorporate în limbajul de interogare LINTER, lucrul lingvistic privind gestionarea controlului accesului la informații, interogări ierarhice la tabele, secvențe etc. Pentru confortul utilizatorilor, SQL-LINTER include, de asemenea, următoarele extensii ale standardului specificat:

· Munca lingvistică cu coloane BLOB.

· Lucru lingvistic cu evenimente în LINTER.

· Permite utilizarea mai multor tabele în FROM în operațiunile UPDATE și DELETE.

De exemplu:

· DELETE FROM lista JOIN tabel _ tabele WHERE ...

· UPDATE table JOIN list _ tables WHERE ...

Construcția INTO este permisă în instrucțiunea SELECT pentru compatibilitate cu unele dialecte SQL.

De exemplu: SELECT expression_list INTO parametri_list FROM...

Este permisă construcția de tip CAST NULL AS. Au fost introduse următoarele sugestii pentru setarea modurilor de operare a canalului:

SET TRANSACTION READ ONLY - comutarea canalului în modul doar citire;

SETARE NIVEL DE IZOLARE A TRANZACȚIEI CITIRE NECOMMITAT - comută canalul în modul de citire murdar.

S-au introdus sugestii pentru lucrul cu regulile de replicare: CREATE REPLICATION RULE rule FOR table TO table ON NODE nume_nod USER user PASSWORD "parolă" ;

regula ALTER REPLICATION RULE [ PAROLA „parolă”] ;

REGULA DE REPLICAȚIE DE CĂDARE;

Diverse posibilități ale ALTER TABLE pentru modificarea structurii tabelului - de la schimbarea numelor (ale tabelului, coloanelor acestuia) la modificări cele mai importante caracteristici tabelul în sine și coloanele sale (de exemplu, dimensiuni, numărul de fișiere, locația acestora, iar pentru coloane - lungimi de date, valori implicite etc.).

O altă atingere importantă este capacitatea de a căuta cuvinte și expresii individuale în mare valorile textului, care este foarte important atunci când se organizează baze de date mari de informații full-text.

Limbajul procedurii stocate DBMS Linter

Prezența unui mecanism de procedură stocată în DBMS Linter vă permite să extindeți semnificativ capacitățile limbajului SQL prin organizarea procesării datelor procedurale pe server în funcție de algoritmul utilizatorului. În ceea ce privește puterea funcțională, procedurile stocate LINTER în unele aspecte chiar depășesc standardul ANSI/ISO SQL-92/PSM (Persistent Stored Modules). Există multe Puncte importante, nu se reflectă în standard.

De exemplu: Utilizarea interogărilor traduse și a interogărilor cu parametri (interogări care se schimbă dinamic), gestionarea tranzacțiilor. Procedurile stocate LINTER pot folosi atât interogări obișnuite, cât și traduse, cu și fără parametri; în plus, procedurile au capacitatea de a returna un cursor, ceea ce este foarte convenabil pentru programare. Limbajul procedurii stocate oferă o sintaxă de expresie puternică, care include toate operațiunile necesare asupra variabilelor și valorilor fiecărui tip de date, apeluri la diferite funcții standard (cum ar fi conversia tipului, lucrul cu date șiruri etc.), o operație de atribuire ( faptul că atribuirea este o operație, și nu un operator separat, vă permite să construiți, de exemplu, astfel de construcții: a:= b:= c:= 0;).

Limbajul procedurii stocate vă permite să lucrați cu toate tipurile de date Linter standard (Integer, Smallint, Char, Byte, Numeric, Real, Double, Date), precum și cu tipul suplimentar BOOL (logic). Tipul CHAR este tratat ca șiruri de caractere cu date lungime maxima, și are constante și operații de concatenare ușor de utilizat și definite pentru acesta. Toate operațiunile cu toate tipurile de date implementează logica cu trei valori, adică este acceptată Valoare NULL pentru orice tip de date care înseamnă că valoarea este o stare nedefinită.

O secvență de operatori vă permite să codificați un algoritm liniar. Pentru a organiza algoritmii de ramificare, se poate folosi un operator precum IF..ELSEIF...ELSEIF...ELSE..ENDIF, un operator de selecție CAS și un operator de etichetă GOTO. Algoritmi ciclici organizate folosind un operator bucla WHILE. Pentru a apela alții dintr-o singură procedură, utilizați instrucțiunea CALL. Apelurile de procedură recursive sunt permise. Procedurile pot primi parametri de intrare și pot returna rezultatul muncii lor prin mecanismul de returnare a valorii ( Declarație RETURN) și/sau parametrii de ieșire. Rezultatul procedurii poate fi nu numai o valoare scalară, ci și un cursor (selectare). Pentru a procesa rezultatele interogărilor SELECT, procedurile folosesc cursore (CURSOR), al căror tip este declarat în conformitate cu structura răspunsului. Un ciclu de lucru cu un cursor poate include deschiderea acestuia cu o instrucțiune OPEN (ca rezultat al unei interogări sau al executării unei alte proceduri), preluarea datelor cu o instrucțiune FETCH (în orice direcție) și închiderea acesteia (CLOSE) sau, dacă procedura returnează un cursor, revenind (RETURN).

Procedurile pot funcționa cu coloanele BLOB. În acest scop sunt folosite specificații standard citire/scriere în BLOB care este asociat cu linia curentă cursor. Conceptul de „cursor” este folosit exclusiv pentru preluarea datelor. Pentru a executa orice interogări DML și DDL (alte interogări decât o interogare SELECT), este utilizat operatorul EXECUTE.

Toate operațiunile de procedură pentru modificarea datelor sunt incluse în tranzacția utilizatorului. Finalizarea unei tranzacții este controlată de utilizator, dar o procedură poate, de asemenea, să comite sau să anuleze modificările aduse corpului său (și corpurilor procedurilor sale secundare) cu instrucțiuni COMMIT și ROLLBACK.

Pentru a simplifica gestionarea erorilor, limbajul procedurii stocate oferă un mecanism de lucru cu situații excepționale, care pot fi considerate erori de execuție a interogărilor SQL, erori de rulare (apelarea unei proceduri inexistente, împărțire la zero etc.) sau excepții ale utilizatorului. Când apare o excepție, controlul este imediat transferat automat în ramura corespunzătoare a blocului de gestionare a excepțiilor (EXCEPȚII), ceea ce elimină necesitatea „înfundarii” codului de procedură cu numeroase declarații condiționale, care verifică rezultatul finalizării fiecărei declarații. Procedura poate gestiona excepția sau poate termina și transmite excepția la nivelul superior (instrucțiunea RESIGNAL).

Pentru a organiza munca cu procedurile stocate și declanșatoarele, DBMS LINTER conține un traducător de proceduri stocate, care convertește textul sursă al unei proceduri/declanșatoare în cod tradus, permițându-vă să executați rapid procedura în subsistemul de execuție. Acest cod este stocat într-un tabel special de sistem $$$PROC; descrierile parametrilor de intrare/ieșire ai procedurilor sunt stocate în tabelul de parametri $$$PRCD. Ambele tabele trebuie create înainte de a lucra cu proceduri/declanșatoare (pentru declanșatori, este necesar și tabelul $$$TRIG).

Câmpul BLOB al tabelului $$$PROC stochează codul tradus și textul sursă al unei proceduri sau declanșatoare (cel din urmă permite utilizatorului să obțină textul sursă în scopuri de editare). Procedurile și declanșatoarele sunt create folosind interogări adecvate tip SQL CREATE/ALTER PROCEDURE, CREATE TRIGGER. În cazul unei erori în textul procedurii/declanșatorului, acesta revine cod special LINTER și utilitățile interactive dau erori transcriere detaliatăîn ce linie și ce eroare a apărut. În acest caz, este creată o singură înregistrare în tabelul $$$PROC care conține textul sursă, ceea ce permite ulterior utilizatorului să o recupereze și să corecteze erorile. Este posibil să se utilizeze proceduri stocate ca funcții care extind limbajul SQL.

O interogare este folosită pentru a rula proceduri

A EXECUTA<процедура> (<параметры>)

care precizează denumirea și parametrii procedurii. La trecerea parametrilor, puteți utiliza mecanismul de transmitere a valorilor implicite, atunci când nu este specificată întreaga listă, ci doar valorile de interes.

Declanșatoare: conexiune între evenimente și proceduri stocate

Procedurile stocate sunt foarte convenabile atunci când utilizatorul dorește să implementeze un algoritm de procesare a datelor destul de complex și să-l ruleze la momentul potrivit. Cu toate acestea, aplicațiile necesită adesea să efectuați o anumită acțiune dacă apare o anumită situație. Declanșatorii impun integritatea prin efectuarea de validări complexe a datelor încrucișate în afara contextului integrității de referință și al constrângerilor de validare. Cel mai important scop al declanșatorilor este de a determina global regula de afaceri. De exemplu, un declanșator ar putea fi utilizat pentru a se asigura că este trimis un mesaj către managerul de vânzări care indică faptul că stocul în depozit este redus și că este necesară reaprovizionarea dacă stocul total din depozit devine mai mic decât cantitatea rezervată. Un alt exemplu este că atunci când adăugați noi rânduri într-un tabel, pentru a asigura integritatea datelor, poate fi necesar să adăugați sau să modificați rânduri în alte tabele asociate în consecință. Deci, un declanșator este o procedură stocată care este apelată automat atunci când una sau alta acțiune este efectuată pe un anumit tabel, care vizează modificarea datelor. Declanșatorul nu poate fi apelat în mod explicit. Când creați un declanșator, specificați la ce tabel și la ce acțiune (UPDATE, INSERT sau DELETE) este legat. Declanșatorul poate fi apelat o dată în timpul execuției întregii interogări, sau de fiecare dată când este necesară actualizarea, ștergerea sau inserarea unui alt rând în tabel (PENTRU FIECARE RÂND declanșator). Mai mult, puteți specifica când trebuie apelat declanșatorul: înainte de operație (ÎNAINTE de declanșare) sau după (DUPĂ declanșare). Partea principală a unui declanșator este corpul său, care este definit exact în același mod ca și corpul unei proceduri stocate și conține algoritmul pentru modul în care declanșatorul va reacționa la acțiunea care l-a provocat. Orice interogări SQL, apeluri de proceduri stocate etc. sunt permise în corpul declanșatorului. Pentru declanșatoarele de pe fiecare linie din interiorul corpului, puteți utiliza valorile câmpurilor de înregistrare care au fost înainte de operația de modificare și valorile care ar trebui setate după operație. Aceste valori sunt disponibile prin câmpurile variabilelor cursorului predefinite VECHI și NOU, a căror structură corespunde structurii tabelului. Într-un declanșator BEFORE, puteți atribui noi valori câmpurilor variabilei NEW, iar atunci când efectuați o operație INSERT sau UPDATE, acestea vor fi folosite în locul celor vechi. Singura valoare pe care o poate returna un declanșator este o valoare booleană, iar dacă un declanșator BEFORE returnează fals, operația corespunzătoare este anulată pentru acel rând sau pentru întreaga instrucțiune SQL, în funcție de tipul declanșatorului. Depanarea procedurilor stocate LINTER

Pentru a simplifica procesul de dezvoltare a procedurilor stocate și a declanșatorilor, nucleul Linter conține un mecanism încorporat pentru depanarea procedurilor stocate. Utilizatorul depanează procedura (declanșatorul) folosind utilitate specială- un depanator care schimbă comenzi speciale de control cu ​​nucleul. Prezența unui mecanism de depanare încorporat în nucleu vă permite să depanați proceduri (declanșatoare) în condiții reale de lucru (pe server), în mediul solicitărilor și acțiunilor unui anumit aplicație reală. Pentru a începe depanarea, utilizatorul deschide o așa-numită „sesiune de depanare” pentru procedură, după care nucleul lucrează cu această procedură (declanșare) în modul de depanare, răspunzând la comenzile depanatorului și trecând toate informatie necesara. Puteți depana numai acele proceduri (declanșatoare) care sunt traduse cu informații de depanare. Despre necesitatea includerii informații de depanare indicat de cuvântul cheie FOR DEBUG în antetul procedurii sau declanșatorului, ca în exemplele de mai sus. Pentru a începe depanarea unei anumite proceduri executabile (declanșator), trebuie fie să rulați procedura de sub depanator, fie să așteptați până când o aplicație apelează această procedură sau o cerere lansează declanșatorul (pentru declanșatoare, aceasta este singura cale).

A doua opțiune oferă o oportunitate puternică de a depana procedurile și declanșatoarele în mediul lor „nativ” atunci când sunt lansate în mod normal. Depanatorul vă permite să vizualizați textul sursă al unei proceduri (declanșator), evidențiind linia cu instrucțiunea executată curent.

Procesul de depanare include capacitatea de a executa pas cu pas procedurile (declanșatoare), setarea diferitelor puncte de întrerupere și executarea până la unul dintre ele, executarea prin intrarea în interiorul procedurilor numite copil, observarea valorilor variabilelor locale și a expresiilor specifice, și stiva de apeluri. Pe lângă punctele de întrerupere obișnuite (se întrerupe de fiecare dată când se execută o anumită instrucțiune), sunt acceptate și punctele condiționate (se întrerupe numai dacă o anumită condiție este îndeplinită, de exemplu, i > 10) și punctele de întrerupere pentru modificarea valorilor. Depanatorul vă ajută, de asemenea, să înțelegeți de ce apar excepții, întrerupând execuția procedurilor și indicând unde a apărut excepția.

Concluzie

instrument de limbaj al bazei de date

Acest curs a implicat studiul instrumentelor lingvistice ale sistemelor de gestionare a bazelor de date. Partea teoretică a descris ce înseamnă mijloacele lingvistice ale sistemelor de management al bazelor de date, precum și funcțiile și clasificarea instrumentelor lingvistice. În partea practică, am dat un exemplu de instrumente de limbaj, adică limbajul de interogare SQL. Instrumentele lingvistice sunt destinate utilizatorilor din diferite categorii: utilizatori finali, analiști de sistem, programatori profesioniști. Creșterea nivelului instrumentelor lingvistice și a caracterului prietenos al acestora duce la faptul că un număr tot mai mare de funcții sunt realizate de utilizatori non-programatori în mod independent, fără intermediari.

Ca rezultat al acestui lucru munca de curs nu erau suficiente informatii. Au fost luate în considerare, concepute pentru comunicarea între utilizatori de diferite clase și bănci de date. Iar scopul principal al limbajului este dezvoltarea de programe și sisteme inteligente. În această lucrare au fost luate în considerare toate cerințele propuse în cadrul lucrării de curs.

Lista literaturii folosite

1. Revunkov, G.I. Baze de date și bănci de date și cunoștințe / G.I. Revunkov, E.N. Samohvalov, M. Chistov. - M.: facultate, 2005. - 392 p.

2. Shaimardanov, R.B. Modelarea și automatizarea proiectării structurilor bazelor de date / R.B. Shaimardanov. - M.: Radio și comunicare, 2004. - 120 p.

3. Ozkarhan, E. Mașini de baze de date și gestionarea bazelor de date / E. Ozkarhan. - M.: Mir, 2006. - 695 p.

4. Tsekhanovsky, V.V., Yakovlev A. Bănci automate de date / V.V. Cehanovski., A. Yakovlev. - L.: LETI, 2006. - 63 p.

5. Digo S.M. Proiectare baze de date: Manual /.M.: Finanțe și Statistică -1988, -212p.

Postat pe Allbest.ru

Documente similare

    Lucrul cu informațiile stocate în baze de date. Limbajul de descriere a datelor și limbajul de manipulare a datelor. Răspândirea limbilor standardizate. Limbajul structurat interogări SQL. Limbajul de interogare bazat pe modelul QBE. Aplicarea operatorilor lingvistici de bază.

    prezentare, adaugat 14.10.2013

    Luarea în considerare a unui set de programe și instrumente de limbaj (limbaje speciale pentru descrierea și manipularea datelor) concepute pentru crearea, întreținerea și utilizarea bazelor de date. Definiția limbilor de comunicare. Studiul principiilor construirii unei bănci de date.

    rezumat, adăugat 08.07.2017

    Limbajul DBMS intern pentru lucrul cu date. Rezultatul compilării instrucțiunilor DDL. Descrierea unui limbaj DML care conține un set de operatori pentru a sprijini operațiunile de bază pentru manipularea datelor conținute în baza de date. Organizarea datelor și controlul accesului în SQL.

    prelegere, adăugată 19.08.2013

    Caracteristici ale managementului informației în economie. Conceptul și funcțiile unui sistem de management al bazelor de date, utilizarea unui limbaj de interogare relațional standard. Instrumente pentru organizarea bazelor de date și lucrul cu acestea. Sisteme de management al bazelor de date în economie.

    test, adaugat 16.11.2010

    Sistem de management al bazelor de date ca parte integrantă a unei bănci de date automatizate. Structura și funcțiile unui sistem de management al bazelor de date. Clasificarea SGBD după metoda de accesare a bazei de date. Limbajul SQL în sistemele de management al bazelor de date, Microsoft DBMS.

    rezumat, adăugat la 11.01.2009

    Tendinta de dezvoltare a sistemelor de management al bazelor de date. Modele ierarhice și de rețea ale SGBD. Cerințe de bază pentru baza de date distribuita date. Procesare distribuită a interogărilor, interoperabilitate. Tehnologia de replicare a datelor și arhitectura cu mai multe niveluri.

    rezumat, adăugat 29.11.2010

    Concepte de bază de baze de date și sisteme de gestionare a bazelor de date. Tipuri de date cu care lucrează bazele de date Microsoft Access. Clasificarea SGBD și principalele lor caracteristici. Baze de date post-relaționale. Tendințe în lumea sistemelor informaționale moderne.

    lucrare de curs, adăugată 28.01.2014

    Produse software Microsoft: Acces, Visual FoxPro7.0, dBASE. Capabilitati de integrare, colaborareși utilizarea datelor. Sisteme de management al bazelor de date (DBMS), principalele lor funcții și componente. Lucrul cu date în modul tabel.

    lucrare de curs, adăugată 15.12.2010

    Clasificarea bazelor de date. Utilizarea unui pachet de aplicații. Funcțiile de bază ale tuturor sistemelor de gestionare a bazelor de date. Sistem de gestionare a bazelor de date desktop tip relațional Microsoft Access. Stocarea și recuperarea datelor electronice.

    lucrare curs, adaugat 23.04.2013

    Informații teoretice și concepte de bază ale bazelor de date. Sisteme de management al bazelor de date: compoziție, structură, securitate, moduri de operare, obiecte. Lucrul cu baze de date în OpenOffice.Org BASE: crearea de tabele, relații, interogări folosind Expertul de interogări.

Mai precis, funcțiile DBMS includ de obicei următoarele:

1. Gestionați direct datele din memoria externă

Această funcție include furnizarea structurilor de memorie externe necesare atât pentru stocarea datelor direct incluse în baza de date, cât și în scopuri de service, de exemplu, pentru a accelera accesul la date în unele cazuri(de obicei se folosesc indici pentru aceasta). Unele implementări DBMS folosesc în mod activ capacitățile sistemelor de fișiere existente, în timp ce altele lucrează până la nivel dispozitive de memorie externe. Dar subliniem că în SGBD-urile dezvoltate, utilizatorii, în orice caz, nu sunt obligați să știe dacă SGBD-ul utilizează Sistemul de fișiereși, dacă este folosit, cum sunt organizate fișierele. În special, DBMS acceptă propriul sistem de denumire pentru obiectele bazei de date.

2. Gestionarea bufferelor RAM

SGBD-urile lucrează de obicei cu baze de date de dimensiuni semnificative; cel puțin această dimensiune este de obicei semnificativ mai mare decât cantitatea disponibilă de RAM. Este clar că dacă, la accesarea oricărui element de date, se efectuează un schimb cu memorie externă, atunci întregul sistem va funcționa cu viteză. dispozitive de memorie externe. Aproape singura modalitate de a crește cu adevărat această viteză este să tamponați datele din RAM. În același timp, chiar dacă sistem de operare produce buffering la nivel de sistem (ca și în cazul sistemului de operare UNIX), acest lucru nu este suficient pentru scopurile DBMS, care are mult mai multe mai multe informatii despre utilitatea tamponării uneia sau altei părți a bazei de date. Prin urmare, SGBD-urile dezvoltate acceptă propriul set de buffer-uri RAM cu propria lor disciplină de înlocuire a bufferelor.

Rețineți că există o direcție separată a DBMS, care se concentrează pe prezența constantă a întregii baze de date în RAM. Această direcție se bazează pe presupunerea că, în viitor, cantitatea de RAM din computere va fi atât de mare încât nu va mai fi nevoie să vă faceți griji cu privire la stocarea tampon. Aceste lucrări sunt în prezent în stadiu de cercetare.

3. Managementul tranzacțiilor

Tranzacţie - aceasta este o secvență de operații pe o bază de date, considerată de SGBD ca un întreg.

Fie tranzacția se finalizează cu succes și DBMS înregistrează modificările în baza de date efectuate de această tranzacție în memoria externă, fie nici una dintre aceste modificări nu are niciun efect asupra stării bazei de date.

Conceptul de tranzacție este necesar pentru a menține integritatea logică a bazei de date. Să dăm un exemplu de sistem informatic cu fișiere ANGAJAȚI și DEPARTAMENTE; singura modalitate de a nu încălca integritatea bazei de date atunci când se efectuează operațiunea de angajare a unui nou angajat este combinarea operațiunilor elementare pe fișierele ANGAJĂȚI și DEPARTAMENTE într-o singură tranzacție. Astfel, menținerea unui mecanism de tranzacție este o condiție prealabilă chiar și pentru SGBD-urile cu utilizator unic (dacă, desigur, un astfel de sistem merită denumirea SGBD). Dar conceptul de tranzacție este mult mai important în SGBD multi-utilizator.

Proprietatea la care începe fiecare tranzacție stare intactă DB și lasă această stare intactă după finalizarea ei, face un foarte convenabil de utilizat concepte de tranzacție ca unitate activitatea utilizatoruluiîn raport cu baza de date. Cu gestionarea adecvată a tranzacțiilor concurente de către SGBD, fiecare utilizator se poate simți, în principiu, ca singurul utilizator al SGBD (de fapt, aceasta este o vedere oarecum idealizată, deoarece în unele cazuri utilizatorii SGBD multi-utilizator pot simți prezența colegilor lor).

4. Jurnalizarea

Una dintre principalele cerințe pentru un SGBD este fiabilitatea stocării datelor în memoria externă. Fiabilitatea stocării înseamnă că SGBD-ul trebuie să fie capabil să restabilească ultima stare consistentă a bazei de date după orice defecțiune hardware sau software. De obicei, sunt luate în considerare două tipuri posibile de defecțiuni hardware: așa-numitele eșecuri soft, care pot fi interpretate ca o oprire bruscă a computerului (de exemplu, închidere de urgență sursă de alimentare) și defecțiuni grave caracterizate prin pierderea de informații pe mediile de memorie externe. Exemple de erori software pot fi: crash închide DBMS (datorită unei erori în program sau ca urmare a unei defecțiuni hardware) sau o terminare anormală a programului utilizator, în urma căreia unele tranzacții rămân incomplete. Prima situație poate fi considerată ca un tip special de defecțiune hardware soft; atunci când apare aceasta din urmă, este necesar să se elimine consecințele unei singure tranzacții.

Este clar că, în orice caz, pentru a restabili baza de date trebuie să aveți câteva informații suplimentare. Cu alte cuvinte, menținerea fiabilității stocării datelor într-o bază de date necesită redundanță de stocare a datelor, iar partea de date care este utilizată pentru recuperare trebuie să fie stocată în mod deosebit de fiabil. Cea mai comună metodă de a menține astfel de informații redundante este menținerea jurnalul de modificări DB.

Revistă - aceasta este o parte specială a bazei de date, inaccesibilă utilizatorilor DBMS și întreținută cu grijă deosebită (uneori se păstrează două copii ale jurnalului, situate pe diferite discuri fizice), care primește înregistrări ale tuturor modificărilor aduse părții principale a bazei de date.În diferite SGBD, modificările bazei de date sunt înregistrate la diferite niveluri: uneori o intrare de jurnal corespunde unei operații logice de modificare a bazei de date (de exemplu, o operație de ștergere a unui rând dintr-un tabel al bazei de date relaționale), uneori unei operații interne minime de modificare. o pagină de memorie externă; unele sisteme folosesc ambele abordări simultan.

În toate cazurile, se urmează strategia de logare „proactivă” (așa-numitul protocol Write Ahead Log - WAL). Aproximativ vorbind, această strategie este aceea că ar trebui inclusă o înregistrare a unei modificări în orice obiect al bazei de date memorie externa log înainte ca obiectul modificat să intre în memoria externă a părții principale a bazei de date. Se știe că, dacă protocolul WAL este respectat corect în DBMS, atunci folosind jurnalul puteți rezolva toate problemele de restaurare a bazei de date după orice eșec.

Cel mai situatie simpla recuperare - returnarea tranzacției individuale. Strict vorbind, acest lucru nu necesită un sistem la nivel de sistem jurnalul de modificări DB. Este suficient ca fiecare tranzacție să mențină un jurnal local al operațiunilor de modificare a bazei de date efectuate în această tranzacție și să anuleze tranzacția prin executarea operatii inverse, care urmează de la sfârșitul jurnalului local. Unele SGBD-uri fac acest lucru, dar în majoritatea sistemelor jurnalele locale nu sunt acceptate, iar derularea tranzacțiilor individuale sunt efectuate folosind jurnalul la nivel de sistem, pentru care toate înregistrările dintr-o tranzacție sunt legate lista inversă(de la capăt la început).

5. Suport pentru limbile baze de date

Folosit pentru a lucra cu baze de date limbi speciale, denumite colectiv limbi de baze de date. SGBD-urile timpurii au suportat mai multe limbi specializate în funcțiile lor. Cel mai adesea au fost identificate două limbi

  • limbajul de definire a schemei bazei de date(SDL - Schema Definition Language) și
  • limbaj de manipulare a datelor(DML - Limbajul de manipulare a datelor).

SDL a servit în principal pentru a determina structura logica DB, adică structura bazei de date așa cum apare utilizatorilor. DML conținea un set de operatori de manipulare a datelor, de ex. operatori care vă permit să introduceți date în baza de date, să ștergeți, să modificați sau să selectați datele existente.

SGBD-urile moderne acceptă de obicei un singur limbaj integrat care conține toate fondurile necesare pentru lucrul cu o bază de date, începând de la crearea acesteia, și furnizarea unei interfețe de bază de utilizator cu baze de date. Limbajul standard al celui mai comun SGBD relațional în prezent este limbajul de interogare SQL (Structured Query Language).

Limbajul SQL conţine mijloace speciale definiții constrângeri de integritate DB. Încă o dată, constrângeri de integritate stocate în tabele speciale de catalog și furnizarea controlul integritatii Baza de date este produsă la nivel de limbă, adică. la compilarea operatorilor de modificare a bazei de date, compilatorul SQL se bazează pe cei disponibili în baza de date constrângeri de integritate generează codul de program corespunzător.

Operatorii speciali de limbaj SQL vă permit să definiți așa-numitele vizualizări ale bazei de date, care sunt de fapt interogări stocate în baza de date (rezultatul oricărei interogări către o bază de date relațională este un tabel) cu coloane numite. Pentru utilizator, o vizualizare este același tabel cu orice tabel de bază stocat într-o bază de date, dar cu ajutorul vizualizărilor puteți limita sau, dimpotrivă, extinde vizibilitatea bazei de date pentru un anumit utilizator. Reprezentările se mențin și la nivel lingvistic.

In cele din urma, autorizare de acces la obiectele bazei de date se face, de asemenea, pe bază set special Instrucțiuni SQL. Ideea este aceea de a executa instrucțiuni SQL tipuri diferite utilizatorul trebuie să aibă diverse permisiuni. Utilizatorul care a creat tabelul bazei de date are un set complet de drepturi pentru a lucra cu acest tabel. Aceste puteri includ puterea de a delega toate sau o parte din puterea altor utilizatori, inclusiv puterea de transfer. Permisiunile utilizatorului sunt descrise în tabele speciale de catalog, iar controlul permisiunilor este acceptat la nivel de limbă.

Funcționalitatea DBMS

În funcție de gradul de universalitate, se disting două clase de SGBD:

  • sisteme scop general - implementat ca produs software capabil să funcționeze pe un computer într-o anumită măsură sistem de operareși furnizate utilizatorilor ca produs comercial;
  • sisteme specializate - create în cazurile în care este imposibil sau nu este adecvat să se utilizeze un SGBD cu scop general.

SGBD-urile de uz general sunt sisteme software complexe concepute pentru a îndeplini întregul set de funcții asociate cu crearea și funcționarea unui sistem de informații de bază de date.

Piața de software pentru PC are un număr mare de sisteme DBMS comerciale de uz general, care sunt diverse în funcționalitatea lor.

DBMS sunt lideri pe piața de software:

  • dBASE IV, Borland International;
  • Microsoft Access 2007;
  • Microsoft FoxPro 2.6 pentru DOS;
  • Microsoft FoxPro pentru Windows,Microsoft Corp:
  • Paradox pentru DOS 4.5:
  • Paradox pentru Windows, versiunea 4.5 Borland.

Performanţă SGBD-ul este evaluat:

  • timpul de executare a cererii;
  • viteza de regăsire a informațiilor;
  • sincronizarea operațiunilor de import de date din alte formate;
  • viteza de efectuare a operațiunilor precum actualizarea, inserarea, ștergerea datelor;
  • numărul maxim de accesări paralele la date în modul multi-utilizator;
  • momentul generării raportului.

Pe performanţă DBMS este influențat de 2 factori:

  • proiectare adecvată
  • construirea unei baze de date.

Funcționalitatea modelului de date susținut de SGBD devine disponibilă utilizatorului datorită instrumentelor sale de limbaj. Instrumentele de limbaj DBMS sunt folosite pentru a îndeplini două funcții principale - pentru a descrie prezentarea bazei de date la niveluri gestionabile ale arhitecturii sistemului și pentru a efectua operațiuni de manipulare a datelor.

Limbajul descrierii datelor(DL) are scopul de a specifica o schemă a bazei de date, care include o descriere a structurii bazei de date și a constrângerilor de integritate impuse acesteia în cadrul regulilor reglementate de modelul de date care este suportat de SGBD în cauză. Pe lângă aceste funcții, DDL-urile oferă și posibilitatea de a seta restricții privind accesul la date sau permisiunile utilizatorului.

Limbajul de manipulare a datelor(YMD) vă permite să interogați operațiunile furnizate în sistem pe datele din baza de date. După executarea instrucțiunii înregistrate pe NMD, conținutul informațional al bazei de date se modifică

Limbajul de interogare(YAZ) vă permite să selectați date din baza de date, să le agregați și să le supuneți tuturor tipurilor de procesare analitică.

Similar cu limbajul de definire a datelor, DML nu apare neapărat sub forma unui limbaj DBMS independent sintactic. În practică, separarea armelor nucleare și nucleare joacă un rol mai degrabă metodologic sau este folosită în scopuri tehnologice.

LDL, YMD și LL nu sunt întotdeauna formalizate sintactic ca limbi independente. Dimpotrivă, acum toate fac parte dintr-un singur limbaj relațional, SQL. Din 1986, au fost adoptate o serie de versiuni ale standardului internațional SQL. Este folosit în majoritatea SGBD-urilor relaționale comerciale, inclusiv în cele de pe computere personale.

Unele SGBD-uri au limbaje care nu numai că implementează funcțiile de definire și manipulare a datelor, dar au și caracteristici caracteristice limbajelor de programare universale. Datorită acestui fapt, ele pot fi folosite ca un instrument complet funcțional pentru crearea aplicațiilor de sistem de baze de date. Ca exemplu, oferim limbajele sistemelor dBase, Clipper și Paradox.

Pentru a avea instrumente avansate de dezvoltare a aplicațiilor, DBMS oferă interfețe de programare a aplicațiilor. Aplicațiile pentru astfel de sisteme pot fi dezvoltate prin extinderea limbajului de programare tradițional cu operatori (comenzi, funcții, proceduri etc.) ai interfeței specificate. Datorită acestui fapt, incompletitudinea funcțională a limbilor acestui sistem va fi completată. Limbajul de programare acționează ca un limbaj incluziv în relație cu limbajul interfeței de programare a aplicațiilor DBMS, iar sistemele de aplicații sunt implementate într-un astfel de limbaj extins. Interfețele de programare a aplicațiilor sunt furnizate în multe SGBD-uri.



Întrebări de testare pe această temă.

1. În ce forme pot fi implementate instrumentele lingvistice ale modelului de date într-un SGBD?

2. Care sunt cele două funcții principale ale instrumentelor de limbaj pentru modelul de date?

3. Care sunt scopurile limbajelor de definire a datelor într-un SGBD?

4.Ce este o schemă de bază de date, ce relație există între schemă și limbajul de definire a datelor?

5. Ce limbi sunt folosite pentru a defini mapările de date între niveluri într-un SGBD?

6.Ce funcții îndeplinesc limbajele de manipulare a datelor?

7.Dați un exemplu de limbaj care realizează atât definirea datelor, cât și funcțiile de manipulare a datelor.

8. Care este scopul limbajelor de interogare DBMS?

9. În ce scopuri au fost dezvoltate limbaje de programare a bazelor de date?

Orez. 1.4. Structura DBMS

Dicţionar controller– oferă acces la catalogul de sistem și lucrați cu acesta.

Controler de fișiere– manipulează fișierele de date și este responsabil de distribuție spatiu pe disc. Nu gestionează I/O fizice, ci mai degrabă transmite cereri către metodele de acces corespunzătoare ale sistemului de operare.

Controler baze de date– interacționează cu programele și solicitările lansate de utilizatori. Acceptă interogări și examinează schemele externe și conceptuale pentru a determina acele înregistrări conceptuale care sunt necesare pentru a executa o interogare la baza de date. Controlerul bazei de date îl apelează apoi pe controlerul de fișiere pentru a executa cererea. Controlerul bazei de date include următoarele componente software:

· controlul drepturilor de acces – verifică dacă un anumit utilizator are autoritatea de a efectua operațiunea solicitată;

· procesor de comenzi – execută cererea;

· instrumente de control al integrității – verificați restricțiile de suport pentru integritate la efectuarea operațiunilor de modificare a datelor;

· Optimizator de interogări – determină strategia optimă de execuție a interogărilor;

· controlor de tranzacții – procesează operațiunile primite în timpul procesului de tranzacție;

· planificator – este responsabil pentru executarea fără conflicte a operațiunilor paralele cu baza de date și gestionează ordinea relativă de execuție a operațiunilor definite în diferite tranzacții;

· controler de recuperare – responsabil cu restaurarea bazei de date în cazul defecțiunilor la o stare consistentă;

· Controler buffer – responsabil pentru transferul de date între RAM și hard disk.

Multe SGBD-uri suportă capacitatea de implementare proprii operatoriîn limbaje de nivel înalt (COBOL, Fortran, Pascal, Ada, C). Dar DBMS acceptă 2 limbaje specializate pentru dezvoltarea aplicațiilor de baze de date - DDL (Data Definition Language) și DMD (Data Manipulation Language). YaOD– un limbaj descriptiv pentru definirea schemei logice a unei baze de date. Constă dintr-un set de instrucțiuni care definesc schema bazei de date. Rezultatul compilării unor astfel de descrieri (scheme conceptuale și externe) este un set de tabele stocate într-un catalog special al sistemului de baze de date. (Stochează metadate). DDL nu este folosit pentru a lucra cu date. În acest scop este folosit YaMD, care conține un set de operatori care efectuează prelucrarea datelor: căutare, adăugare, modificare și ștergere. Suportul MD nuclear este una dintre funcțiile principale ale unui SGBD. Există 2 abordări pentru implementarea NMD: procedurală și declarativă.

Folosind medicina nucleara procedurala utilizatorul determină succesiunea acțiunilor care trebuie efectuate pentru a obține rezultatul dorit. Această abordare este similară cu modul în care sunt implementate limbajele de programare procedurală (Pascal, C etc.). În acest caz, YMD oferă utilizatorului un set de operatori pe date. Acest tip include limbaje bazate pe algebră relațională.

NMD declarativ vă permit să definiți toate cerințele pentru datele rezultate folosind un singur operator. În acest caz, nu este nevoie să cunoașteți detaliile implementării interne a structurilor de date și caracteristicile algoritmilor utilizați pentru a le prelua. Acest tip include limbaje bazate pe calculul relațional SQL și QBE. SQL(Structured Query Language) se bazează pe calcul relațional și este acceptat de toată lumea SGBD relațional. Pentru aceasta a fost definit un standard internațional. QBE(Query By Example) este un limbaj simplu cu o interfață grafică care permite utilizatorilor neprofesioniști să formuleze o interogare (de exemplu, în Access DBMS).

SGBD-urile moderne conțin și un set de instrumente care facilitează dezvoltarea aplicațiilor de baze de date - diverse tipuri de generatoare:

  • formulare de ecran – pentru crearea șabloanelor de introducere a datelor;
  • rapoarte;
  • prezentarea grafică a datelor sub formă de diagrame;
  • aplicatii pentru crearea de programe de prelucrare a datelor.