Funcțiile limbajului înseamnă subd. Subd instrumente de limbaj

DB – sov interconectat. și structurat date pe suporturi care pot fi citite de mașină. Informațiile sunt prelucrate în baza de date folosind un computer.

Distinge fapticeȘi film documentar Bază de date. O bază de date cu fapte stochează o mulțime de informații despre obiectele din domeniul subiectului, proprietățile lor și conexiunile dintre ele. Baza de date documentară vă permite nu numai să acumulați și să procesați documente text arbitrare, ci și să le căutați rapid datorită prezentării structurate și interconectate a informațiilor din baza de date.

Conectarea bazelor de date între ele și cu utilizatori la distanță folosind rețele de date oferă un efect neobișnuit de puternic în utilizarea resurselor de informații.

Căutarea datelor necesare într-o bază de date electronică are loc în câteva secunde, iar în cazul utilizării rețelelor de calculatoare, nu există nicio diferență fundamentală dacă utilizatorul se află lângă computerul care stochează informațiile sau se află la sute sau mii de kilometri distanță. din ea. În același timp, mulți clienți pot folosi aceleași date simultan (spre deosebire de o bibliotecă obișnuită).

Valoarea principală a bazei de date este de a oferi posibilitatea unei căutări de actualitate, în care utilizatorul, folosind cuvinte cheie date, află numărul de surse primare din baza de date, restrânge problema, citește titlurile articolelor și, eventual, ale acestora. rezumate. Dacă baza de date conține texte complete, el poate tipări singur cele mai interesante fragmente din acestea. Întreaga sesiune de dialog cu baza de date durează 20 - 40 de minute, iar cea mai mare parte a timpului este petrecut pe reacția utilizatorului.

Toate procesele din baza de date sunt implementate de un sistem de management al bazei de date (DBMS). DBMS este un set de limbaje și software, menită să descrie baza de date, crearea, întreținerea și utilizarea acesteia de către mulți utilizatori.

De bază Funcții DBMS:

1) crearea bazelor de date pe un computer

2) intrare, acumulare, vizualizare și modificare. Date

3) răspunsuri la solicitările de date

4) întocmirea rapoartelor,

Bazele de date (DB) formează în prezent baza suportului informatic pentru procesele informaționale care fac parte din aproape toate sferele activității umane. Universalitatea lor este determinată de faptul că procesele de prelucrare a informației au o natură comună și se bazează pe o descriere a fragmentelor de realitate, exprimată ca un set de date interconectate. Bazele de date sunt un mijloc eficient de reprezentare și manipulare a structurilor de date. Conceptul de baze de date implică utilizarea unor mijloace integrate de stocare a informațiilor, permițând gestionarea centralizată a datelor și deservirea multor utilizatori.

descrise sau modelate folosind baza de date și aplicațiile acesteia. În domeniul subiectului sunt identificate obiecte informaționale - obiecte identificabile din lumea reală, procese, sisteme, concepte etc., informații despre care sunt stocate în baza de date.

Etapele implementării bazei de date corespund nivelurilor de descriere a domeniului subiectului: realitatea așa cum există; descrierea conceptuală a realității; prezentarea descrierii sub formă de text formal și implementarea fizică a bazei de date pe suport informatic.

Pentru a fi introdusă în baza de date, descrierea domeniului subiectului trebuie prezentată în termenii unui limbaj special de descriere a datelor (DDL), care este inclus în setul de instrumente DBMS. DDL împarte datele în tipuri.


Tipuri de date.

Pentru a fi introdusă în baza de date, descrierea domeniului subiectului trebuie prezentată în termenii unui limbaj special de descriere a datelor (DDL), care este inclus în setul de instrumente DBMS. DEA împarte datele în următoarele tipuri.

Simplu (elementar) dat - este cea mai mică unitate de date numită semnificativă semantic (de exemplu, numele navei, numele armatorului, portul de origine etc.). Valorile unei date simple descriu caracteristica unui obiect reprezentat de acesta pentru fiecare dintre instanțele sale. Numele datelor simple sunt stocate în descrierea bazei de date, în timp ce valorile lor sunt stocate în baza de date în sine.

O colecție de date simple poate fi combinată în dată compozită doua feluri. În primul rând, puteți conecta mai multe tipuri diferite de date. Conform acestui principiu, se formează date structurale, sau un anumit tip „structură”. Descrierea unei structuri constă dintr-o listă a părților sale constitutive, valoarea - a valorilor datelor sale constitutive. În al doilea rând, compus aceasta poate combina un set de date de același tip (lista de angajați, istoricul angajatului etc.). O dată compusă de acest tip se numește matrice. În descrierea unui $array, este suficient să indicați descrierea unui element. Valoarea unei matrice este reprezentată de o listă omogenă a valorilor elementelor sale.

Tipuri de compuse m.b. combinate într-o date cu mai multe niveluri. Reprezentarea domeniului subiectului sub forma unei structuri de date ierarhice. conexiuni – ierarhice. Model de date.


5. Baze de date relaționale.

RT – DB, în cat. toate datele disponibile utilizatorului sunt organizate sub formă de link-uri. Tabelele și toate operațiunile asupra datelor sunt reduse la operațiuni pe aceste tabele.

Definit de cele 12 reguli ale lui Codd.

regula 0: Regula de bază: Un SGBD relațional trebuie să fie capabil să gestioneze pe deplin baza de date folosind relații dintre date.:

A fi sistem relațional sistem de management al bazei de date (DBMS), sistemul trebuie să utilizeze exclusiv capacitățile sale relaționale pentru a gestiona baza de date.

Regula 1: Regula informației:

Informațiile trebuie prezentate sub formă de date stocate în celule. Datele stocate în celule trebuie să fie atomice. Ordinea rândurilor dintr-un tabel relațional nu ar trebui să afecteze semnificația datelor.

Regula 2: Regulă de acces garantat:

Accesul la date trebuie să fie lipsit de ambiguitate. Fiecare element de date trebuie să fie garantat a fi accesibil folosind o combinație de nume de tabel, cheie primară de rând și nume de coloană.

Regula 3: Tratamentul sistematic al valorilor nule:

Valorile NULL necunoscute, distincte de orice valoare cunoscută, trebuie să fie acceptate pentru toate tipurile de date în toate operațiunile. De exemplu, pentru datele numerice, valorile necunoscute nu trebuie tratate ca zerouri, iar pentru datele cu caractere, valorile necunoscute nu trebuie tratate ca șiruri goale.

regula 4: Accesul la dicționarul de date în ceea ce privește modelul relațional (Catalog activ on-line pe baza modelului relațional):

Dicționarul de date trebuie să fie stocat sub formă de tabele relaționale, iar SGBD-ul trebuie să accepte accesul la acesta folosind instrumente de limbaj standard, aceleași care sunt folosite pentru a lucra cu tabele relaționale care conțin date utilizator.

Regula 5: Regulă cuprinzătoare pentru sublimbajul datelor:

Un sistem de management al bazelor de date relaționale trebuie să suporte cel puțin un limbaj relațional care

(a) are o sintaxă liniară,

(b) poate fi utilizat atât interactiv, cât și în programe de aplicație,

(c) acceptă operațiunile de definire a datelor, operațiunile de definire a vizualizării, manipularea datelor (interactivă și programatică), operațiunile de constrângere a integrității, operațiunile de control al accesului și operațiunile de control al tranzacțiilor (începe, commit și rollback).

Regula 6: Vedeți regula de actualizare:

