Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Need in C++ thanks in advance. There is no limitation on the topic of the paper,

ID: 666634 • Letter: N

Question

Need in C++ thanks in advance.

There is no limitation on the topic of the paper, but it should be a simple object-oriented database in C++ code. So, the program must have at least one class with private data (variables) and public functions (methods). The program must be complete, but does not have to be very complicated.

The paper introduces and describes your program and includes a few snap shot of program running. It should have a title page (without the table of contents), the introduction and the conclusion sections. Appendix of program code is a good idea, but the entire paper should not exceed 20 pages. The paper should use 12-point font with double spacing - One-inch margins for top-bottom and left-right. Any images or tables should be less than a half-page. Header and footer are optional.

If basic requirements are fulfilled, the paper will receive 70 points. Any extra work is done, it will add to the basic grade. If basic requirements are not completely fulfilled, the paper will receive less than 70. The basic requirements include (1) paper, and (2) program source code and additional headers/database files.

Explanation / Answer

Answer:

TITLE: Object-Oriented Database in C++

Abstract

ODB is an object-relational mapping (ORM) system for the C++ language. It allows an application developer to persist(permanent) C++ objects to a relational database without having to deal with tables, columns, or SQL and without manually writing any mapping code. ODB supports C++98/03 and C++11 language standards and comes with optional profiles for Boost and Qt which allow an application developer to seamlessly use value types (data-time, string, binary, uuid, etc.), containers, and smart pointers from these libraries in persistent C++ classes. ODB is free software and is dual-licensed under the GPL and a proprietary license.




Introduction to ODB and ORM

One notable difference between ODB and other ORM implementations for C++ is its automatic generation of the database mapping code and, optionally, the database schema from the C++ headers that declare the classes. This task is performed by the ODB compiler. The ODB compiler is a real C++ compiler except that instead of producing assembly or machine code, it generates portable C++ which can in turn be compiled by any C++ compiler. The ODB compiler uses the GCC compiler front-end for C++ parsing and is implemented using the new GCC plugin architecture.

The ODB compiler also provides comprehensive support for database schema evolution, including fully automatic schema migration, support for immediate and gradual data migration, as well as support for soft model changes. The latter feature allows one to work with multiple schema versions using the same C++ classes.

Required Components for ODB

The other components of the ODB system include the common runtime library (libodb) and the database-specific runtime libraries (for example, libodb-mysql). The common runtime library defines object-oriented database interfaces that are used by the application developer to perform various database operations on persistent objects. The database-specific runtimes implement these interfaces for concrete database systems and provide support functionality for the generated database mapping code.

Performance of ODB

To achieve high performance, low overhead, and reliability ODB does not use common database APIs, such as ODBC, to access the relational database. Rather, each database-specific runtime library uses low-level, native C APIs that are specific to each database. ODB currently supports the MySQL, SQLite, PostgreSQL, Oracle, and SQL Server databases. Bulk/batch operations are supported for Oracle and SQL Server. The application can also use multiple databases (for example, MySQL, SQLite, etc.) at the same time. Multi-database support comes in the static and dynamic flavors with the latter allowing the application to dynamically load the database support code for individual database if and when necessary.

ODB is not a framework. There is no common base type that all persistent classes should derive from nor are there any restrictions on the data member types in persistent classes. Existing classes can be made persistent with a few or no modifications. ODB is also flexible in the level of insulation it provides to the application developer. It can either completely hide the relational nature of the underlying database or expose some of the details as required.

//Example code for employee database

//Snapshot of the program running is not done because of my system is not with any DBMS as backend

Conclusion:

To implement Object Oriented Database using C++ required a runtime library (libodb). This is opensource library from “http://www.codesynthesis.com/products/odb/download.xhtml”

References:

1.http://www.tutorialspoint.com/cplusplus/cpp_object_oriented.htm

2. http://www.codeproject.com/Articles/14/C-Object-Oriented-Database-Generator

3. https://en.wikipedia.org/wiki/ODB_%28C%2B%2B%29

4. http://www.service-architecture.com/articles/object-oriented-databases/c++_and_object_databases.html

5. http://stackoverflow.com/questions/1022108/open-source-c-object-oriented-database

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote