The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Data Files

This may seem really basic but...
I'm thinking in develop a program to manage expenses and i reach a dilema: what type of "system" should i use to store the data? Plain files, Database?
The problem is that i may want to sell the software and if i save the info in SQL Server, the person who buys the product must have a the SQL Server installed, right?
What do you recommend?

Thanks!!!
DcMath Send private email
Friday, October 21, 2005
 
 
SQL server is not the only relational sql database, and it is not the best, nor the cheapest.
Arafangion Send private email
Friday, October 21, 2005
 
 
SQL Server was just an example...
I ones do you recomend Arafangion?
DcMath Send private email
Friday, October 21, 2005
 
 
XML is just a file or stream format.
Arafangion Send private email
Friday, October 21, 2005
 
 
There are databases such as Paradox and dbase. Been around for years and are well understood and documented. All you need is the ODBC drivers and away you go.

If you want a relational database management solution go for mySQL. This is cheap and well understood with lots of info on the web.
Andrew Wood Send private email
Friday, October 21, 2005
 
 
SQLite is very portable, small, easy to setup with most systems, langauges, etc - but should only be used in an instance where 1 person at a time is accessing the data.

If you were storing in XML, what mechanism would you use for searching and sorting?
Ben Mc Send private email
Friday, October 21, 2005
 
 
"If you want a relational database management solution go for mySQL. This is cheap and well understood with lots of info on the web. "

I would go for the free version of SQL Server (currently called MSDE and soon to be called SQL Server 2005 Express) before going with MySQL. It's just my opinion but I don't see why people keep pushing MySQL all of the time. Another decent free database is Firebird.

But you will definitely want to decide if you need to go the database route or not. Storing data in XML or flat files can be very easy compared to supporting a database on the end user's machine. Databases typically require maintenance (backups, etc.) which will either need to be built into your application or will need to be performed by the user.
Turtle Rustler
Friday, October 21, 2005
 
 
If you're on Windows, and the database is not too large, just use Jet (Access engine).  It's on (almost?) every Windows machine.

For rinky-dink databases, this is prob. path of least resistance.
BillT Send private email
Saturday, October 22, 2005
 
 
Well, a very nice and flexible solution would be Hibernate and HSQLDB. That way people don't need to install a DB if they don't really need to (since HSQLDB runs with your program), but those who want can do with a small configuration change in the hibernate files..
Helge Richter Send private email
Monday, October 24, 2005
 
 
What kind of "expenses?"  Is this targeted at personal expenses (household, hobby, sole-proprietor businesses)?

If the platform is Windows and nearly all use is single-user rather than having a shared database there is an obvious answer: Jet.  Jet is so useful for this sort of thing that Microsoft is reviving it for the next version of Access.  Jet 4.0 is considered part of Windows and there are no licensing costs beyond the OS itself.

Another option to consider might be SQL Server Express which is currently in beta.  It gets around some of the problems that kept MSDE from being a good replacement for Jet.  I'm not sure Express works on Windows 9x machines though, something to consider unless you wish to limit your customers to Win2K+.
Bob Riemersma
Monday, October 24, 2005
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz