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]: 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
- ↑ 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.
- 1 2 3 4 Todd, Stephen (1976). "The Peterlee Relational Test Vehicle - A System Overview". IBM Systems Journal. 15 (4): 285–308. doi:10.1147/sj.154.0285.
- ↑ 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.
- 1 2 Hall, Patrick A.V.; J. Owlett; Stephen Todd (1976). "Relations and Entities". In Nijssen, G.M. (ed.). IFIP Working Conference on Modelling in Data Base Management Systems 1976. North Holland. pp. 201–220.
- ↑ Aldred, B.K.; B.S. Smedley (May 1974). "An urban management system — general overview". Rep. No UKSC-53, IBM UK Scientific Center, Peterlee, England.
- ↑ Hall, Patrick A.V.; P. Hitchcock; Stephen Todd (January 1975). "An algebra of relations for machine computation". Conference record of the second ACM Symposium on the Principles of Programming Languages. Palo Alto, California: ACM. pp. 225–232.
- ↑ Todd, Stephen (August 1977). "Automatic Constraint Maintenance and Updating Defined Relations". In Gilchrist, Bruce (ed.). Proceedings of the IFIP Congress 1977. Toronto, Canada: North Holland. pp. 145–148.
- ↑ Codd, Edgar F. (December 1979). "Extending the Database Relational Model to Capture More Meaning". ACM Transactions on Database Systems. 4 (4): 397–434. CiteSeerX 10.1.1.508.5701. doi:10.1145/320107.320109. S2CID 17517212.
- ↑ Aldred, Barry K.; B.S. Smedley (May 1974). "An urban management system — general overview". Rep. No UKSC-53, IBM UK Scientific Center, Peterlee, England.
- ↑ 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.