Component-oriented database

Component-oriented database (CODB) is a way of data administration and programming DBMS's using the paradigm of the component-orientation.

Concepts
The paradigm of component-orientation (CO) is a development of the object-orientation (OO) in programming and data modeling, leading toward the extreme the possibilities of reuse. In this model type, classes are aggregate in cells called components, that execute a role similar to the function in the structured programming, a way of processing information contemporary to the relational database model.

So the component-orientation mixes a set of features of its predecessor models. Understanding it is simpler while thinking of the visual component, that is an application which not being deployed into an executable or bytecode but otherwise turned to be linked by an icon inside another application, icon when one clicks on it implements certain tasks. Then this concepts can be extended to non-visual components.

In database activities, the component, visual or not, is an aggragate of classes, in the sense of OO, that can be linked to other ones by adapters.

As after the OO model conception data and code programming code are mixed in a cohesive body, there are some difficulties in conceiving where the CODB and CO programming are separate one from the other. Although this enigma is important in conceptual epistemological area, in practical data processing there isn't so importance in this question because of usage of mapping models to large scale used software, like the mappings called ORDBMS and CRDB (component-relational database), in which the separation of data and code are still well defined.

Implementation
In programming activity, the CO is often taken place with large-scale used OO languages (like C++, Java) with mapping adaptation. In designing the paradigm is supored by UML. In data modeling, data administration and database administration, the mapping adaptation is alike the ORDBMS paradigm. The adapted paradigm to component-based models is known as component-relational database (CRDB).

Advantages
The main advantage of the component-oriented thinking, as seen in early chapters, is the optimization of reusability of work. Going far away from the uses of OO models, the CO paradigm allows the use of ready to use applications as modules to new and bigger projects.

It is necessary to regard that these technical features are not achieved in traditional OO models, although the idea of component came up naturally from OO thinking. The basis support notions of OO like encapsulation, inheritance and polymorphism not necessarily leads to the idea of reusing applications as modules of new works. The CO thinking also assures that components are fully tested, as a real application, and thus there is in this model the paroxism of reuse, as well as the feature of understanability to end users, as corollary of the app->comp way of realizing the IT works.

Even using the same software that are present in OO paradigm, there are many specific consequences in the world of data-oriented activities. In analogous way, whole models composed of classes can be treated as a part (component) of a new more comprehensive model.

Bibliography
 Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, peter. Pattern-Oriented Software Architecture, Volume 1. John Wiley & Sons, 1996, .
 Cho, Eun-Sun ; Han, Sang-Yong; Kim, Hyoung-Joo. A New Data Abstraction Layer Required For OODBMS, Proceedings of 1997 International Database engineering and Applications Symposium (IDEAS’97).
 Clemente, Pedro J.; Hernandez, Juan. Aspect Component Based Software Engineering, Proceedings of the Second AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS), March 2003.
 Clements, Paul. From subroutines to subsystems: Component-Based Software Development. Brown, Allen. Component-Based Software Engineering: Selected Papers from Software Institute, 1996.
 Erich Gamma, Erich; Helm, Richerd; Johnson, Ralph; Vilssides, John. Design Patterns. Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995, .
 Garcia-Molina, Hector; Ulman, Jeffrey D.; Widom, Jennifer, Database Systems – A complete book. Prentice Hall, 2002, .
 Pfister, C.;Szyperski, C.. Why Objects Are Not Enough, Proceedings of Component Users Conference, Munich, Germany, 1996.
 Rotaru, Octavian Paul;Dobre, Marian;Petrescu, Mircea. Integrity and Consistency Aspects in Component-Oriented Databases, Proceedings of the International Symposium on Innovation in Information.
 Stroustrup, Bjarne. Why C++ is not just an Object-Oriented Programming Language, Addendum to OOPSLA95 Proceedings, ACM OOPS Messenger, October 1995.

See also
 Object Database
 Relational model

References

Category:Object-oriented programming
Category:Database models