Jump to content

OODB or RDB for checkbook/budget program?

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
9 replies to this topic

#1
cople

cople

    Newbie

  • Members
  • PipPip
  • 21 posts
Hi,
I wrote myself an Access db several years ago to do some things for my checkbook and budgeting and I've really enjoyed it ever since. Lately I've been thinking about writing it as a stand alone program so I could let my family and friends use too (I don't want it to be Access dependent because I don't want to have to troubleshoot and support it on different versions of Access or MDAC).

Anyway, recently I took a class on OO programming logic and a C++ class, and as I was thinking of how to design it, I was thinking in terms of objects. For instance, a transaction would be an object with attributes like a date, amount, etc. But then I realized that designing it this way seems to be fundamentally different from the way I did it originally with Access. So it looks like the first big decision I have to make is to decide whether to use object oriented db design or relational db design. Is this true, and if yes, which way would be better to go for a checkbook/budgeting app?

Thanks for your help.

#2
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
I don't think there's a "Better", however I would use SQLite, which is an RDB.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#3
cople

cople

    Newbie

  • Members
  • PipPip
  • 21 posts
Gotcha.
I was reading here at - wiki.python.org/moin/SQLite - that SQLite only supports NULL, INTEGER, FLOAT, TEXT and BLOB data types unless you use its "pysqlite types mode" and in such case "things can get a little nastier".

What does this mean?
Does it only apply if one is using Python?
Should it be a concern?

Thanks.

#4
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
Most RDBs only support those types. I would NOT recommend extending the types. Instead, I would craft your solution with the database requirements in mind.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#5
cople

cople

    Newbie

  • Members
  • PipPip
  • 21 posts
So I wouldn't be able to have a DATE type? What effects would/does this have on how I code? In other words, how do you code differently when the db has limited types to use?
Thanks.

#6
BlaineSch

BlaineSch

    Writes binary right handed and hex left handed

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 2,448 posts
You could store a string of the date and use the programming language you coded it in to do the work instead of the sql

#7
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
A date can also be stored as an integer number of days from a fixed date. Take advantage of the date operations in your language :)
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#8
cople

cople

    Newbie

  • Members
  • PipPip
  • 21 posts
So you use the language to handle the types? And therefore no functionality is lost?

#9
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
Right.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#10
cople

cople

    Newbie

  • Members
  • PipPip
  • 21 posts
Thanks for the help and the info.