Can database design be fundamentally improved through abstraction? This paper defines two essential abstractions for databases: aggregation (turning relationships into objects) and generalization (turning object classes into generic objects). It proposes a uniform treatment for all objects, introducing a new "generic" data type. These models, structured as aggregation/generalization hierarchies, offer a discipline for relational database organization, which improves the management of complex data. Employing this discipline allows for the integration and maintenance of an important class of views, ensures stability under evolutionary changes, and facilitates a more natural query formulation. Furthermore, it provides a more systematic approach to database design and allows for greater optimization at lower implementation levels. This research can help increase efficiency and reduce errors in databases. By formalizing the generic type with invariant properties and suggesting a triggering mechanism for maintaining these invariants during updates, this paper provides a robust framework for enhancing relational database models. These features have significant implications for how developers can optimize database design.
Published in ACM Transactions on Database Systems, this paper directly contributes to the journal's focus on database theory, design, and implementation. By introducing and formalizing new database abstractions, it aligns with the journal's objective of advancing the field. The paper's references to other works within the journal underscore its relevance.