[allan 1998]; [rob 2002]; [henrik 1997]; [paige 2004] The Requirements That ...
[Allan 1998]; [Rob 2002]; [Henrik 1997]; [Paige 2004] The requirements that need to be considered when selecting a data model for an application include persistence, recovery, query facility, concurrency, security as well as the management of secondary storage. Persistence refers to the ability of a database to retain data when it has been processed with the data remaining in the database even when not in use. Concurrency refers to the ability to protect data when several users are using the database. Secondary storage management refers to features such as query optimisation and index management which remain transparent to the user. Recovery refers to the restoration of a database to its original state after a hardware or software failure. The user should also be able to effectively as well as efficiently query a database. Object databases directly store objects into the database but object-relational models need a complex mapping mechanism and although the coding is more efficient, the question remains that the existing database investments cannot be just discarded and replaced with something new at substantial cost and effort. The decisions to switch to object-oriented data models have to be made after carefully considering what applications to change and why. Object-relational databases included Oracle 8i, DB/2, Informix and Unidata. When considering a data model, the requirements of the stakeholders need to be considered and these include matters associated with development costs, functionality, time to market, operating costs and investment protection. On the other hand, the requirements of the end users are also important and consist of matters related to functionality, performance and reliability. Operational requirements consist of matters related to reliability, administrative costs, recovery, resources, access control, administrative effort and maintainability. Vendor support, licensing costs, training requirements, development efforts required as well as investment protection are important from a project management point of view. Stability, tool support, vendor support, architecture and DB features are important to the development team. It has to be realised that database applications in an enterprise are supporting more then one application and the addition of object-oriented databases can result in additional communications and data standardisation requirements. After considering the many factors that are involved in the selection of a data model, it can be concluded that applications that involve querying require relational or object-relational type models, while navigational applications involving opening tasks and projects while working with objects require object-oriented data models. Object-relational data models certainly improve the navigational characteristics, but do not provide substantial improvements.
|