11 Oct 2015

Relational database: a practical foundation for productivity

The 1981 ACM Turing Award Lecture, Delivered at ACM ‘81, Los Angeles, ,California, November 9, 1981

the growth in demands from end users is outstripping the capability of data processing departments to implement the corresponding application programs …

DBMS highly successful as instruments of data control
introduction of database management systems would markedly increase the productivity of application programmers by removing many of their problems in handling input and output files …
prior relational model
burden application programmers with numerous concepts that were irrelevant to their data retrieval and manipulation tasks
no commands for set processing — iterative loops
need of end users for direct interaction with database, particularly interaction of an unanticipated nature — a query capability

no sharp distinction between the programmer’s (logical) view of data and the (physical) representation of data in storage.

… storage-oriented concepts were an integral part of … the adverse impact on development productivity of requiring programmers to navigate along access paths to reach the target data …

avoid the need for subsequent changes in the data description that, in turn, would force coding changes in application programs

2 motivation

data independence objective
a sharp and clear boundary between the logical and physical aspects of database management (including database design, data retrieval, and data manipulation)
communicability objective
make the model structurally simple, so all programs … have a common understanding of the data, and could therefore communicate with one another about the database …

3 the relational model

discard all those data structuring concepts … and take a fresh look at the addressing of data …

associative addressing (previous positional concepts)
every datum can be uniquely addressed by means of the relation name, primary key value, and attribute name.
leaves it to the system to
determine the details of placement of information; and
select appropriate paths when retrieving data …
all information in relational database is represented by values in tables
addressing data by vlue, boosts the productivity
manipulative part — algebraic operators
transform relations into relations
integrity part consists of two integrity rules

4 relational processing capability

entails treating whole relations as operands, primary purpose is loop-avoidance …

8 conclusion

productivity argument centers on
data independence, structural simplicity, and relational processing
data independence tends to keep programs viable in the face of organizational and descriptive changes in the database
a relational database deals only with the shared data component of
application programs and end-user interactions
interaction with shared data (whether by program or via terminal) represents the core of so much data processing activity

reference