IBM DB2

relational database management system van IBM

Db2 (tot voor kort DB2, daarvoor DB2UDB, DB2 Universal Database) is een databaseproduct van IBM. Het product is beschikbaar voor een groot aantal besturingssystemen, waaronder Unix, Windows, Linux en z/OS. Daarnaast is Db2 onderdeel van het besturingssysteem OS/400 van de E-Server iSeries.

IBM Db2
Logo
Ontwikkelaar(s) IBM
Uitgebracht 1983 (40 jaar)
Recentste versie 11.5.9 (15 november 2023)[1][2][3] Bewerken op Wikidata
Status Actief
Besturingssysteem Linux, Microsoft Windows, z/OS, Unix
Geschreven in C, C++, assembleertaal
Categorie Database
Licentie(s) EULA
Website (en) Productpagina
Portaal  Portaalicoon   Informatica

Geschiedenis bewerken

Het product heeft een lange geschiedenis en was volgens sommigen de eerste database die SQL gebruikte. Volgens Michael Stonebraker was het zo dat, toen IBM besloot om SQL de standaard vraagtaal voor hun databases te maken met de aankondiging dat het bij Db2 geleverd zou worden, Oracle de kans greep om aan te kondigen dat het ook SQL ondersteunde.

Commando's bewerken

Een paar voorbeelden; het werkt zoals bij andere SQL-toepassingen:

  • CONNECT TO databank; om te verbinden met de database:
   Database Connection Information

 Database server        = Db2/LINUX 11.1.0
 SQL authorization ID   = USERNAME
 Local database alias   = DATABANK
  • CONNECT RESET; om de verbinding te verbreken:
DB20000I  The SQL command completed successfully.
  • LIST TABLES;
Table/View                      Schema          Type  Creation time
------------------------------- --------------- ----- --------------------------
ADRES                           USERNAME        T     2017-01-22-20.08.17.883878
INKOMSTEN                       USERNAME        T     2017-01-22-20.08.18.741203
UITGAVEN                        USERNAME        T     2017-01-22-20.08.19.027328

  3 record(s) selected.
  • DESCRIBE TABLE adres; om een beschrijving van de kolommen te krijgen:
Column                         Type      Type
name                           schema    name               Length   Scale Nulls
------------------------------ --------- ------------------ -------- ----- ------
NAAM                           SYSIBM    VARCHAR                  20     0 Yes  
STRAAT                         SYSIBM    VARCHAR                  25     0 Yes  
HUISNUMMER                     SYSIBM    INTEGER                   4     0 Yes  
POSTCODE                       SYSIBM    INTEGER                   4     0 Yes  
GEMEENTE                       SYSIBM    VARCHAR                  10     0 Yes  

  5 record(s) selected.
  • INSERT INTO adres VALUES ( 'Leo Tindemans', 'Ginderoverstraat', 122, 3590, 'Diepenbeek'); om een record toe te voegen.
DB20000I  The SQL command completed successfully.
  • SELECT * FROM adres WHERE huisnummer = 122; om een (aantal) records weer te geven.
NAAM                 STRAAT                    HUISNUMMER  POSTCODE    GEMEENTE
-------------------- ------------------------- ----------- ----------- ----------
Leo Tindemans        Ginderoverstraat                  122        3590 Diepenbeek
Gaston Timmermans    Rooierheistraat                   122        3500 Hasselt

  2 record(s) selected.
  • Het is ook mogelijk om de opeenvolgende commando's in een tekstfile op te slaan, en ze samen te laten uitvoeren vanop een commandolijn:
db2 -tf uitTeVoeren.sql
Het bestand uitTeVoeren.sql bevat volgende code:
CONNECT TO databank;

DROP TABLE adres;

CREATE TABLE adres (
	naam VARCHAR(20),
	straat VARCHAR(25),
	huisnummer INTEGER,
	postcode INTEGER,
	gemeente VARCHAR(10)
);

INSERT INTO adres VALUES ( 'Leo Tindemans', 'Ginderoverstraat', 122, 3590, 'Diepenbeek');
 
CONNECT RESET;

Zie ook bewerken

Externe links bewerken