Extended algebra and calculus for nested relational databases
ACM Transactions on Database Systems (TODS)
A relational model of data for large shared data banks
Communications of the ACM
Modeling relationships in object-relational databases
Data & Knowledge Engineering
Foundation for Future Database Systems: The Third Manifesto
Foundation for Future Database Systems: The Third Manifesto
Remarks on the algebra of non first normal form relations
PODS '82 Proceedings of the 1st ACM SIGACT-SIGMOD symposium on Principles of database systems
An Introduction to Database Systems
An Introduction to Database Systems
Hi-index | 0.00 |
One of the main new features in the Object-Relational Database Management Systems (ORDBMS) is possibility to define new data types. It increases the amount of design options as well as possibilities to make bad design decisions. For example, entity type in a conceptual data model can be implemented as a relation variable (relvar for short) or in some cases as an attribute of a relvar that has a scalar-, tuple - or relation type. One guideline that helps to avoid bad design decisions is The Principle of Orthogonal Design [1]. It states that if a new tuple is added to a relational database, then there shouldn't be more than one base relvar which is suitable for recording it. Violation of this principle causes data redundancy. But original version of this principle doesn't take into account that relvars could have attributes with the generated relation-or tuple types or with the user-defined scalar types. The value of such an attribute that is part of the value of one relvar (relation) could contain the same data as value of some other relvar. Main contribution of this article is the proposal of an extended version of the orthogonal database design principle that takes into account possibility that relation-, tuple- or user-defined scalar types are used in a database. In addition we propose two heuristic rules that help to reduce data redundancy within one relvar that has an attribute with a relation- or tuple type.