Nowadays there is still an high demand of compatibility between new object oriented development methodologies and traditional DBMS platforms. In fact, in spite of reduced modeling capabilities, traditional RDBMSs offer the advantages of a widely used technology that also allows to easily recruit or train experienced professionals in the field. On the other hand, the object oriented paradigm has the potential to improve many aspects of the software development process, including a more effective maintenance and reuse of existing applications. The OMAR methodology presented in this work supports the development of RDBMS based applications starting from object oriented specifications or programs. It allows a designer to build large systems by using object oriented design methodologies and to generate a prototype of the whole relational application with the support of automated tools. The OMAR development life cycle is depicted in Figure 1. The PC++ programming environment relies upon the PC++ compiler, which extends the C++ language with abstract mechanisms to cope with persistent classes and objects to be stored and manipulated through relational DBMSs. The programmer uses high level constructs to declare persistent classes and the object oriented paradigm to interact with the stored data. It will be the compiler responsibility to generate the appropriate C++/SQL code using ODBC calls. The PC++ programming environment can be used as an entry point of the OMAR methodology for developing small relational applications, or it can be used as a back end for large applications modeled through the object oriented design paradigm of OMAR. The object oriented design schemes can be translated in C++/SQL or PC++ code.