IBM Peterlee Relational Test Vehicle

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Script error: No such module "redirect hatnote". PRTV (Peterlee Relational Test Vehicle) was the world's first relational database management system that could handle significant data volumes.

It was a relational query system with powerful query facilities, but very limited update facility and no simultaneous multiuser facility. PRTV was a successor from the very first relational implementation, IS1.

Features

PRTV included several firsts in the relational database area:

  • implemented relational optimizer[1]
  • implemented cost-based relational optimizer[2]
  • handle tables of 1,000 rows up to 10,000,000 rows[3]
  • user-defined functions (UDFs) within an RDB (also a large suite of built-in functions such as trigonometric and statistical)[4]
  • geographic information system based on an RDB (using UDFs such as point-in-polygon).[5]

PRTV was based on a relational algebra, Information Systems Base Language (ISBL) and followed the relational model very strictly. Even features such as user-defined functions were formalized within that model.[6] The PRTV team also introduced surrogates to the relational model[4] to help formalize relational update operations; and a formalisation for updating through views.[7] However neither of these was implemented within PRTV. PRTV emphatically did not implement NULL values, because this conception was introduced only in 1979.[8]

PRTV was itself never available as a product, but the Urban Management System[9] built on it was available as a limited IBM product.

Implementation

PRTV was written in a mixture of languages. The higher layers were written in MP/3 and PL/I,[2]Template:Rp whereas the lower layers were written in PL/I and System/370 assembler language.[2]Template:Rp MP/3 was a macro processing language developed at Peterlee from 1973 onwards, similar to ML/I or TRAC.[10] PRTV ran on System/370 IBM mainframes.[2]Template:Rp

References

Template:Reflist

  1. Script error: No such module "Citation/CS1".
  2. a b c d Script error: No such module "Citation/CS1".
  3. Script error: No such module "Citation/CS1".
  4. a b Script error: No such module "citation/CS1".
  5. Script error: No such module "Citation/CS1".
  6. Script error: No such module "citation/CS1".
  7. Script error: No such module "citation/CS1".
  8. Script error: No such module "Citation/CS1".
  9. Script error: No such module "Citation/CS1".
  10. Script error: No such module "citation/CS1".