HOME

TheInfoList



OR:

Component-oriented database (CODB) is a way of
data administration Data administration or data resource management is an organizational function working in the areas of information systems and computer science that plans, organizes, describes and controls data resources. Data resources are usually stored in databas ...
and programming
DBMS In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases span ...
'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 Data modeling in software engineering is the process of creating a data model for an information system by applying certain formal techniques. Overview Data modeling is a process used to define and analyze data requirements needed to su ...
, 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 Function or functionality may refer to: Computing * Function key, a type of key on computer keyboards * Function model, a structured representation of processes in a system * Function object or functor or functionoid, a concept of object-orie ...
in the
structured programming Structured programming is a programming paradigm aimed at improving the clarity, quality, and development time of a computer program by making extensive use of the structured control flow constructs of selection ( if/then/else) and repetition (w ...
, a way of processing information contemporary to the
relational database A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relatio ...
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 applicationor even a small application or
applet In computing, an applet is any small application that performs one specific task that runs within the scope of a dedicated widget engine or a larger program, often as a plug-in. The term is frequently used to refer to a Java applet, a program w ...
which not being deployed into an
executable In computing, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instructions", as opposed to a data fil ...
or
bytecode Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (norma ...
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 aggregate 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 Data processing is the collection and manipulation of digital data to produce meaningful information. Data processing is a form of '' information processing'', which is the modification (processing) of information in any manner detectable by ...
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 Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
) with ''mapping adaptation''. In
designing A design is a plan or specification for the construction of an object or system or for the implementation of an activity or process or the result of that plan or specification in the form of a prototype, product, or process. The verb ''to design' ...
the paradigm is supported by
UML The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system. The creation of UML was originally ...
. In ''data modeling'', ''data administration'' and
database administration Database administration is the function of managing and maintaining database management systems (DBMS) software. Mainstream DBMS software such as Oracle, IBM Db2 and Microsoft SQL Server need ongoing management. As such, corporations that use D ...
, 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 Inheritance is the practice of receiving private property, titles, debts, entitlements, privileges, rights, and obligations upon the death of an individual. The rules of inheritance differ among societies and have changed over time. Offici ...
and
polymorphism Polymorphism, polymorphic, polymorph, polymorphous, or polymorphy may refer to: Computing * Polymorphism (computer science), the ability in programming to present the same programming interface for differing underlying forms * Ad hoc polymorphis ...
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 understandability 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 An object database or object-oriented database is a database management system in which information is represented in the form of objects as used in object-oriented programming. Object databases are different from relational databases which are ...
*
Relational model The relational model (RM) is an approach to managing data using a structure and language consistent with first-order predicate logic, first described in 1969 by English computer scientist Edgar F. Codd, where all data is represented in terms of tup ...


References

{{DEFAULTSORT:Component Oriented Database Object-oriented programming Database models