Database abstractions
- 1 June 1977
- journal article
- Published by Association for Computing Machinery (ACM) in Communications of the ACM
- Vol. 20 (6) , 405-413
- https://doi.org/10.1145/359605.359620
Abstract
Aggregation is introduced as an abstraction which is important in conceptualizing the real world. Aggregation transforms a relationship between objects into a higher-level object. A new data type, called aggregate, is developed which, under certain criteria of “well-definedness,” specifies aggregation abstractions. Relational databases defined as collections of aggregates are structured as a hierarchy of n-ary relations. To maintain well-definedness, update operations on such databases must preserve two invariants. Well-defined relations are distinct from relations in third normal form. It is shown that these notions are complementary and both are important in database design. A top-down methodology for database design is described which separates decisions concerning aggregate structure from decisions concerning key identification. It is suggested that aggregate types, and other types which support real-world abstractions without introducing implementation detail, should be incorporated into programming languages.Keywords
This publication has 9 references indexed in Scilit:
- Database abstractionsACM Transactions on Database Systems, 1977
- Evolution of Data-Base Management SystemsACM Computing Surveys, 1976
- CODASYL Data-Base Management SystemsACM Computing Surveys, 1976
- WHAT'S IN A LINKPublished by Elsevier ,1975
- On the semantics of the relational data modelPublished by Association for Computing Machinery (ACM) ,1975
- Programming with abstract data typesPublished by Association for Computing Machinery (ACM) ,1974
- Data structures and accessing in data-base systems, I: Evolution of information systemsIBM Systems Journal, 1973
- Performance predictions for extended paged memoriesActa Informatica, 1971
- A relational model of data for large shared data banksCommunications of the ACM, 1970