DB2

Versiunea stabilă a fost verificată pe 6 mai 2022 . Există modificări neverificate în șabloane sau .
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] .

Implementări

Î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-C

Numă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.

Istorie

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.

Caracteristici

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.

Gestionarea erorilor

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.

Câmpurile structurii SQLCODE și semnificațiile acestora

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:

Note

  1. Ortografia „DB/2” este uneori văzută, dar această ortografie este incorectă: în notația IBM, numărul din numitorul unei fracții înseamnă platforma și „/2” înseamnă produsul pentru sistemul de operare OS/2 ( sau seria de calculatoare PS/2 ). De exemplu, versiunea DB2 pentru OS/2 a fost desemnată „DB2/2”
  2. Obțineți un Jumpstart cu IBM Db2 Community Edition
  3. IBM DB2 Express-C Prezentare generală . Consultat la 23 mai 2009. Arhivat din original pe 2 septembrie 2010.

Link -uri

Literatură