DB2

Stabilní verze byla zkontrolována 6. května 2022 . Existují neověřené změny v šablonách nebo .
DB2
Typ Systém pro správu databází
Vývojář IBM
Zapsáno v C , C++
Operační systém Multiplatformní software
První vydání 23. května 1995
Nejnovější verze 11.5
Licence Proprietární EULA
webová stránka ibm.com/analytics… ​(  angličtina)
 Mediální soubory na Wikimedia Commons

DB2  je rodina systémů pro správu relačních databází vyráběná společností IBM . Nejčastěji, když se mluví o DB2, mají na mysli systém správy relačních databází DB2 Universal Database (DB2 UDB) [1] .

Implementace

V roce 2000 je DB2 DBMS reprezentován verzemi na následujících platformách:

Devadesátá léta také viděla OS/2 , UnixWare , PTX verze serveru DB2 .

Klienti DB2 DBMS kromě uvedených platforem jsou nebo byli vydáni v různých verzích také pro SINIX , IRIX , klasický Mac OS a MS-DOS , dále mobilní verze DB2 Everyplace pro Windows CE , Palm OS , Symbian OS , Neutrino a virtuální stroj java .

Počínaje rokem 2000 distribuuje IBM kromě komerčních produktů této rodiny také bezplatnou distribuční sadu Db2 Community Edition , do poloviny roku 2019 s názvem DB2 Express-C [2] :

Omezení DB2 Express-C

Celkový počet procesorů a paměti v operačním systému může být jakýkoliv, ale zdroje nad zadané limity nebudou DBMS využívány. To se děje automaticky, což znamená, že uživatel není povinen zajistit shodu s těmito požadavky.

Historie

Na počátku 70. let Edgar Codd , který pracoval pro IBM, vyvinul teorii relačních databází a v červnu 1970 publikoval model manipulace s daty . Pro implementaci tohoto modelu vyvinul jazyk relační databáze a pojmenoval jej Alpha . IBM se rozhodla zadávat další vývoj skupině programátorů mimo Coddův vliv. Porušili některé principy relačního modelu a implementovali jej jako „Structured English Query Language“, zkráceně SEQUEL . Vzhledem k tomu, že zkratka SEQUEL byla v té době registrovanou ochrannou známkou třetí strany , byl název zkrácen na SQL - "Structured Query Language".

Od roku 1975 do roku 1982 byl prototyp DB2 vyvíjen v IBM pod názvem System Relational nebo System R. Jazyk SQL byl poprvé implementován v IBM System R, ale tento systém byl výzkumné povahy a komerční produkt, včetně SQL, byl poprvé uveden na trh společností Oracle v roce 1979 .

DB2 získalo své jméno v roce 1982 s prvním komerčním vydáním pro VM nazvaným SQL/DS, po kterém následovalo vydání pro MVS s názvem DB2. Dlouhou dobu se spolu s "DB2" používala varianta "Database 2", také ochranná známka IBM.

Historicky se tedy DB2 vyvinul z DB2 pro MVS (jehož je potomkem DB2 for z/OS) a jeho sesterského SQL/DS pro VM (jehož potomkem je DB2 Server pro VSE & VM). Později další vývojový tým v IBM implementoval server OS/2 EE Database Manager, který se později vyvinul v DB2 v2 pro OS/2, AIX a poté Windows a poté v DB2 UDB (jeho potomek je DB2 pro Linux, UNIX a Windows) . Další tým dokončil integraci architektury DB2 s vestavěnou databází AS/400 (potomek DB2 for i). IBM postupně směřuje k integraci všech těchto větví.

Funkce

Dialekt jazyka SQL používaný v DB2 je až na vzácné výjimky striktně deklarativní, systém je vybaven vícefázovým optimalizátorem, který na základě těchto deklarativních konstrukcí staví plán provádění dotazů. Není k dispozici v dialektu DB2 SQL[ float ] napovídá optimalizátoru, jazyka uložených procedur je málo (a dlouho žádný) a tak vše směřuje k zachování deklarativního stylu psaní dotazů. Jazyk DB2 SQL je výpočetně kompletní , to znamená, že potenciálně umožňuje definovat jakékoli vyčíslitelné korespondence mezi vstupními daty a výsledkem v deklarativní formě. Toho je dosaženo mimo jiné použitím tabulkových výrazů, rekurze a dalších pokročilých mechanismů manipulace s daty.

K zápisu uložených procedur se tradičně používají běžné programovací jazyky na vysoké úrovni ( C , Java , PL/I , Cobol atd.), což umožňuje programátorovi snadno zabalit stejný kód buď jako součást aplikace, nebo jako uloženou proceduru v závislosti na tom, zda je vhodnější provést ji na klientovi nebo na serveru. DB2 také v současné době implementuje procedurální rozšíření SQL pro uložené procedury v souladu se standardem ANSI SQL/PSM.

Optimalizátor DB2 široce využívá statistiky o rozložení dat v tabulkách (pokud proces sběru dat prováděl správce databáze), takže stejný SQL dotaz lze přeložit do zcela odlišných prováděcích plánů v závislosti na statistických charakteristikách údaje, které zpracovává.

V rámci koncepce zvýšení úrovně integrace bezpečnostních nástrojů v počítačovém systému nemá DB2 vlastní prostředky pro ověřování uživatelů, integraci s nástroji operačního systému nebo specializovanými bezpečnostními servery. V rámci DB2 jsou autorizováni pouze uživatelé ověření systémem .

DB2 je jediným univerzálním relačním DBMS, který má implementace na hardwarové/softwarové úrovni ( systém IBM i ; podpora DB2 je implementována také na hardwaru sálových počítačů IBM System z ).

Moderní verze DB2 poskytují rozšířenou podporu pro používání XML dat , včetně operací s jednotlivými prvky XML dokumentů.

Zpracování chyb

Užitečnou funkcí DB2 SQL Server je jeho schopnost zpracovávat chyby. K tomuto účelu se používá struktura SQLCA ( SQL Communications Area )  , která po každém provedení SQL příkazu vrací aplikačnímu programu  informaci o chybě .

Pole struktury SQLCODE a jejich význam

Hlavní, ale ne vždy užitečná diagnostika chyb je obsažena v poli SQLCODE (datový typ - celé číslo) uvnitř bloku SQLCA. Může nabývat následujících hodnot:

SQLERRM (datový typ je řetězec 71 znaků). Pokud je pole SQLCODE menší než nula, obsahuje textový řetězec popisující chybu.

SQLERRD (datový typ - pole , 6 celých čísel). Popisuje výsledek provedení posledního příkazu SQL:

Poznámky

  1. Někdy se vyskytuje pravopis "DB/2", ale tento pravopis je nesprávný: v zápisu IBM číslo ve jmenovateli zlomku znamená platformu a "/2" znamená produkt pro operační systém OS/2 ( nebo počítače řady PS/2 ). Například verze DB2 pro OS/2 byla označena jako "DB2/2"
  2. Získejte skokový start s IBM Db2 Community Edition
  3. Přehled IBM DB2 Express-C . Získáno 23. května 2009. Archivováno z originálu 2. září 2010.

Odkazy

Literatura