Learn More
In a high level query and data manipulation language such as SQL, requests are stated non-procedurally, without reference to access paths. This paper describes how System R chooses access paths for both simple (single relation) and complex queries (such as joins), given a user specification of desired data as a boolean expression of predicates. System R is(More)
The recovery subsystem of an experimental data management system is described and evaluated. The transactmn concept allows application programs to commit, abort, or partially undo their effects. The DO-UNDO-REDO protocol allows new recoverable types and operations to be added to the recovery system Apphcation programs can record data m the transaction log(More)
CONVOYS DESCRIBED When driving on a two-lane road with no passing one often encounters clusters of cars. This is because a fast-moving car will soon bump into a slow one. The equilibrium state of such a system is for everyone to be in a convoy behind the slowest car. In System R [Astrahan], transactions often bump into one another when contending for shared(More)
In the independent reference model of program behavior, King's formulas for the expected FIFO (" first-in-first-out ") and expected LRU (" least-recently-used ") miss ratios each contain an exponential number of terms (very roughly nCAP, where n is the number of pages and CAP is the capacity of main memory). Hence, under the straightforward algorithms,(More)
System R supports a high-level relational user language called SQL which may be used by ad hoc users at terminals or as an embedded data sublanguage in PL/I or COBOL. Host-language programs with embedded SQL statements are processed by the System R precompiler which replaces the SQL statements by calls to a machine-language access module. The precompilation(More)