DB2 | |
---|---|
Tip de | Sistemul de gestionare a bazelor de date |
Dezvoltator | IBM |
Scris in | C , C++ |
Sistem de operare | Software multiplatformă |
Prima editie | 23 mai 1995 |
ultima versiune | 11.5 |
Licență | EULA proprietar |
Site-ul web | ibm.com/analytics… ( engleză) |
Fișiere media la Wikimedia Commons |
DB2 este o familie de sisteme de gestionare a bazelor de date relaționale produse de IBM . Cel mai adesea, când se face referire la DB2, se referă la sistemul de management al bazelor de date relaționale DB2 Universal Database (DB2 UDB) [1] .
În anii 2000, SGBD-ul DB2 este reprezentat de versiuni pe următoarele platforme:
Anii 1990 au văzut, de asemenea, versiunile OS/2 , UnixWare , PTX ale serverului DB2 .
Clienții DB2 DBMS, pe lângă platformele enumerate, sunt sau au fost eliberați în diverse versiuni și pentru SINIX , IRIX , Mac OS clasic și MS-DOS , precum și versiunea mobilă DB2 Everyplace pentru Windows CE , Palm OS , Symbian OS , Neutrino și mașină virtuală java .
Începând cu anii 2000, pe lângă produsele comerciale ale familiei, IBM distribuie și un kit de distribuție gratuit Db2 Community Edition , până la jumătatea anului 2019 numit DB2 Express-C [2] :
Limitări ale DB2 Express-CNumărul total de procesoare și memorie din sistemul de operare poate fi orice, dar resursele dincolo de limitele specificate nu vor fi utilizate de SGBD. Acest lucru se face automat, ceea ce înseamnă că nu există nicio obligație a utilizatorului de a asigura conformitatea cu aceste cerințe.
La începutul anilor 1970, Edgar Codd , care a lucrat pentru IBM, a dezvoltat teoria bazelor de date relaționale și a publicat un model de manipulare a datelor în iunie 1970 . Pentru a implementa acest model, el a dezvoltat un limbaj de baze de date relaționale și l-a numit Alpha . IBM a ales să externalizeze dezvoltarea ulterioară unui grup de programatori în afara controlului lui Codd. Încălcând unele dintre principiile modelului relațional, l-au implementat ca „Structured English Query Language”, pe scurt SEQUEL . Deoarece acronimul SEQUEL era o marcă comercială înregistrată de terți la acea vreme , numele a fost scurtat la SQL - „Structured Query Language”.
Din 1975 până în 1982, prototipul DB2 a fost dezvoltat la IBM sub numele de System Relational sau System R. Limbajul SQL a fost implementat pentru prima dată în IBM System R, dar acest sistem a fost de natură de cercetare, iar produsul comercial, inclusiv SQL, a fost lansat pentru prima dată de Oracle în 1979 .
DB2 și-a primit numele în 1982 cu prima lansare comercială pentru VM numită SQL/DS, urmată de o ediție pentru MVS numită DB2. Multă vreme, alături de „DB2”, a fost folosită varianta „Database 2”, de asemenea o marcă înregistrată a IBM.
Astfel, istoric, DB2 a evoluat din DB2 pentru MVS (din care DB2 pentru z/OS este un descendent) și sora sa SQL/DS pentru VM (din care DB2 Server pentru VSE & VM este un descendent). Mai târziu, o altă echipă de dezvoltare de la IBM a implementat serverul OS/2 EE Database Manager, care mai târziu a evoluat în DB2 v2 pentru OS/2, AIX și apoi Windows și apoi în DB2 UDB (descendentul său este DB2 pentru Linux, UNIX și Windows) . O altă echipă a finalizat integrarea arhitecturii DB2 cu baza de date încorporată AS/400 (un descendent al DB2 pentru i). IBM se îndreaptă treptat către integrarea tuturor acestor ramuri.
Dialectul limbajului SQL folosit în DB2, cu rare excepții, este strict declarativ, sistemul este echipat cu un optimizator multifazic care construiește un plan de execuție a interogărilor pe baza acestor constructe declarative. Nu este disponibil în dialectul DB2 SQL[ float ] indicii pentru optimizator, există puțin (și de mult timp nici un limbaj) al procedurilor stocate și, astfel, totul are ca scop menținerea unui stil declarativ de scriere a interogărilor. Limbajul DB2 SQL este complet din punct de vedere computațional , adică permite posibil ca orice corespondențe calculabile între datele de intrare și rezultat să fie definite într-o formă declarativă. Acest lucru se realizează, printre altele, prin utilizarea expresiilor de tabel, recursiunii și a altor mecanisme avansate de manipulare a datelor.
În mod tradițional, limbaje convenționale de programare de nivel înalt ( C , Java , PL/I , Cobol etc.) au fost folosite pentru a scrie proceduri stocate, ceea ce permite programatorului să împacheteze cu ușurință același cod fie ca parte a unei aplicații, fie ca o procedură stocată, în funcție de dacă este mai convenabil să o executați pe client sau pe server. De asemenea, DB2 implementează în prezent extensia procedurală SQL pentru procedurile stocate, în conformitate cu standardul ANSI SQL/PSM.
Optimizatorul DB2 folosește pe scară largă statisticile privind distribuția datelor în tabele (dacă procesul de colectare a datelor a fost efectuat de administratorul bazei de date), astfel încât aceeași interogare SQL poate fi tradusă în planuri de execuție complet diferite, în funcție de caracteristicile statistice ale datele pe care le prelucrează.
Ca parte a conceptului de creștere a nivelului de integrare a instrumentelor de securitate într-un sistem informatic, DB2 nu are mijloace proprii de autentificare a utilizatorilor, integrarea cu instrumentele sistemului de operare sau serverele de securitate specializate. În DB2, numai utilizatorii autentificați de sistem sunt autorizați .
DB2 este singurul SGBD relațional cu scop general care are implementări la nivel hardware/software ( sistemul IBM i ; suportul DB2 este implementat și pe hardware-ul mainframe IBM System z ).
Versiunile moderne ale DB2 oferă suport îmbunătățit pentru utilizarea datelor XML , inclusiv operațiuni pe elemente individuale ale documentelor XML.
O caracteristică utilă a DB2 SQL Server este capacitatea de a gestiona erorile. În acest scop, este utilizată structura SQLCA ( SQL Communications Area ) , care returnează informații despre eroare programului de aplicație după fiecare execuție a instrucțiunii SQL.
Diagnosticul de eroare principal, dar nu întotdeauna util, este conținut în câmpul SQLCODE (tip de date - întreg) din blocul SQLCA. Poate lua următoarele valori:
SQLERRM (tipul de date este un șir de 71 de caractere). Conține un șir de text care descrie eroarea dacă câmpul SQLCODE este mai mic decât zero.
SQLERRD (tip de date - matrice , 6 numere întregi). Descrie rezultatul executării ultimei instrucțiuni SQL:
Sisteme de management al bazelor de date (DBMS) | |
---|---|
Client server | |
Motoare | |
Server de fișiere |
Bază de date | |
---|---|
Concepte |
|
Obiecte |
|
Chei | |
SQL |
|
Componente |
International Business Machine Corporation | |||||
---|---|---|---|---|---|
Echipamente |
| ||||
Software | |||||
Consultanta si servicii IT |
| ||||
Consiliu de Administratie | |||||
Vezi si |
|