Fiecare vizualizare trebuie să suporte toate operațiunile de manipulare a datelor pe care le suportă tabelele relaționale: selectarea, inserarea, modificarea și ștergerea datelor.

Regula 7: Disponibilitatea operațiunilor de gestionare a datelor la nivel înalt (Inserare, actualizare și ștergere la nivel înalt):

Operațiile de inserare, modificare și ștergere a datelor trebuie suportate nu numai în raport cu un rând al tabelului relațional, ci în raport cu orice set de rânduri.

Regula 8: Independența datelor fizice:

Aplicațiile nu ar trebui să depindă de metodele utilizate pentru stocarea datelor pe medii sau de hardware-ul computerelor pe care se află baza de date relațională.

Regula 9: Independența datelor logice:

Prezentarea datelor într-o aplicație nu ar trebui să depindă de structura tabelelor relaționale. Dacă procesul de normalizare împarte un tabel relațional în două, vizualizarea trebuie să se asigure că datele sunt îmbinate, astfel încât modificarea structurii tabelelor relaționale să nu afecteze aplicațiile.

Regula 10: Integritate Independență:

Toate informațiile necesare pentru menținerea integrității trebuie să fie conținute în dicționarul de date. Un limbaj de date trebuie să valideze datele de intrare și să mențină automat integritatea datelor.

Regula 11: Independența distribuirii:

Baza de date poate fi distribuită, poate fi localizată pe mai multe computere, iar acest lucru nu ar trebui să aibă impact asupra aplicațiilor. Mutarea bazei de date pe alt computer nu ar trebui să aibă niciun impact asupra aplicațiilor.

Regula 12: Regula de non-subversiune:

Dacă este folosit limbaj de nivel scăzut accesul la date, nu trebuie să ignore regulile de securitate și regulile de integritate care sunt suportate de limbajul de nivel superior.


6. SQL este un limbaj standard pentru lucrul cu baze de date

Pentru a procesa și a citi datele conținute într-o bază de date computerizată, utilizați. SQL este o abreviere pentru structurat limbajul de interogare(Limbajul de interogare structurat). Din motive istorice, abrevierea SQL este de obicei citită ca „o continuare”, dar sunt folosite și pronunții alternative. – „escuel”

După cum sugerează și numele, SQL este un limbaj de programare care este folosit pentru a organiza interacțiunea utilizatorului cu baza de date. De fapt, SQL funcționează doar cu un anumit tip de bază de date, și anume relațională.

În fig. Figura 2.3 arată cum funcționează SQL. Conform acestei diagrame. Un sistem informatic are o bază de date în care sunt stocate anumite tipuri de informații. Dacă sistemul informatic aparține sectorului de afaceri, atunci baza de date stochează date privind bunurile materiale, produsele fabricate, volumele vânzărilor și salariile. O bază de date pe un computer personal poate stoca informații despre cecuri scrise, numere de telefon și adrese sau informații preluate de la un sistem informatic mai mare. Indicat separat în figură (DBMS).

solicitarea datelor și obținerea rezultatului se numește interogare la baza de date, de unde și denumirea – structurată. Limbajul de interogare. Cu toate acestea, acest nume nu corespunde în totalitate realității. În primul rând, astăzi SQL este mult mai mult decât un simplu instrument de interogare, deși pentru asta a fost destinat inițial. Deși citirea datelor este încă una dintre cele mai importante Funcții SQL- acum acest limbaj este folosit pentru a implementa toate funcționalitățile pe care SGBD-ul le oferă utilizatorului. Acestea includ următoarele:

Organizarea datelor. SQL oferă utilizatorului posibilitatea de a schimba structura prezentării datelor, precum și de a stabili relații între elementele bazei de date.

Citirea datelor. SQL va oferi utilizatorului sau aplicației posibilitatea de a citi și utiliza datele conținute în baza de date.

Procesarea datelor. Folosind SQL, puteți modifica conținutul bazei de date, de ex. adăugați altele noi, precum și ștergeți sau actualizați datele existente.

Controlul accesului. La Ajutor SQL Administratorul bazei de date poate limita capacitatea utilizatorului de a citi și modifica datele și le poate proteja de accesul neautorizat.

Partajarea datelor. SQL coordonează partajarea datelor între utilizatorii care lucrează în paralel, astfel încât aceștia să nu interfereze unul cu celălalt.

Integritatea băilor. SQL ajută la asigurarea integrității bazei de date, protejând-o împotriva distrugerii din cauza modificărilor inconsecvente sau a defecțiunii sistemului

Astăzi, SQL este singurul limbaj standard pentru lucrul cu baze de date relaționale.


7. Sistemul ACCES.

Accesul este în primul rând un sistem de gestionare a bazelor de date (DBMS). Ca și alte produse din această categorie, este conceput pentru stocarea și preluarea datelor, prezentarea informațiilor într-un mod convenabil și automatizarea operațiunilor repetate frecvent (cum ar fi contabilitate, contabilitate, planificare etc.). Folosind Access, puteți dezvolta formulare simple și convenabile de introducere a datelor, precum și să procesați datele și să emiteți rapoarte complexe.

Acces- aplicație puternică ferestre; Pentru prima dată, performanța unui DBMS este combinată perfect cu confortul pe care utilizatorii Microsoft Windows o au la dispoziție. Deoarece ambele produse sunt creația Microsoft, ele interacționează perfect între ele. Accesul operează sub Control Windows 95 sau Windows NT, astfel încât atunci când lucrează cu acesta, utilizatorul să aibă toate beneficiile Windows. Puteți tăia, copia și lipi date din orice aplicație Windows în Access și invers; Puteți crea un proiect de formular în Access și îl puteți introduce în designerul de formulare.

Pentru a lucra cu baze de date, se folosesc limbaje speciale, numite în general limbajele bazei de date. SGBD-urile timpurii au suportat mai multe limbi specializate în funcțiile lor. Cel mai adesea, două limbi s-au evidențiat - limbaj de definire a schemei DB (DDL - Limbajul de definire a datelor)Și limbaj de manipulare a datelor (DML - Data Manipulation Language). DDL a servit în principal pentru a defini structura logică a bazei de date, 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.

ÎN SGBD modern De obicei este suportat un singur limbaj integrat, care conține toate instrumentele necesare pentru lucrul cu o bază de date, începând de la crearea acesteia, și oferind o interfață de bază de utilizator cu bazele de date. Limbajul standard al celui mai comun SGBD relațional în prezent este SQL (Structured Query Language), care combină instrumentele DDL și DML.


CAPITOLUL 2. ORGANIZAREA TIPICĂ A UNUI SGBD MODERN

Desigur, organizarea unui SGBD tipic și compoziția componentelor sale corespund setului de funcții considerat.

În mod logic, într-un SGBD relațional modern, se poate distinge partea cea mai internă - nucleul SGBD (numit adesea Data Base Engine), compilatorul limbajului bazei de date (de obicei SQL), subsistemul de suport pentru runtime și un set de utilități. În unele sisteme aceste părți se disting clar, în altele nu, dar logic o astfel de împărțire poate fi efectuată în toate SGBD-urile. (Fig. 1)

Nucleul DBMS este responsabil de gestionarea datelor în memorie externa, managementul tamponului memorie cu acces aleator, gestionarea tranzacțiilor și înregistrarea în jurnal. În consecință, este posibil să se distingă astfel de componente ale miezului (prin macar, în mod logic, deși unele sisteme fac aceste componente explicite), cum ar fi managerul de date, managerul de buffer, managerul de tranzacții și managerul de jurnal. Funcțiile acestor componente sunt interconectate, și pentru a asigura funcţionare corectă DBMS, toate aceste componente trebuie să interacționeze folosind protocoale atent gândite și dovedite. Nucleul DBMS are o interfață proprie, care nu este direct accesibilă utilizatorilor și este utilizată în programele produse de compilatorul SQL (sau în subsistemul de suport pentru execuția unor astfel de programe) și utilitățile bazei de date. Nucleul DBMS este principala parte rezidentă a DBMS. Când utilizați o arhitectură client-server, nucleul este componenta principală a părții server a sistemului.

