DB2 | |
---|---|
Sorts | Databashanteringssystem |
Utvecklaren | IBM |
Skrivet i | C , C++ |
Operativ system | Programvara för flera plattformar |
Första upplagan | 23 maj 1995 |
senaste versionen | 11.5 |
Licens | Eget licensavtal |
Hemsida | ibm.com/analytics… ( engelska) |
Mediafiler på Wikimedia Commons |
DB2 är en familj av relationsdatabashanteringssystem producerade av IBM . När man refererar till DB2 menar de oftast relationsdatabashanteringssystemet DB2 Universal Database (DB2 UDB) [1] .
På 2000 -talet representeras DB2 DBMS av versioner på följande plattformar:
På 1990 -talet sågs även OS/2 , UnixWare , PTX- versioner av DB2-servern .
DB2 DBMS-klienter, förutom de listade plattformarna, är eller har släppts i olika versioner även för SINIX , IRIX , klassiskt Mac OS och MS-DOS , samt DB2 Everyplace mobilversion för Windows CE , Palm OS , Symbian OS , Neutrino och virtuell maskin java .
Från och med 2000- talet, förutom kommersiella produkter i familjen, distribuerar IBM också ett gratis distributionskit Db2 Community Edition , fram till mitten av 2019 kallat DB2 Express-C [2] :
Begränsningar för DB2 Express-CDet totala antalet processorer och minne i operativsystemet kan vara vad som helst, men resurser utöver de angivna gränserna kommer inte att användas av DBMS. Detta görs automatiskt, vilket innebär att det inte finns någon skyldighet för användaren att säkerställa efterlevnad av dessa krav.
I början av 1970-talet utvecklade Edgar Codd , som arbetade för IBM, relationsdatabasteori och publicerade en datamanipulationsmodell i juni 1970 . För att implementera denna modell utvecklade han ett relationsdatabasspråk och gav det namnet Alpha . IBM valde att lägga ut vidareutveckling på en grupp programmerare utanför Codds kontroll. De bröt mot några av principerna för relationsmodellen och implementerade den som ett "Structured English Query Language", förkortat SEQUEL . Eftersom SEQUEL - akronymen var ett tredjepartsregistrerat varumärke vid den tiden , förkortades namnet till SQL - "Structured Query Language".
Från 1975 till 1982 utvecklades DB2-prototypen hos IBM under namnet System Relational , eller System R. SQL -språket implementerades först i IBM System R, men detta system var av forskningskaraktär, och den kommersiella produkten, inklusive SQL, släpptes först av Oracle 1979 .
DB2 fick sitt namn 1982 med den första kommersiella versionen för VM som heter SQL/DS, följt av en release för MVS som heter DB2. Under lång tid användes, tillsammans med "DB2", varianten "Database 2", också ett varumärke som tillhör IBM.
Sålunda har DB2 historiskt utvecklats från DB2 för MVS (varav DB2 för z/OS är en ättling) och dess syster SQL/DS för VM (varav DB2 Server för VSE & VM är en ättling). Senare implementerade ett annat utvecklingsteam på IBM OS/2 EE Database Manager-servern, som senare utvecklades till DB2 v2 för OS/2, AIX och sedan Windows, och sedan till DB2 UDB (desscendent är DB2 för Linux, UNIX och Windows) . Ett annat team slutförde integrationen av DB2-arkitekturen med den inbäddade AS/400 -databasen (en ättling till DB2 för i). IBM går gradvis mot integrationen av alla dessa grenar.
Dialekten för SQL-språket som används i DB2, med sällsynta undantag, är strikt deklarativ, systemet är utrustat med en flerfasoptimerare som bygger en frågeexekveringsplan baserat på dessa deklarativa konstruktioner. Ej tillgängligt i DB2 SQL-dialekt[ float ] tips till optimeraren, det finns lite (och under lång tid inget) språk för lagrade procedurer, och därför är allt inriktat på att upprätthålla en deklarativ stil för att skriva frågor. DB2 SQL-språket är beräkningsmässigt komplett , det vill säga den tillåter potentiellt att alla beräkningsbara överensstämmelser mellan indata och resultatet kan definieras i en deklarativ form. Detta uppnås bland annat genom användning av tabelluttryck, rekursion och andra avancerade datamanipuleringsmekanismer.
Traditionellt har konventionella högnivåprogrammeringsspråk ( C , Java , PL/I , Cobol , etc.) använts för att skriva lagrade procedurer, vilket gör att programmeraren enkelt kan paketera samma kod antingen som en del av en applikation eller som en lagrad procedur, beroende på om det är mer ändamålsenligt att utföra den på klienten eller på servern. DB2 implementerar för närvarande även SQL-procedurtillägget för lagrade procedurer, i enlighet med ANSI SQL/PSM-standarden.
DB2-optimeraren använder i stor utsträckning statistik om distributionen av data i tabeller (om datainsamlingsprocessen utfördes av databasadministratören), så samma SQL-fråga kan översättas till helt olika exekveringsplaner, beroende på de statistiska egenskaperna hos data som den behandlar.
Som en del av konceptet att öka integrationsnivån av säkerhetsverktyg i ett datorsystem, har DB2 inte sina egna sätt att autentisera användare, integrera med operativsystemsverktyg eller specialiserade säkerhetsservrar. Inom DB2 är endast användare som är autentiserade av systemet auktoriserade .
DB2 är det enda relations-DBMS för allmänna ändamål som har implementeringar på hård-/mjukvarunivå ( IBM i -system; DB2-stöd är också implementerat på IBM System z stordatorhårdvara ).
Moderna versioner av DB2 ger utökat stöd för användning av XML- data , inklusive operationer på enskilda delar av XML-dokument.
En användbar funktion hos DB2 SQL Server är dess förmåga att hantera fel. För detta ändamål används SQLCA-strukturen ( SQL Communications Area ) , som returnerar information om felet till applikationsprogrammet efter varje exekvering av SQL-satsen.
Den huvudsakliga men inte alltid användbara feldiagnostiken finns i SQLCODE- fältet (datatyp - heltal) inuti SQLCA-blocket. Det kan ha följande värden:
SQLERRM (datatyp är en sträng på 71 tecken). Innehåller en textsträng som beskriver felet om SQLCODE-fältet är mindre än noll.
SQLERRD (datatyp - array , 6 heltal). Beskriver resultatet av att köra den sista SQL-satsen:
Databashanteringssystem (DBMS) | |
---|---|
Klient-server | |
Motorer | |
Fil server |
Databas | |
---|---|
Begrepp |
|
Objekt |
|
Nycklar | |
SQL |
|
Komponenter |
International Business Machine Corporation | |||||
---|---|---|---|---|---|
Utrustning |
| ||||
programvara | |||||
Konsulttjänster och IT- tjänster |
| ||||
Styrelse | |||||
se även |
|