DB2

Den stabile version blev tjekket ud den 6. maj 2022 . Der er ubekræftede ændringer i skabeloner eller .
DB2
Type Databasestyringssystem
Udvikler IBM
Skrevet i C , C++
Operativ system Cross-platform software
Første udgave 23. maj 1995
nyeste version 11.5
Licens Proprietær EULA
Internet side ibm.com/analytics… (  engelsk)
 Mediefiler på Wikimedia Commons

DB2  er en familie af relationelle databasestyringssystemer produceret af IBM . Når de refererer til DB2, mener de oftest det relationelle databasestyringssystem DB2 Universal Database (DB2 UDB) [1] .

Implementeringer

I 2000'erne er DB2 DBMS repræsenteret af versioner på følgende platforme:

1990'erne så også OS/2 , UnixWare , PTX versioner af DB2 serveren .

DB2 DBMS-klienter, udover de nævnte platforme, er eller er blevet frigivet i forskellige versioner også til SINIX , IRIX , klassisk Mac OS og MS-DOS , samt DB2 Everyplace -mobilversion til Windows CE , Palm OS , Symbian OS , Neutrino og virtuel maskine java .

Fra 2000'erne distribuerer IBM udover kommercielle produkter fra familien også et gratis distributionssæt Db2 Community Edition , indtil midten af ​​2019 kaldet DB2 Express-C [2] :

Begrænsninger for DB2 Express-C

Det samlede antal processorer og hukommelse i operativsystemet kan være hvad som helst, men ressourcer ud over de angivne grænser vil ikke blive brugt af DBMS. Dette sker automatisk, hvilket betyder, at der ikke er nogen forpligtelse for brugeren til at sikre overholdelse af disse krav.

Historie

I begyndelsen af ​​1970'erne udviklede Edgar Codd , som arbejdede for IBM, relationel databaseteori og udgav en datamanipulationsmodel i juni 1970 . For at implementere denne model udviklede han et relationelt databasesprog og kaldte det Alpha . IBM valgte at outsource videreudvikling til en gruppe programmører uden for Codds kontrol. I strid med nogle af principperne i relationsmodellen implementerede de den som et "Structured English Query Language", forkortet SEQUEL . Da SEQUEL akronymet var et tredjepartsregistreret varemærke på det tidspunkt , blev navnet forkortet til SQL - "Structured Query Language".

Fra 1975 til 1982 blev DB2-prototypen udviklet hos IBM under navnet System Relational eller System R. SQL - sproget blev først implementeret i IBM System R, men dette system var af forskningskarakter, og det kommercielle produkt, inklusive SQL, blev først udgivet af Oracle i 1979 .

DB2 fik sit navn i 1982 med den første kommercielle udgivelse til VM kaldet SQL/DS, efterfulgt af en udgivelse til MVS kaldet DB2. I lang tid blev "Database 2"-varianten, også et varemærke tilhørende IBM, brugt sammen med "DB2".

Historisk set udviklede DB2 sig således fra DB2 til MVS (hvoraf DB2 til z/OS er en efterkommer) og dens søster SQL/DS til VM (hvoraf DB2 Server til VSE & VM er en efterkommer). Senere implementerede et andet udviklingsteam hos IBM OS/2 EE Database Manager-serveren, som senere udviklede sig til DB2 v2 til OS/2, AIX og derefter Windows og derefter til DB2 UDB (dens efterkommer er DB2 til Linux, UNIX og Windows) . Et andet team afsluttede integrationen af ​​DB2-arkitekturen med den indlejrede AS/400 -database (en efterkommer af DB2 for i). IBM bevæger sig gradvist mod integration af alle disse grene.

Funktioner

Dialekten af ​​SQL-sproget, der bruges i DB2, er med sjældne undtagelser strengt deklarativ, systemet er udstyret med en flerfaseoptimering, der bygger en forespørgselsudførelsesplan baseret på disse deklarative konstruktioner. Ikke tilgængelig på DB2 SQL-dialekt[ float ] hints til optimizeren, der er lidt (og i lang tid intet) sprog i lagrede procedurer, og dermed er alt rettet mod at opretholde en deklarativ stil med at skrive forespørgsler. DB2 SQL-sproget er beregningsmæssigt komplet , det vil sige, at den potentielt tillader, at enhver beregnelig overensstemmelse mellem inputdataene og resultatet defineres i en deklarativ form. Dette opnås blandt andet ved brug af tabeludtryk, rekursion og andre avancerede datamanipulationsmekanismer.

Traditionelt er konventionelle programmeringssprog på højt niveau ( C , Java , PL/I , Cobol , osv.) blevet brugt til at skrive lagrede procedurer, hvilket gør det muligt for programmøren nemt at pakke den samme kode enten som en del af en applikation eller som en lagret procedure, alt efter om det er mere hensigtsmæssigt at udføre den på klienten eller på serveren. DB2 implementerer også i øjeblikket SQL-procedureudvidelsen til lagrede procedurer i overensstemmelse med ANSI SQL/PSM-standarden.

DB2-optimeringsværktøjet gør udstrakt brug af statistik om distribution af data i tabeller (hvis dataindsamlingsprocessen blev udført af databaseadministratoren), så den samme SQL-forespørgsel kan oversættes til helt forskellige eksekveringsplaner, afhængigt af de statistiske karakteristika for data, den behandler.

Som en del af konceptet med at øge niveauet af integration af sikkerhedsværktøjer i et computersystem, har DB2 ikke sine egne midler til at godkende brugere, integrere med operativsystemværktøjer eller specialiserede sikkerhedsservere. I DB2 er det kun brugere, der er godkendt af systemet, der er godkendt .

DB2 er det eneste relationelle DBMS til generelle formål, der har implementeringer på hardware-/softwareniveau ( IBM i -system; DB2-understøttelse er også implementeret på IBM System z mainframe-hardware ).

Moderne versioner af DB2 giver forbedret understøttelse af brug af XML -data , herunder handlinger på individuelle elementer i XML-dokumenter.

Fejlhåndtering

En nyttig funktion ved DB2 SQL Server er evnen til at håndtere fejl. Til dette formål bruges SQLCA-strukturen ( SQL Communications Area )   , som returnerer information om fejlen til applikationsprogrammet efter hver udførelse af SQL-sætningen.

Felter i SQLCODE-strukturen og deres betydninger

Den vigtigste, men ikke altid nyttige fejldiagnostik er indeholdt i SQLCODE -feltet (datatype - heltal) inde i SQLCA-blokken. Det kan tage følgende værdier:

SQLERRM (datatypen er en streng på 71 tegn). Indeholder en tekststreng, der beskriver fejlen, hvis SQLCODE-feltet er mindre end nul.

SQLERRD (datatype - matrix , 6 heltal). Beskriver resultatet af udførelse af den sidste SQL-sætning:

Noter

  1. Stavemåden "DB/2" ses nogle gange, men denne stavemåde er forkert: i IBM-notationen betyder tallet i nævneren af ​​en brøk platformen og "/2" betyder produktet til OS/2 -operativsystemet ( eller PS/2 -serien af ​​computere ). For eksempel blev versionen af ​​DB2 til OS/2 betegnet "DB2/2"
  2. Få en Jumpstart med IBM Db2 Community Edition
  3. Oversigt over IBM DB2 Express-C . Hentet 23. maj 2009. Arkiveret fra originalen 2. september 2010.

Links

Litteratur