Functie principala compilator de limbaj de bază de date este compilarea instrucțiunilor limbajului bazei de date într-un program executabil. Principala problemă a SGBD-urilor relaționale este că limbajele acestor sisteme (de obicei SQL) sunt non-procedurale, adică. în operatorul unui astfel de limbaj este specificată o anumită acțiune asupra bazei de date, dar această specificație nu este o procedură, ci doar descrie într-o anumită formă condițiile pentru efectuarea acțiunii dorite. Prin urmare, compilatorul trebuie să decidă cum să execute o instrucțiune de limbaj înainte de a produce programul. Sunt utilizate metode destul de complexe de optimizare a operatorilor, pe care le vom analiza în detaliu în capitolele următoare.



Rezultatul compilării este un program executabil, reprezentat pe unele sisteme în codul mașinii, dar mai des în codul executabil intern independent de mașină. În acest din urmă caz, execuția efectivă a declarației se realizează cu folosind subsistemul suport de rulare, care este, în esență, un interpret al acestui limbaj intern.

În cele din urmă, în utilități individuale de bază de date De obicei, sunt identificate proceduri care sunt prea costisitoare pentru a fi efectuate folosind limbajul bazei de date, de exemplu, încărcarea și descărcarea unei baze de date, colectarea de statistici, verificarea globală a integrității bazei de date etc. Utilitarele sunt programate folosind interfața nucleului DBMS și uneori chiar pătrund în nucleu.

Orez. 1. Relația dintre programe și date atunci când se utilizează un SGBD

Clasificarea utilizatorilor SGBD

Utilizatorii DBMS pot fi împărțiți în 3 grupuri mari.

În primul rând - programatori de aplicatii, care sunt responsabili pentru scrierea programelor de aplicație care utilizează baza de date. Programele de aplicație realizează toate operațiunile standard asupra datelor: eșantionare informatii existente, introduceți informație nouă, ștergerea sau actualizarea informațiilor existente. Toate aceste funcții sunt efectuate printr-o interogare corespunzătoare către SGBD. Aceste programe pot fi programe simple procesare în lot sau operațională aplicații a căror funcție este de a sprijini activitatea utilizatorului final care are direct acces rapid la baza de date printr-o stație de lucru sau terminal. Cele mai multe aplicații moderne sunt operaționale.

Al doilea - utilizatori finali, care lucrează cu sistemele de baze de date direct printr-o stație de lucru sau terminal. Utilizatorul final poate accesa baza de date folosind una dintre aplicațiile operaționale menționate mai sus sau poate utiliza interfața software integrată a sistemului de baze de date însuși. Această interfață este, de asemenea, acceptată aplicație operațională, dar această aplicație nu este creată de utilizator, ci este incorporatîn sistemul de baze de date. Majoritatea sistemelor au cel puțin o astfel de aplicație încorporată, și anume: procesor de limbaj de interogare, care permite utilizatorului să specifice comenzi sau expresii de nivel înalt (cum ar fi select sau insert) pentru un anumit DBMS. Limbajul SQL menționat mai sus este un exemplu tipic de limbaj de interogare a bazei de date.

Cometariu. Termenul comun „limbaj de interogare” nu reflectă cu acuratețe conceptul în cauză, deoarece cuvântul „interogare” implică doar o selecție, în timp ce limbajul efectuează și operațiuni de actualizare, inserare și ștergere (și posibil multe altele).

Pe lângă limbajul de interogare, majoritatea sistemelor oferă și interfețe încorporate suplimentare în care utilizatorul nu utilizează în mod explicit comenzi precum select. Pentru a lucra cu această bază de date, utilizatorul, de exemplu, selectează comenzile de meniu necesare sau completează câmpurile din formulare. Astfel de interfețe bazate pe meniuri și formulare, ușurează lucrul cu baze de date pentru cei care nu au experiență în lucrul cu tehnologiile informaționale (IT; este adesea folosită și abrevierea IS - sisteme informaționale, aceste concepte sunt aproape echivalente). Comanda interfata, acestea. Limbajul de interogare, pe de altă parte, necesită ceva (poate nu foarte mult) experiență IT. Cu toate acestea, o interfață de comandă este de obicei mai flexibilă decât una bazată pe meniuri și formulare; În plus, limbajele de interogare au de obicei anumite caracteristici care nu sunt acceptate de interfețele bazate pe meniu și formulare.

a treia grupă - administratori de baze de date, sau DBA.

Să aruncăm o privire mai atentă asupra conceptului de management centralizat. Se presupune că, cu managementul centralizat într-o întreprindere care utilizează un sistem de baze de date, există o persoană care are responsabilitatea principală pentru datele întreprinderii. Acest administrator de date, sau BP, menționate mai devreme în acest capitol. Datorită faptului că datele (după cum s-a menționat mai sus) sunt una dintre principalele valori ale întreprinderii, administratorul trebuie să înțeleagă datele și să înțeleagă nevoile întreprinderii în legătură cu datele. la nivelul managementului conducerii de vârf a întreprinderii. Astfel, este responsabilitatea managerului de date să decidă ce date trebuie introduse mai întâi în baza de date și să se asigure că datele sunt menținute și utilizate în ordine odată ce au fost introduse în baza de date. De exemplu, trebuie să indice cine, în ce condiții, pe ce date și ce operațiuni poate efectua. Cu alte cuvinte, trebuie să ofere securitatea datelor.

Este foarte important ca administratorul de date să lucreze ca manager, și nu ca specialist probleme tehnice(deși el, desigur, ar trebui să aibă o bună înțelegere a capacităților bazelor de date pe nivel tehnic). Tehnic specialist responsabil cu implementarea solutiilor administrator de date, - Acest administratorul bazei de date, sau DBA. Deci, un administrator de baze de date, spre deosebire de un administrator de date, trebuie să fie specialist profesionist în domeniul tehnologiei informației. Sarcina unui DBA este să creeze bazele de date în sine și control tehnic necesare implementării deciziilor administratorului de date. DBA este, de asemenea, responsabil pentru asigurarea performanței și întreținerii sistemului necesare. De obicei, un DBA are un personal de programatori de sistem și asistenți tehnici (adică, în practică, funcțiile unui DBA sunt îndeplinite de o echipă de mai multe persoane, mai degrabă decât de un singur angajat). Cu toate acestea, pentru simplitate, este convenabil să presupunem că administratorul bazei de date este o singură persoană.

DISTRIBUȚIA RESPONSABILITĂȚILOR ÎN SISTEME DE BAZĂ DE DATE.

Una dintre componentele mediului DBMS sunt utilizatorii.

Utilizatorii SGBD pot fi împărțiți în 4 grupuri diferite: administratori de date și baze de date, dezvoltatori de baze de date, programatori de aplicații și utilizatori finali.

Administratori de date și administratori de baze de date.

Baza de date și DBMS sunt resurse ale întreprinderii care ar trebui gestionate la fel ca orice altă resursă. De obicei, gestionarea datelor și a bazelor de date implică gestionarea și controlul SGBD-ului și a datelor stocate în acesta.

