OO Database Design in C++

J

Josh McFarlane

If this is not the right place to post this, I apologize.

I've taken over work for a few utility programs for a collection of
database / raw files. All the programs but one read from the files, and
as it is, many of the operations are done through standard non-OO code.
All of the database information is currently stored in linked list
structures. I'm looking to move the entire thing to objects.

I'm defining generic database, table, and record classes, as well as
base functions for the classes. Then I will define a specialized record
class for each table and populate members inside the database class
accordingly.

This is the first time I've really tried to dig deep into OO with C++,
so my question: Is this the right way to approach the design or is
there a better method for C++?

My overall goal is to standardize the code so when database design
changes, all I need to do is modify the generic database classes and
push those changes to the programs.

Thanks in advance.
Josh McFarlane
 
P

Pavel Vozenilek

Josh McFarlane said:
I've taken over work for a few utility programs for a collection of
database / raw files. All the programs but one read from the files, and
as it is, many of the operations are done through standard non-OO code.
All of the database information is currently stored in linked list
structures. I'm looking to move the entire thing to objects.

I'm defining generic database, table, and record classes, as well as
base functions for the classes. Then I will define a specialized record
class for each table and populate members inside the database class
accordingly.
You may try
http://www.garret.ru/~knizhnik/databases.html

Post++ and GOODS are ful-featured, mature OO databases.

/Pavel
 
V

Victor Bazarov

Josh said:
If this is not the right place to post this, I apologize.

I've taken over work for a few utility programs for a collection of
database / raw files. All the programs but one read from the files, and
as it is, many of the operations are done through standard non-OO code.
All of the database information is currently stored in linked list
structures. I'm looking to move the entire thing to objects.

I'm defining generic database, table, and record classes, as well as
base functions for the classes. Then I will define a specialized record
class for each table and populate members inside the database class
accordingly.

This is the first time I've really tried to dig deep into OO with C++,
so my question: Is this the right way to approach the design or is
there a better method for C++?

The C++ language is so generic that any approach that solves the problems
you identified is the right approach.

I am not very versed in database management, so I don't have any specific
advice to give in that area, however, there are quite a few books on the
subject and there are database-centric newsgroups where folks would know
more about how to [re-]design a database management system. I also seem
to remember that there were OO DBMSes at some point, quite popular. One
was called "POET", another was "c-tree", there were probably more. I am
not sure if they are still around and what you can gain by looking at
them, but c-tree used to ship in source code, so you could actually read
it like a book on DBMS design.

V
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,774
Messages
2,569,596
Members
45,144
Latest member
KetoBaseReviews
Top