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] .
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-CDet 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.
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.
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.
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.
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:
Databasestyringssystemer (DBMS) | |
---|---|
Klient-server | |
Motorer | |
Filserver |
Database | |
---|---|
Begreber |
|
Objekter | |
Nøgler | |
SQL | |
Komponenter |
International Business Machine Corporation | |||||
---|---|---|---|---|---|
Udstyr |
| ||||
Software | |||||
Rådgivning og IT ydelser |
| ||||
Bestyrelse | |||||
se også |
|