Administratorul de date (DA) este responsabil pentru gestionarea datelor, inclusiv planificarea bazei de date, dezvoltarea și întreținerea standardelor, regulilor de afaceri și procedurilor de afaceri și proiectarea bazei de date conceptuale și logice. AD consiliază și face recomandări conducerii superioare, monitorizând conformitatea direcției generale de dezvoltare a bazei de date cu obiectivele corporative stabilite.

Un administrator de baze de date (DBA) este responsabil pentru implementarea fizică a bazei de date, inclusiv proiectarea și implementarea fizică, asigurarea securității și integrității datelor, menținerea sistemului de operare și asigurarea performanței maxime a aplicațiilor și a utilizatorilor. În comparație cu AD, responsabilitățile unui DBA sunt de natură mai tehnică și necesită cunoștințe specifice DBMS și a mediului de sistem. În unele organizații, nu se face distincție între aceste roluri, în timp ce în altele importanța resurselor corporative se reflectă tocmai în alocarea unor grupuri separate de personal cu gama specificată de responsabilități.

Administrarea datelor si administrarea bazei de date.

Administratorul de date (DA) și Administratorul bazei de date (DBA) sunt responsabili pentru gestionarea activităților legate de datele întreprinderii și, respectiv, baza de date a întreprinderii. Să luăm în considerare scopurile și obiectivele care sunt incluse în responsabilitățile AD și DBA într-o anumită organizație. Următorul tabel prezintă pașii ciclu de viață aplicațiile de bază de date și indică contribuția AD și DBA asupra fiecăreia dintre ele (sau rolurile pe care le îndeplinesc (principal sau auxiliar)).

Tabelul 1. Etapele ciclului de viață al bazei de date care indică rolul AD și DBA

Etapă Rol principal Rol de sprijin
Planificarea dezvoltării bazei de date IAD DBA
Determinarea cerințelor de sistem IAD DBA
Colectarea și analiza cerințelor utilizatorilor IAD DBA
Proiectare conceptuală a bazei de date IAD DBA
Selectarea unui SGBD țintă DBA IAD
Proiectarea bazei de date logice IAD DBA
Dezvoltarea aplicației DBA IAD
Proiectarea bazei de date fizice DBA IAD
Prototiparea DBA IAD
Implementarea DBA IAD
DBA IAD
Cote DBA IAD
Operare și întreținere DBA IAD

Administratorul de date are un rol mai activ în primele etape ale ciclului de viață - de la planificarea bazei de date până la design logic, în timp ce Administratorul bazei de date joacă un rol mai activ în etapele ulterioare - de la proiectarea aplicației și proiectarea bazei de date fizice până la faza de operare și întreținere a sistemului finit.

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 între utilizatori din diferite clase și bănci 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-urile existente utilizează diverse metode implementarea unor astfel de limbaje. Pentru utilizatorii avansați și dezvoltatorii de aplicații complexe, caracteristicile limbajului sunt de obicei furnizate în forma lor sintactică explicită. Construcțiile sintactice ale unor astfel de limbaje pot fi utilizate în programele de aplicație care interacționează cu SGBD 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 de generație a patra (4GL) - interfața cu utilizatorul, inclusiv diferite feluri meniuri, scripturi de dialog, formulare de ecran completate de utilizator și alte instrumente de prezentare a interogărilor ușor de utilizat. 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 modelare de simulare, în sistemele de inteligență artificială în sisteme grafice etc. 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 în LOGic - programare logică), propus de A. Kalmeroe în 1978, care este un limbaj programare logica, aparținând limbilor din generația a cincea. Scopul principal al limbajului este dezvoltarea de programe și sisteme inteligente. 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 limbajelor de programare de nivel înalt și, prin urmare, aceste instrumente software se adresează în principal programatorilor profesioniști, deși prezența indicii și instrumentelor de ajutor dezvoltate (sub formă de exemple care demonstrează utilizarea constructelor individuale ale limbajului) este semnificativă facilitează munca unui număr destul de mare 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 uniformiza diferitele viteze dintre memoria externă și cea internă.

Când lucrați cu o bază de date, SGBD poate determina dacă unele date sunt mai mult sau mai puțin relevante. 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 execuție 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 pe 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:

Jurnalul modificărilor locale - înregistrează operațiunile individuale asociate cu modificările la paginile 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 schimbă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). Sarcina SDL a fost să furnizeze instrumente pentru denumirea obiectelor bazei de date, tastarea elemente individualeși descrieri ale 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 limbaje sunt combinate într-un limbaj de interogare structurat SQL (Structured Queried Language). 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 pentru descrierea 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. Permisiunile și acțiunile sunt descrise în tabele 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. Utilizarea instrumentelor 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 sprijin pentru decizii. 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. Limbi de nivel foarte înalt. Î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. Pe lângă aceste funcții, DML-ul unor SGBD-uri oferă și posibilitatea de a seta restricții privind accesul la date sau permisiunile utilizatorului î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 modelul de date specific. 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ă. Diverse posibile efecte secundare propagarea unei operații în structura 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. Cel mai comun limbaj de acest fel este 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 principala);

* 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 de limbaj 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 un 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-uri, aceste tipuri de limbaje înseși ș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). Acesta este un computer facilitati 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 cu privire la mijloacele 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 caracteristicile tehnice ale echipamentului, tehnologiile de prelucrare a datelor utilizate, amploarea sistemului, restricțiile de timp privind viteza de răspuns a sistemului, procesarea. complexitate, caracteristici de cost etc. Ca computer Calculatoarele de uz general sunt cel mai adesea folosite 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 o dezvoltare rapidă tehnologii 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ții de algebră relațională, iar cealaltă parte, mai semnificativă în numărul de operatori și funcții, realizează operații non-relaționale care oferă procesarea fișierelor înregistrare cu înregistrare, organizarea prelucrării ciclice și condiționate, intrare/ieșire a datelor, ajustare, capacitatea de a lucra cu variabile de memorie și alte capacități).

Descrierea datelor din aceste sisteme poate fi prezentată sub formă tabelară sau, dacă definirea datelor se realizează folosind SQL sau folosind operatori de limbaj xBase, sub formă analitică.

Pe lângă instrumentele lingvistice menționate, aceste sisteme includ generatoare de 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 limbilor programare structurată, sau limbajul PL/SQL Oracle.

În cazurile în care SGBD nu are un limbaj de sine stătător, de obicei are 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ă. Limbajul de programare acționează ca un limbaj de activare în raport cu limbajele DBMS și sisteme de aplicare sunt implementate într-un limbaj atât de 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 diferite, suportă sisteme de tip de date diferite ș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 interogării directe, ci și ca mijloc pentru o descriere mai simplă a interogării și conversia automată ulterioară a acesteia în 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 pentru 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:

· Lucru lingvistic cu coloanele 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) până la modificarea celor mai importante caracteristici ale tabelului în sine și ale coloanelor sale (de exemplu, dimensiunile, numărul de fișiere, locația acestora și pentru coloane - lungimea datelor, valorile implicite și etc.).

O altă caracteristică importantă este capacitatea de a căuta cuvinte și expresii individuale în valori mari de text, ceea ce este foarte important atunci când se organizează baze de date mari de informații cu text integral.

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 cu variabile și valori ale fiecărui tip de date, apeluri la diverse specificații standard(cum ar fi conversia tipului, lucrul cu date șir, etc.) 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 de șir ușor de utilizat și operațiuni de concatenare 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ă.

