Database Software

I'm working on a database project that I want to market in the near future.

My project would require me to setup a database and a management program to run on the desktop of client machines without connecting to the internet. When these machines can be connected to the internet I need to make them able to back up to a central server.

My question is what to use to create the client software? Should I use off the shelf desktop databases, or should I create something from scratch? Either way what tools should I be evaluating? Since I want to market this software I am leaning towards building it myself.

If anybody could share some ideas or give me links to a place to get better info it would be much appreciated.

Well PostgreSQL seems to be the new thing. It's free and ready for Enterprise type applications. It also supports Transactions and Stored Procedures.

You can hook into it with PHP (Make sure you install PostgreSQL module with it).

I'd just use your browser as the GUI, this way if you ever wanted to migrate the app to the web it would be very simple to do so.

PostGrSQL is quite robust, and all of it's 'advanced' features are mature. I especially liked triggers. You can easily back up the data base and it has a nice admin's front end.

It supports a shitpile of languages

http://www.postgresql.org/docs/interfaces

And you can write procedures in quite a few languages as well, or configure it to interpret whatever other language you want to add besides the ones it's already set up to run

Thanks for the input.

Any other opinions out there?

Create a database yourself, did I read that correctly?

I think people are confused by the description but I could be wrong.

"these are your Access DBs (pretty much ideal in windows, but you need office installed AFAIK)"

Your customers don't need to have Office installed to run Access databases or applications. You can run the Access database with a front end written in VB, Delphi, etc. without requiring Office. You can can get an Access runtime distributable which allows Access applications to be distributed without your customers having to have Access installed on their computers.

Sorry for any confusion.

My goal is to create a system for clients to keep records of a series of events and the costs associated with these events. Most of my potential clients have shitty internet access so I need the system to function independent of the internets. I want this system to be able to backup to a central server when the clients has an internet connection to give me access to all of the data and to provide backup to the client.

The system of events that I am attempting to keep track of isn't terribly complicated and will not contain a huge number of records.

I have my entire system mapped out on paper. I just need help deciding what software to use to develop this project. Especially for the software that will reside on the client machine.

Any help is much appreciated.

On each pc index your event table with an event key using machine-specific information as part of the key. Write apps around capturing events and recording in this table, and any adjutant tables.

Write another app to connect to a remote database via network (I'd lean towards JDBC or Perl DBI) and update the central database from the local.

Maybe clean up the local after.

Don't forget Oracle:

Oracle Database 10g Express Edition (Oracle Database XE) is an entry-level, small-footprint database based on the Oracle Database 10g Release 2 code base that's free to develop, deploy, and distribute; fast to download; and simple to administer. Oracle Database XE is a great starter database for:
Developers working on PHP, Java, .NET, XML, and Open Source applications
DBAs who need a free, starter database for training and deployment
Independent Software Vendors (ISVs) and hardware vendors who want a starter database to distribute free of charge
Educational institutions and students who need a free database for their curriculum
With Oracle Database XE, you can now develop and deploy applications with a powerful, proven, industry-leading infrastructure, and then upgrade when necessary without costly and complex migrations.Oracle Database XE can be installed on any size host machine with any number of CPUs (one database per machine), but XE will store up to 4GB of user data, use up to 1GB of memory, and use one CPU on the host machine.

http://www.oracle.com/technology/software/products/database/xe/index.html

1 GB of Memory????

It's free software for small applications. If you want to get something more commercial then I guess you have to pay - just like SQL Server.

Thanks for all the suggestions. Figuring out which software tools to use has been a large headache.