Databases

A database is information that's set up for easy access, management and updating.

A database management system (DBMS) is a software system for creating and managing databases. A DBMS enables end users to create, protect, read, update and delete data in a database. It also manages security, data integrity and concurrency for databases.

The most prevalent type of data management platform, the DBMS, essentially serves as an interface between databases and users or application programs, ensuring that data is consistently organized and remains easily accessible.


Some common functions that a DBMS performs

(See also: The Components of a DBMS.)

Object[-Oriented] Databases

Object-Relational Mapping (ORM)

Object-Relational Mapping (ORM) is a technique that converts data between object-oriented programming languages and relational databases. It creates a "bridge" that allows developers to interact with databases using the familiar syntax of their programming language, rather than writing raw SQL queries. This simplifies database interactions, increases productivity, and speeds up development.

Generated by Google's AI

ODB: C++ Object-Relational Mapping (ORM)

See https://www.codesynthesis.com/products/odb/

ODB is an open-source, cross-platform, and cross-database object-relational mapping (ORM) system for C++. It allows you to persist C++ objects to a relational database without having to deal with tables, columns, or SQL and without manually writing any mapping code. ODB supports SQLite, PostgreSQL, MySQL, Oracle, and Microsoft SQL Server relational databases. It also comes with optional profiles for Boost and Qt which allow you to seamlessly use value types, containers, and smart pointers from these libraries in your persistent C++ classes. See Features for the detailed list of the supported functionality.

[...]

ODB is not a framework. It does not dictate how you should write your application. Rather, it is designed to fit into your style and architecture by only handling C++ object persistence and not interfering with any other functionality. As you can see, existing classes can be made persistent with only a few modifications. In particular, a persistent class can be declared without the default constructor, existing accessor and modifier functions can be automatically used to access the data members, and ODB pragmas can be moved out of the class and into a separate header, making the object-relational mapping completely non-intrusive. Support for automatic database schema evolution further allows you to treat ODB persistent objects like any other C++ classes in your application.