Secvența operatorilor vă permite să codificați 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. Algoritmii ciclici sunt organizați cu ajutorul operatorului 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 funcționării lor printr-un mecanism de returnare a valorii (instrucțiunea 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. Pentru a face acest lucru, utilizați funcții standard de citire/scriere într-un BLOB, care este asociat cu linia curentă a cursorului. 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 copil) 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 text original procedura/declanșatorul î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 SQL adecvate, cum ar fi CREATE/ALTER PROCEDURE, CREATE TRIGGER. Dacă există o eroare în textul procedurii/declanșatorului, este returnat un cod de eroare special LINTER și utilitarele interactive oferă o explicație detaliată a 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 transmiterea 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 un utilitar 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 unei anumite aplicații reale. Pentru a începe depanarea, utilizatorul deschide o așa-numită „sesiune de depanare” pentru procedură, după care nucleul lucrează cu această procedură (declanșator) în modul de depanare, răspunzând la comenzile depanatorului și transmițându-i toate informațiile necesare. Puteți depana numai acele proceduri (declanșatoare) care sunt traduse cu informații de depanare. Necesitatea includerii informațiilor de depanare este 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 a procedurilor (declanșatoare), de a seta diverse puncte de întrerupere și de a executa până la unul dintre ele, de a executa prin intrarea în interiorul procedurilor numite copil, de a observa valorile variabilelor locale și expresii 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 pentru limbajul 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 urmare a acestui curs, nu au existat suficiente informații. 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.: Şcoala superioară, 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 de date automatizate / 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 de interogare structurat SQL. Limbajul de interogare bazat pe 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

    Sistemul de management al bazelor de date ca parte integrantă banca automatizata date. 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 o bază de date distribuită. 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 curs, adaugat 28.01.2014

    Produse software Companii Microsoft: Access, Visual FoxPro7.0, dBASE. Posibilitati de integrare, colaborare si utilizare a 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 desktop de gestionare a bazelor de date relaționale 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.


Prelegerile sunt disponibile pe site În secțiunea site: Recalificare profesională Programe de lucru



Limbaje de definire a datelor și de manipulare a datelor Bazele de date folosesc limbaje speciale, numite în general sublimbaje de date, deoarece includ un subset de instrucțiuni asociate cu obiectele și operațiunile bazei de date, dar nu conțin constructe pentru a efectua toate operațiunile de calcul ale limbajelor de programare de nivel înalt. Multe SGBD-uri acceptă capacitatea de a încorpora operatori de sublimbaj de date în limbaje de nivel înalt, cum ar fi COBOL, Fortran, Pascal, Ada, C. După cum sa menționat deja, în acest caz limbajul de nivel înalt este considerat limbajul de bază, iar sublimbajul de date. este considerat încorporat. SGBD-ul suportă mai multe sublimbaje specializate în funcțiile lor. Acestea pot fi împărțite în două categorii: - Limbajul de definire a datelor - un limbaj descriptiv cu care se descrie domeniul subiectului: obiectele sunt numite, proprietățile lor și relațiile dintre obiecte sunt determinate. Este folosit în primul rând pentru a defini structura logică a bazei de date, nu poate fi utilizat pentru gestionarea datelor. Rezultatul compilării operatorilor DDL este un set de tabele stocate în directorul de sistem, care conține metadate - Limbile de manipulare a datelor conțin un set de operatori de manipulare a datelor, adică operatori care vă permit să introduceți date în baza de date, să ștergeți, să modificați sau să selectați datele existente. Limbile de manipulare a datelor sunt împărțite în două tipuri: DML procedural, DML declarativ (non-procedural).


Când lucrează cu DML procedural, utilizatorul trebuie să înțeleagă clar ce ar trebui să obțină și cum o poate face folosind instrumente DML. Aceste instrumente sunt operatori pe date care trebuie executate într-o anumită ordine pentru a obține informațiile necesare. De obicei, un astfel de limbaj procedural face posibilă preluarea unei înregistrări, procesarea acesteia și, în funcție de rezultatele obținute, preluarea unei alte înregistrări care trebuie supusă unei prelucrări similare etc. Acestea includ limbaje YaMD de rețea și SGBD-uri ierarhice, limbi care suportă operații de algebră relațională. Limbile DML declarative oferă utilizatorului mijloacele de a specifica doar ce date sunt necesare. Procesorul decide cum să le extragă. a acestei limbi, lucrând cu seturi întregi de înregistrări. Limbile DML non-procedurale vă permit să definiți întregul set de date necesare utilizând un singur operator de recuperare sau actualizare. SGBD traduce o expresie în limbajul Yamd într-o procedură (sau un set de proceduri) care asigură manipularea setului de înregistrări solicitat. Această abordare eliberează utilizatorul de nevoia de a cunoaște detaliile implementării interne a structurilor de date și caracteristicile algoritmilor utilizați pentru extragerea și posibila transformare date. Limbile non-procedurale sunt de obicei mai ușor de înțeles și de utilizat decât limbile procedurale. SGBD-urile relaționale includ de obicei suport pentru limbaje non-procedurale de manipulare a datelor, cel mai adesea acesta este limbajul de interogare structurat SQL sau un limbaj de interogare similar cu QBE. Partea limbajului DML non-procedural care este responsabilă pentru preluarea datelor se numește limbaj de interogare. Un limbaj de interogare poate fi definit ca un limbaj de nivel înalt, înalt specializat, conceput pentru a satisface diferite cerințe pentru preluarea informațiilor dintr-o bază de date. Analizând tendințele de dezvoltare a limbajelor de procesare a datelor, putem presupune că în viitor se va îndrepta cel mai probabil în direcția dezvoltării limbajelor non-procedurale folosind componente de nivel înalt, care sunt adesea numite „instrumente de generația a patra”. ”.


SQL (Structured Query Language) SQL (pronunțat în mod obișnuit „SEQUEL” sau „ESQUEL”) înseamnă Structured Query Language. Este un limbaj care vă oferă posibilitatea de a crea și de a lucra în baze de date relaționale, care sunt colecții de informații conexe stocate în tabele.


Limbaje de manipulare a datelor Toate limbajele de manipulare a datelor (DML), create înainte de apariția bazelor de date relaționale și dezvoltate pentru multe sisteme de gestionare a bazelor de date (DBMS) ale computerelor personale, s-au concentrat pe operațiuni cu date prezentate sub formă de înregistrări de fișiere logice . Acest lucru a necesitat utilizatorilor să aibă cunoștințe detaliate despre organizația de stocare a datelor și să depună suficient efort pentru a specifica nu numai ce date sunt necesare, ci și unde se află acestea și cum să le recupereze pas cu pas. rostiți numele filmului - iar șoferul însuși va găsi un cinematograf care arată filmul dorit. (În același mod, găsește în mod independent datele SQL solicitate.) Aflați singuri unde este afișat filmul dorit și denumiți cinematograful. Apoi șoferul trebuie să găsească adresa acestui cinematograf. va trebui să aflați singur adresa cinematografului și să-l invitați pe șofer să conducă până la el pe așa și așa străzi. În cel mai rău caz, s-ar putea chiar să fie nevoit să dați indicații pe parcurs: „Virați la stânga... mergeți cinci blocuri... virați la dreapta...”.


Din istoria apariției SQL-ului Apariția teoriei bazelor de date relaționale și a limbajului de interogare „ALPHA” propus de Codd, bazat pe calculul relațional, a inițiat dezvoltarea unui număr de limbaje de interogare care pot fi clasificate în două clase. : 1. Limbaje algebrice care permit exprimarea interogărilor utilizând operatori specializați aplicați relațiilor (JOIN - connect, INTERSECT - intersect, SUBTRACT - scade etc.). 2. Limbaje de calcul predicat, care sunt un set de reguli pentru scrierea unei expresii care definește o nouă relație dintr-un set dat de relații existente. Cu alte cuvinte, calculul predicat este o metodă de determinare a relației pe care am dori să o obținem (ca răspuns la o interogare) din relațiile deja existente în baza de date.


