DB2

DB2 ir relāciju datu bāzu pārvaldības sistēmas saime, kura tiek veidota kompānijā IBM. Visbiežāk, atsaucoties uz DB2, tiek domāta relāciju datu bāzes pārvaldības sistēma DB2 Universal Database (DB2 UDB).

Vēsture

DB2 izcelsmes aizsākums ir 1970. gads, kad Edgars Kods, kas strādāja IBM, izstrādāja teoriju par relāciju datubāzēm un 1970. gada jūnijā publicēja modeli datu manipulācijām. Lai realizētu šo modeli, viņš izstrādāja relāciju datu bāzu programmēšanas valodu, un nosauca to par Alpha. IBM izvēlējās turpmāko attīstību uzticēt programmētāju grupai, kura netika pakļauta E. Koda kontrolei. Neievērojot vairākus relāciju modeļa principus, tie realizēja projektu ar nosaukumu "strukturētā angļu valodas vaicājumu valoda" saīsinājumā SEQUEL. Taču tā kā akronīms SEQUEL jau uz to brīdi bija reģistrēts kā preču zīme, nosaukums tika saīsināts līdz SQL - "Strukturētā vaicājumu valoda"
No 1975-1982.gadam, prototips tika izstrādāts IBM kompānijā ar nosaukumu System Relational. SQL valoda pirmo reizi tika īsteno tieši IBM produktā - System R, bet šai sistēmai bija pētnieciska nozīme, bet komerciālu produktu, kurā būtu realizēta SQL pirmā izstrādāja kompānija Oracle 1979. gadā.
Savu nosaukumu DB2 ieguva 1982. gadā, kad tika izlaista pirmā komerciālā VM versija ar nosaukumu SQL/DS, un pēc tam MVS versija ar nosaukumu DB2.

Īpatnības

Pie DB2 atšķirības iezīmēm ir pieskaitāms SQL dialekts, kas nosaka, ar dažiem izņēmumiem, tikai deklaratīvas valodu konstrukciju nozīmes, un spēcīgs daudzfāzu optimizētājs. Atšķirībā no citiem SQL dialektiem, SQL DB2 ir vāji attīstīta (ilgu laiku vispār nebija) saglabāto procedūru valoda, un tādējādi, viss tika atbalstīts uz vaicājumu deklaratīvo rakstību. Tai pašā laikā SQL DB2 skaitļošanas ziņā ir pilnīga, tas ir, ļauj deklaratīvā formā noteikt jebkuru ieejas datu un rezultātu atbilstību. Tas tiek panākts arī pateicoties tam, ka tiek izmantotas rekursīvas, un citas datu apstrādes manipulācijas.
Pateicoties IBM prioritātēm relācijas teoriju attīstībā un uzņēmuma pozīcijai datoru industrijā, DB2 SQL dialektam ir nozīmīga ietekme uz SQL ANSI/ISO standartu izveidošanu.
Saglabātās procedūras DB2 netiek plaši izmantotas, un tradicionāli saglabāto procedūru rakstīšanai izmanto parastas augsta līmeņa programmēšanas valodas (C, Java, PL/I, COBOL u.c.), tas ļauj programmētājam viegli noformēt vienu un to pašu kodu kā daļu no pielikuma, vai arī kā saglabāto procedūru, atkarībā no tā, vai to labāk izpildīt uz klienta vai servera. Pašlaik DB2 ir arī īstenots SQL paplašinājums saglabātajām procedūrām atbilstoši ANSI SQL / PSM standartam.
DB2 optimizētājs plaši izmanto datu izplatīšanas statistiku datu tabulās, tāpēc viens un tas pats vaicājums SQL valodā var tikt izmantots pilnīgi atšķirīgos izpildes plānos atkarībā no datu statiskajiem raksturlielumiem, kurus tas apstrādā.
Uzlabojot drošības sistēmu integrāciju datorā tika veiktas izmaiņas un DB2 nesatur savu lietotāju autentificēšanas sistēmu, bet tas integrējas ar operētājsistēmas vai specializētu serveru drošības rīkiem. DB2 ietvaros tiek veikta tikai lietotāju autorizācija, kurus sistēma ir autentificējusi.
DB2 ir vienīgā vispārējas nozīmes relāciju datu bāzes vadības sistēma, kuras realizācija notiek aparatūras programmatūras līmenī (IBM i sistēmās, kā arī IBM System z lieldatoru aparatūrā ir īstenoti līdzekļi DB2 atbalstam).
Mūsdienīgās DB2 versijas sniedz paplašinātu atbalstu XML datu izmantošanai, tostarp arī darbības ar atsevišķu XML dokumenta elementu.

Kļūdu apstrāde

Lieliska SQL servera DB2 īpašība ir iespēja apstrādāt kļūdas. Šim nolūkam tiek izmantota SQLCA (SQL Communications Area – SQL saziņas lauks) struktūra, kas pēc katras SQL izteiksmes izpildes atgriež kļūdu ziņojumus.