IBM Peterlee Relational Test Vehicle
| Company type | Software system |
|---|---|
| Industry | Database management systems |
| Predecessor | IS1 |
| Products | Relational database management system |
PRTV (Peterlee Relational Test Vehicle) represented the first-ever relational database management system designed to manage large-scale data volumes effectively.
While it offered a robust relational query engine, its capabilities for data modification were limited, and it lacked support for concurrent multiuser operations. PRTV was developed as the successor to the early relational system known as IS1.
Features
Several pioneering elements were introduced by PRTV in the realm of relational databases:
- a relational optimizer employing cost-based strategies
- capability to handle tables ranging from 1,000 up to 10 million rows
- support for user-defined functions (UDFs) complemented by a broad array of built-in functions including trigonometric and statistical calculations
- integration of a geographic information system utilizing an RDB framework with UDFs such as point-in-polygon tests
Constructed entirely on relational algebra principles through the Information Systems Base Language (ISBL), PRTV established formal definitions for features like UDFs within the relational paradigm. The development team also proposed surrogates to facilitate updates in relational databases and formalized concepts for updating through views, although these enhancements were not incorporated into PRTV itself. Importantly, PRTV did not implement the concept of NULL values, which emerged later in 1979.
Although PRTV was never marketed as a commercial product, the Urban Management System built upon it was released as a restricted IBM offering.
Implementation
The architecture of PRTV involved multiple programming languages: its upper layers were developed using MP/3 and PL/I, whereas the lower layers were implemented with PL/I and System/370 assembly language. MP/3, a macro processing language created at Peterlee starting in 1973, shared similarities with ML/I and TRAC. The system ran on IBM System/370 mainframe computers.