IMAGE (database)

IMAGE is a database management system (DBMS) developed by Hewlett Packard and included with the HP 3000 minicomputer. It was the primary reason for that platform's success in the market. It was also sometimes referred to as IMAGE/3000 in its initial release, and later versions were known as TurboIMAGE, and TurboIMAGE/XL after the PA-RISC migration.

IMAGE is based on the network database model, in contrast to most modern systems which are based on the relational database model. A SQL (Structured Query Language) front-end processor was later added, offering users the ability to run SQL queries on existing databases. This produced IMAGE/SQL, the current name.

Overview

IMAGE consists of several utilities along with an API (referred to as "intrinsics" by the HP documentation):

  • DBSCHEMA - Compile a source schema layout. The source layout describes the tables (known as SETS) and columns (known as FIELDS).
  • DBUTIL - Creates and performs maintenance functions on the database.
  • QUERY - Generalized query tool for accessing any TurboIMAGE database.

The following is a sample list of the API calls used for application development. These calls are supported by HP's compilers: COBOL, FORTRAN, BASIC, SPL, PASCAL and C.

  • DBFIND - Locates a record.
  • DBGET - Retrieves a record.
  • DBPUT - Adds a record.
  • DBUPDATE - Updates a record.
  • DBINFO - Provides information on the structure of the database.
  • DBOPEN - Opens the database with a specified password to provide access rights to the application.

History

The significant highlights of IMAGE are:

  • Originally released as IMAGE/3000 around 1972 as a $10,000 option, but later included free as part of the MPE operating system.
  • Bundled with the HP Precision Architecture Computers as HP ALLBASE for both HP-UX and MPE/XL operating systems.
  • Several Fourth-generation programming language products (Powerhouse, Transact, Speedware, Protos) became available from third party vendors.
  • New capabilities were added including the increase of storage capacity and increase of several internal limitations such as the number of SETS allowed in a database. IMAGE/3000 was renamed TurboIMAGE due to these new capabilities.
  • HP provided a Third Party Interface (TPI) to DISC's OMNIDEX and Bradmark's SUPERDEX products.
  • HP announced the end of life for the HP3000 which included TurboIMAGE.
  • Marxmeier released Eloquence which is schema and API compatible with TurboIMAGE and allows TurboIMAGE applications to run on Microsoft Windows and HP-UX.
  • Stromasys released an HP3000 emulator allowing TurboIMAGE applications to be run on commodity hardware.
gollark: How SHOULD I do it?
gollark: ↑ you, as a result
gollark: ```rustfn matches(expr: &Value, condition: &Value) -> Option<Bindings> { match (expr, condition) { (Value::Num(a), Value::Num(b)) => if a == b { Some(HashMap::new()) } else { None }, (Value::Call(efn, eargs), Value::Call(rfn, rargs)) => { if efn != rfn { return None } if rargs.len() != eargs.len() { return None } let mut out_bindings = HashMap::new(); for (rarg, earg) in rargs.iter().zip(eargs) { match matches(earg, rarg) { Some(x) => out_bindings.extend(x), None => return None } } Some(out_bindings) }, (_, Value::Identifier(b)) => Some(vec![(b.clone(), expr.clone())].into_iter().collect()), _ => None }}```
gollark: You fell right into my trap, actually.
gollark: ↓ wrong
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.