Dezvoltarea a avut loc în principal în departamentele IBM (limbi ISBL, SQL, QBE) și universități din SUA (PIQUE, QUEL). Acesta din urmă a fost creat pentru SGBD-ul INGRES (Interactive Graphics and Retrieval System), care a fost dezvoltat la începutul anilor 70 la Universitatea din St. California este încă unul dintre primele cinci SGBD-uri profesionale astăzi. Astăzi, dintre toate aceste limbaje, QBE (Query-By-Example) și SQL au fost pe deplin păstrate și sunt în curs de dezvoltare, iar din restul, doar cele mai interesante construcții au fost luate în extinderea limbajelor interne ale SGBD. .


La începutul anilor 80, SQL a „învins” alte limbaje de interogare și a devenit standardul de facto pentru astfel de limbaje pentru SGBD-urile relaționale profesionale. În 1987, a devenit un standard internațional pentru un limbaj de bază de date și a început să fie implementat în toate SGBD-urile comune de computere personale.


De ce SQL? 1. Creșterea continuă a performanței, precum și scăderea consumului de energie, a dimensiunii și a costului calculatoarelor au dus la o extindere bruscă a posibilelor piețe pentru vânzările acestora, gama de utilizatori, varietatea tipurilor și prețurilor. Desigur, cererea pentru o varietate de produse a crescut software. 2. Firmele producătoare de software au început să lanseze pe piață sisteme software din ce în ce mai inteligente și, prin urmare, voluminoase. La achiziționarea (dorind să achiziționeze) astfel de complexe, multe organizații și utilizatori individuali nu le-au putut plasa adesea pe propriile computere, dar nu au vrut să renunțe la noul serviciu. Pentru a face schimb de informații și a le socializa, au fost create rețele de calculatoare, unde programele și datele partajate au început să fie plasate pe dispozitive speciale de servire - servere de fișiere. 3. DBMS care lucrează cu servere de fișiere permite mai multor utilizatori de computere diferite (uneori situate destul de departe unul de celălalt) să acceseze aceleași baze de date. Acest lucru simplifică dezvoltarea diferitelor sisteme automatizate managementul organizațiilor, complexelor educaționale, informațiilor și a altor sisteme în care mulți angajați (studenți) trebuie să utilizeze date comune și să facă schimb de date create în procesul de muncă (învățare). Cu toate acestea, cu această ideologie, toată prelucrarea solicitărilor de la programe sau de la terminalele computerului utilizatorului se realizează pe aceleași computere. Prin urmare, să pună în aplicare chiar simpla cerere Adesea, computerul trebuie să citească fișiere întregi de pe serverul de fișiere și (sau) să scrie pe server, ceea ce duce la situații de conflict și congestionare a rețelei.


4. Pentru a elimina aceste și alte neajunsuri, a fost propusă tehnologia „Client-Server”, conform căreia cererile de la computerele utilizatorului (Client) sunt procesate pe servere speciale de baze de date (Server), iar numai rezultatele procesării cererilor sunt returnate către calculatorul. În acest caz, firește, este nevoie de un limbaj comun pentru comunicarea cu Serverul, iar ca atare limbaj a fost ales SQL. Prin urmare, toate versiunile moderne de SGBD relaționale profesionale (DB2, Oracle, Ingres, Informix, Sybase, Progress, Rdb) și chiar și SGBD non-relațional (de exemplu, Adabas) folosesc tehnologia Client-Server și limbajul SQL. În plus, vin dezvoltatori de SGBD-uri pentru computere personale, dintre care multe sunt deja echipate cu limbajul SQL. 5.Implementarea în SQL a conceptului de operații axate pe prezentarea tabelară a datelor a făcut posibilă crearea unui limbaj compact cu un set mic (mai puțin de 30) de propoziții. SQL poate fi folosit fie INTERACTIV (pentru executarea interogărilor) fie EMBEDDED (pentru construirea de programe de aplicație).


Compoziția limbajului SQL Limbajul SQL este destinat manipulării datelor în baze de date relaționale, definirii structurii bazelor de date și gestionării drepturilor de acces la date într-un mediu multi-utilizator. Prin urmare, limbajul SQL include ca componente: Data Manipulation Language (DML), Data Definition Language (DDL), Data Control Language (DCL). Subliniem că acestea nu sunt limbi separate, ci comenzi diferite ale aceleiași limbi. Această împărțire se face numai din punctul de vedere al diferitului scop functional aceste echipe.




Limbajul de definire a datelor este folosit pentru a crea și modifica structura unei baze de date și a componentelor acesteia - tabele, indecși, vizualizări (tabele virtuale), precum și declanșatoare și proceduri stocate. Comenzile sale principale sunt: ​​CREATE DATABASE (creați o bază de date) CREATE TABLE (creați un tabel) CREATE VIEW (creați un tabel virtual) CREATE INDEX (creați un index) CREATE TRIGGER (creați un declanșator) CREATE PROCEDURE (creați o procedură stocată) ALTER DATABASE (modificați o bază de date ALTER TABLE ALTER VIEW ALTER INDEX ALTER TRIGGER ALTER PROCEDURE DROP DATABASE DROP TABLE DROP VIEW tabel virtual) DROP INDEX (ștergeți un index) DROP TRIGGER (ștergeți un declanșator) DROP PROCEDURE (ștergeți o procedură stocată)


Un limbaj de gestionare a datelor este utilizat pentru a gestiona drepturile de acces la date și executarea procedurilor într-un mediu multi-utilizator. Mai precis, poate fi numit un „limbaj de control al accesului”. Este format din două comenzile principale: Acordați (dați drepturi) REVOCA (luați drepturile)


Din perspectiva interfeței aplicației, există două tipuri de comenzi SQL: SQL interactiv și SQL încorporat. SQL interactiv este utilizat în utilități speciale (cum ar fi WISQL sau DBD) care permit modul interactiv introduceți interogări folosind comenzi SQL, trimiteți-le la server pentru execuție și primiți rezultate în fereastra prevăzută în acest scop. Embedded SQL este folosit în programele de aplicație, permițându-le să trimită interogări către server și să proceseze rezultatele, inclusiv o combinație de abordări orientate spre set și înregistrări.


SQL include: 1.instrucțiuni de definire a datelor (definirea bazelor de date, precum și definirea și distrugerea tabelelor și indecșilor); 2.interogări pentru selectarea datelor (clauza SELECT); 3. propuneri de modificare a datelor (adăugarea, ștergerea și modificarea datelor); 4. propuneri de gestionare a datelor (acordarea și revocarea privilegiilor de acces la date, gestionarea tranzacțiilor și altele). În plus, oferă capacitatea de a efectua în aceste propoziții: calcule aritmetice (inclusiv diferite transformări funcționale), procesarea șirurilor de text și efectuarea de operații de comparare a valorilor expresiilor și textelor aritmetice; ordonarea rândurilor și (sau) coloanelor la afișarea conținutului tabelelor pe tipărire sau pe un ecran de afișare; crearea de vizualizări (tabele virtuale) care permit utilizatorilor să aibă propria vizualizare a datelor fără a-și crește volumul în baza de date; stocarea conținutului unui tabel, a mai multor tabele sau a unei vizualizări într-un alt tabel afișat la cerere (operație de atribuire relațională). agregarea datelor: gruparea datelor și aplicarea unor operații acestor grupuri precum medie, sumă, maxim, minim, număr de elemente etc.


