http://dl.acm.org/citation.cfm?id=27640
… share information through explicit communication channels and through their coordinated use of shared databases (coordinated access to shared information). … the data management requirements of …
DBMS technology provides data modeling and transaction management well suited to business data processing …
… app deal with structured sets of data objects, … advanced program languages do provide excellent abstraction facilities for these classes of data but provide little support for data storage and sharing. typically, programmers have to write their own data management functions in terms of files and operating system calls.
access rights requirements that were implemented by the program, independently of the operating system access mechanisms for files …
programmers who use programming language data abstraction facilities and who also want to use DBMS technology must first translate their programming language structures into linked collection of records or tuples that can be handled by the DBMS.
a view mechanism
views specify what subsets of the available shared information the users are interested in, and what constitutes an interesting change to a user.
a given user can be supplied with a view that filters a subset or computes a summary of the underlying information, to which that user is not given direct access.
access control and synchronization of concurrent actions
problem … almost never sufficient for an application that has a more abstract model of information than files and wishes to control access to abstract operations on its object types. … the underlying operating system may provide a more primitive form of access control, usually based on reading and writing of files.
in a logically distributed system, the desired access policy can be enforced by a manager or guardian that supports a given set of abstract operations via a message-passing or remote procedure-call protocol.
… constraints on database content. Rather than treating all integrity constraints as equal and always inviolate, different users can be allowed to violate particular constraints.
(the conventional approach) Transaction serializability: ensure database consistency in the face of concurrent access … by … ensure each transaction on its own preserves consistency, and that the effect of running multiple transactions must be the same as if they had been executed one at a time. The underlying premises is that transactions will be short and conflicts resolved quickly.
if serializability is to be enforced for long interactive transactions, concurrency cannot in general be increased without incurring a higher probability of transaction abort. → “optimistic concurrency control methods”
In order to increase concurrency among interactive or long-lived transactions, without increasing frequency of aborts due to conflicts, it is necessary to examine closely the consistency constraints that the transactions re intended to preserve. The basic premises … is that if a transaction saw a different value for a data item it read, it would have performed a different update or external action. … often too strong an assumption. for interactive transactions involving user decision, there may not be a very strong link between what data users see and what actions they perform as a result.
notify locks
some data consistency constraints represent invariants that must always be true … many constraints may simply be desirable but need not be required to hold at all times.
It also reduces conflicts among updates if they are treated as creating new versions rather than actually modifying an object.
[22] GRIFFITHS, P. P., AND WADE, B. W. An authorization mechanism for a relational database system. ACM Trans. Database Syst. 1,3 (Sept. 1976), 242-255.