IBM Peterlee Relational Test Vehicle (PRTV)

From Wikipedia, the free encyclopedia
  (Redirected from PRTV)
Jump to navigation Jump to search

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[edit]

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[edit]

PRTV was written in a mixture of languages. The higher layers were written in MP/3 and PL/I,[2]:297 whereas the lower layers were written in PL/I and System/370 assembler language.[2]:301 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]:301

References[edit]

  1. ^ Hall, Patrick A.V. (May 1976). "Optimization of a single relational expression in a relational database system". IBM J. Res. Dev. 20 (3): 244–257. doi:10.1147/rd.203.0244.
  2. ^ a b c d Todd, Stephen (1976). "The Peterlee Relational Test Vehicle - A System Overview". IBM Systems Journal. 15 (4): 285–308. doi:10.1147/sj.154.0285.
  3. ^ Storey, R.; W. Trebeljahr; N. Ourusoff; M. Bunzel (1979). "Report of the World Health Organisation Information Systems Programme and IBM UK Scientific Centre study on the design of information systems". UKSC Report 105.
  4. ^ a b Hall, Patrick A.V.; J. Owlett; Stephen Todd (1976). "Relations and Entities". In Nijssen, G.M. IFIP Working Conference on Modelling in Data Base Management Systems 1976. North Holland. pp. 201–220.
  5. ^ Aldred, B.K.; B.S. Smedley (May 1974). "An urban management system — general overview". Rep. No UKSC-53, IBM UK Scientific Center, Peterlee, England.
  6. ^ Hall, Patrick A.V.; P. Hitchcock; Stephen Todd (January 1975). "Conference record of the second ACM Symposium on the Principles of Programming Languages". Palo Alto, California: ACM: 225–232. |contribution= ignored (help)
  7. ^ Todd, Stephen (August 1977). "Automatic Constraint Maintenance and Updating Defined Relations". In Gilchrist, Bruce. Proceedings of the IFIP Congress 1977. Toronto, Canada: North Holland. pp. 145–148.
  8. ^ Codd, Edgar F. (December 1979). "Extending the Database Relational Model to Capture More Meaning". ACM Transactions on Database Systems. 4 (4): 397–434. doi:10.1145/320107.320109.
  9. ^ Aldred, Barry K.; B.S. Smedley (May 1974). "An urban management system — general overview". Rep. No UKSC-53, IBM UK Scientific Center, Peterlee, England.
  10. ^ A. J. Cole (26 November 1981). "MP/3 - a top end macro processor with system facilities". Macro Processors. CUP Archive. pp. 133–159. ISBN 978-0-521-28560-5.