Principalele tipuri date SQL 1.INTEGER - un număr întreg (de obicei până la 10 cifre semnificative și un semn); 2.SMALLINT - „întreg scurt” (de obicei până la 5 cifre semnificative și un semn); 3.DECIMAL(p,q) - un număr zecimal cu p cifre (0 0 și diferit în diferite SGBD, dar nu mai puțin de 4096); 7.DATA - data in formatul definit printr-o comanda speciala (implicit mm/zz/aa); câmpurile de date pot conține doar date reale începând cu câteva milenii î.Hr. și limitată la mileniul al cincilea până la al zecelea d.Hr.; 8.TIME - ora într-un format definit printr-o comandă specială (implicit hh.mm.ss); 9.DATETIME - combinație de dată și oră; 10.BANI - bani într-un format care definește simbolul monedei ($, rub,...) și locația acestuia (sufix sau prefix), precizia părții fracționale și condiția de afișare a valorii monetare. 0 și diferit în diferite SGBD, dar nu mai puțin de 4096); 7.DATA - data in formatul definit printr-o comanda speciala (implicit mm/zz/aa); câmpurile de date pot conține numai date reale începând cu câteva milenii î.Hr. și limitată la mileniul al cincilea până la al zecelea d.Hr.; 8.TIME - ora într-un format definit printr-o comandă specială (implicit hh.mm.ss); 9.DATETIME - combinație de dată și oră; 10.BANI - bani într-un format care definește simbolul monedei ($, rub,...) și locația acestuia (sufix sau prefix), precizia părții fracționale și condiția de afișare a valorii monetare.">


SQL orientat pe tabel nu are suficiente instrumente pentru a crea aplicații complexe. Prin urmare, în diferite SGBD-uri fie este folosit împreună cu limbaje de programare de nivel înalt (de exemplu, cum ar fi C sau Pascal), fie este inclus în comenzile unui limbaj SGBD special dezvoltat (limbaj de sistem dBASE, R:BASE, etc.). Unificarea limbajelor complete ale SGBD-urilor profesionale moderne se realizează prin introducerea limbajului orientat pe obiect de a patra generație 4GL. Acesta din urmă vă permite să organizați bucle, propoziții condiționate, meniuri, formulare de ecran, interogări complexe către baze de date cu o interfață orientată atât către terminale alfanumerice, cât și către o interfață grafică fereastră (X-Windows, MS-Windows).




Vizualizări Una dintre principalele sarcini pe care vizualizările le permit să le rezolve este asigurarea independenței programelor utilizator față de modificările în structura logică a bazei de date atunci când aceasta se extinde și (sau) modificări în plasarea coloanelor, ceea ce are loc, de exemplu, la împărțirea tabelelor. . În acest din urmă caz, puteți crea o VIEW - o unire cu numele și structura tabelului împărțit, permițându-vă să păstrați programele care existau înainte ca structura bazei de date să fie schimbată. De asemenea, vizualizările permit utilizatorilor diferiți să vadă aceleași date în mod diferit, poate chiar în același timp. Acest lucru este deosebit de valoros atunci când diferite categorii de utilizatori lucrează cu o singură bază de date integrată. Utilizatorilor li se furnizează numai datele de care sunt interesați în forma cea mai convenabilă pentru ei (o fereastră într-un tabel sau în orice conexiune a oricăror tabele). În fine, unele date care nu sunt vizibile prin vizualizarea oferită acestora pot fi ascunse anumitor utilizatori. Astfel, forțarea utilizatorului să acceseze baza de date prin vizualizări este un mecanism simplu, dar eficient pentru controlul autorizației de acces.


Cursore Principala problemă cu „construirea” unei clauze SELECT într-un program este că SELECT produce, de obicei, un tabel cu multe rânduri și coloane, iar limbajul de încadrare nu are capacitatea de a mijloace bune, permițându-vă să operați simultan cu mai mult de o înregistrare (rând). Din aceste motive, este necesar să se furnizeze un fel de punte între nivelul setat al limbajului SQL și nivelul de înregistrare al limbajului înglobat. Cursorele asigură această punte. Un cursor constă în esență dintr-un fel de indicator care poate fi folosit pentru a vizualiza mai multe înregistrări. Indicând fiecare intrare pe rând set dat, oferă posibilitatea de a accesa aceste înregistrări pe rând.


Crearea tabelelor de bază Tabelele de bază sunt descrise în SQL folosind clauza CREATE TABLE, a cărei sintaxă variază ușor între diferitele SGBD. Cu toate acestea, toate suportă următoarea formă minimă: CREATE TABLE tabel_base(column data_type [,column data_type ]...); unde DATA_TYPE trebuie să aparțină unuia dintre tipurile de date acceptate de SGBD






Diagrama conceptuală logică a DB „Furnizori-Piese” Code_reg Nume_reg Cod_Post_Nume Poștă_Nume Oraș_Cod Oraș_Cod_Poștal Cod_Piesă și Cantitate Cod_Piesă și Numele_copiilor Cod_culor Cod_de oraș Nume_de oraș Cod_de Regiune Cod de culoare Nume de culoare Regiunea Oraș Detalii Furnizor Culori


























Eliminarea unui tabel de bază Puteți elimina oricând un tabel de bază existent folosind clauza DROP TABLE: DROP TABLE tabel_base; prin care descrierea tabelului, datele acestuia, vizualizările asociate și indecșii construiți pentru coloanele tabelului sunt șterse








Despre clauza SELECT Toate interogările care preiau aproape orice cantitate de date dintr-unul sau mai multe tabele sunt executate folosind o singură clauză SELECT. În general, rezultatul implementării unei clauze SELECT este un alt tabel. Operația SELECT poate fi aplicată din nou acestui nou tabel (de lucru), etc., de exemplu. astfel de operațiuni pot fi imbricate unele în altele. Este de interes istoric faptul că posibilitatea includerii unei clauze SELECT în alta a motivat utilizarea adjectivului „structurat” în numele limbajului SQL.


Clauza SELECT poate fi folosită ca: 1.o comandă independentă pentru obținerea și afișarea rândurilor unui tabel format din coloane și rânduri ale unuia sau mai multor tabele (vizualizări); 2. Elementul WHERE- sau HAVING-condiție (o versiune prescurtată a clauzei, numită „interogare imbricată”); 3.fraza de selecție în comenzile CREAT VIEW, DECLARE CURSOR sau INSERT; 4. un mijloc de atribuire a valorilor variabilelor globale din rândurile tabelului generat (INTO-fraza).


SELECTAȚI (selectați) datele din coloanele specificate și (dacă este necesar) efectuează transformarea acestora înainte de ieșire în conformitate cu expresiile specificate și (sau) funcțiile FROM (din) tabelele listate în care sunt situate aceste coloane WHERE (unde) rândurile din tabele specificate trebuie să îndeplinească lista specificată de condiții de selecție a rândurilor GROUP BY (grupare după) lista de coloane specificată pentru a obține o singură valoare agregată pentru fiecare grup, folosind funcțiile SQL SUM (sumă), COUNT (număr), MIN (valoare minimă). ) în clauza SELECT , MAX (valoare maximă) sau AVG (valoare medie) HAVING (având) ca rezultat numai acele grupuri care îndeplinesc lista specificată de condiții de selecție a grupului









= (mai mare sau egal), care poate fi precedat de operatorul NOT, creând, de exemplu, „title="Selection folosind clauza WHERE (selectare cu condiție) Pentru a selecta rândurile dorite de tabel, puteți utiliza operatori de comparare: = (egal), (nu este egal cu), (mai mare decât), >= (mai mare decât sau egal cu), care poate fi precedat de operatorul NOT, creând de ex." class="link_thumb"> 52 !} Selectare folosind clauza WHERE (selectare cu condiție) Pentru a selecta rândurile dorite ale tabelului, puteți utiliza operatori de comparație: = (egal), (nu este egal), (mai mare decât), >= (mai mare decât sau egal), care poate fi precedat de operatorul NOT, creând, de exemplu, relațiile „nu mai puțin” și „nu mai mult”. Abilitatea de a utiliza mai multe condiții conectate de operatorii logici AND, OR, AND NOT și OR NOT permite o selecție mai detaliată a rândurilor. = (mai mare sau egal cu), care poate fi precedat de un operator NOT, creând, de exemplu, „> = (mai mare sau egal cu), care poate fi precedat de un operator NOT, creând, de exemplu, „nu mai puțin decât" și "nu mai mare decât". Capacitatea de a utiliza mai multe condiții conectate prin operatorii logici AND, OR, AND NOT și OR NOT, permite o selecție mai detaliată a rândurilor."> = (mai mare sau egal cu) , care poate fi precedat de operatorul NOT, creând, de exemplu, „title="Selection folosind clauza WHERE (selectare cu condiție) Pentru a selecta rândurile de tabel necesare, puteți folosi operatori de comparație: = (egal) , (nu este egal), (mai mare decât), >= (mai mare decât sau egal), care poate fi precedat de operatorul NOT, creând, de exemplu, ,"> title="Selectare folosind clauza WHERE (selectare cu condiție) Pentru a selecta rândurile dorite ale tabelului, puteți utiliza operatori de comparație: = (egal), (nu este egal), (mai mare decât), >= (mai mare decât sau egal), care poate fi precedat de operatorul NOT, creând, De exemplu,"> !}


Piese selectate produse în anul cu codul de culoare 111




Folosind forma normală „Column_name LIKE text_constant” pentru o coloană de tip text vă permite să găsiți toate valorile coloanei specificate care se potrivesc cu modelul specificat de „text_constant”. Simbolurile acestei constante sunt interpretate după cum urmează: simbolul * (asterisc) - înlocuiește orice succesiune de N caractere (unde N poate fi zero), toate celelalte caractere înseamnă pur și simplu ele însele.



Interogare cu un parametru Puteți folosi LIKE pentru a crea așa-numita QUERY WITH PARAMETER, atunci când atunci când rulează o interogare pentru execuție, utilizatorul însuși setează condiția de selecție: „nume_coloană LIKE [text de selectat]”



Eșantionarea cu ordonare Cea mai simplă versiune a acestei fraze este de a ordona rândurile rezultate după valoarea uneia dintre coloane, indicând ordinea de sortare în ASC crescător (ASCending) sau DESC descendent (DESCending), sau fără o astfel de indicație. (În mod implicit, rândurile vor fi sortate în ordinea crescătoare a valorilor din coloana specificată - ASC.)




Agregarea datelor SQL Există o serie de funcții standard speciale (funcții SQL). Fiecare dintre aceste funcții operează pe un set de valori dintr-o coloană a unui tabel și creează o singură valoare, definită după cum urmează: COUNT - numărul de valori din coloana SUM - suma valorilor din coloana AVG - valoarea medie din coloana MAX - cel mai mult mare importanțăîn coloana MIN - cea mai mică valoare din coloană. Pentru funcțiile SUM și AVG, coloana în cauză trebuie să conțină valori numerice.


Trebuie remarcat faptul că aici coloana este o coloană de tabel virtual, care poate conține date nu numai din coloana tabelului de bază, ci și date obținute prin transformarea funcțională și (sau) legarea simbolurilor operatii aritmetice valori din una sau mai multe coloane. În acest caz, expresia care definește coloana unui astfel de tabel poate fi atât de complexă pe cât se dorește, dar nu trebuie să conțină funcții SQL (imbricarea funcțiilor SQL nu este permisă). Cu toate acestea, puteți crea orice expresie din funcțiile SQL. Argumentul tuturor funcțiilor poate fi precedat de cuvântul cheie DISTINCT, indicând faptul că valorile duplicate redundante ar trebui eliminate înainte ca funcția să fie aplicată.


Exemplu de agregare Se calculează numărul total de piese cu numele Nut (=531) și numărul de valori nevide din câmpul Cantitate corespunzătoare înregistrărilor cu numele piesei Nut (3 astfel de câmpuri)





Clauza HAVING Clauza HAVING joacă același rol pentru grupuri ca și clauza WHERE pentru rânduri: este folosită pentru a exclude grupuri, la fel cum este folosită WHERE pentru a exclude rânduri. Această frază este inclusă într-o propoziție numai dacă există o clauză GROUP BY, iar expresia din HAVING trebuie să capete un singur sens pentru grup. Clauze de modificare a datelor SQL Modificarea datelor poate fi efectuată folosind clauzele DELETE, INSERT și UPDATE. La fel ca și clauza SELECT, acestea pot funcționa atât pe tabele de bază, cât și pe vederi. Cu toate acestea, din mai multe motive, nu toate vizualizările pot fi actualizate.




Clauza INSERT are unul dintre următoarele formate: INSERT INTO (tabel de bază | vizualizare) [(coloană [,coloană]...)] VALUES ((constant | variabilă) [,(constant | variabilă)]...); sau INSERT INTO (tabel de bază | vizualizare) [(coloana [,coloană]...)] subinterogare; În primul format, în tabel este inserat un rând cu valorile câmpului specificate în lista expresiei VALORI, cu valoarea i-a corespunzătoare coloanei i-a din lista de coloane (coloanele nespecificate în lista sunt completate cu valori NULL). Dacă lista de VALORI a frazei conține toate coloanele din tabelul care se modifică și ordinea de listare a acestora corespunde cu ordinea coloanelor din descrierea tabelului, atunci lista coloanelor din fraza INTO poate fi omisă. În al doilea format, subinterogarea este executată mai întâi, adică. conform clauzei SELECT, în memorie se formează un tabel de lucru, iar apoi rândurile tabelului de lucru sunt încărcate în tabelul care se modifică. în care I-a coloană tabelul de lucru (i-lea element al listei SELECT) corespunde i-a coloană din lista de coloane a tabelului în curs de modificare.


Clauza UPDATE are următorul format: UPDATE (tabel de bază | vizualizare) SET coloană = valoare [, coloană = valoare]... unde valoarea este coloana | expresie | constantă | variabilă și poate include numai coloane din tabelul care se actualizează, de exemplu. valoarea uneia dintre coloanele tabelului care se modifică poate fi înlocuită cu valoarea unei alte coloane sau o expresie care conține valorile mai multor coloane ale acesteia, inclusiv cu cea în curs de modificare. Dacă nu există o clauză WHERE, valorile coloanelor specificate din toate rândurile din tabelul modificat sunt actualizate. Clauza WHERE vă permite să reduceți numărul de rânduri care trebuie actualizate prin specificarea condițiilor de selecție a acestora. În valorile din partea dreaptă a egalităților de expresie SET, ar trebui să specificați numele coloanelor utilizate prefixându-le cu numele tabelului.

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 computerele 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, dăm limbajele sistemelor dBase, Clipper, 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 tradițional de programare 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ției 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 îndeplinește atât funcții de definire a datelor, cât și 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?