I'm about to start a database project (my first, so please bear with me .
Here are my initial design desires:
Multiple tables for data (two, possibly three).
Standard fields (Names, dates, dollar amounts).
Pretty standard stuff there, but here's where it gets tricky, if not impossible. First, I'm an old-school programmer and I don't like wasting space. I'd like to use a small two or three character field as bit-flags. Second, I'd like to allow access to table fields on a user access basis (administrator, secretary, treasurer, user, etc.). Is it possible to (one) have the data server handle the bit-flags (ie. is it possible to do boolean expressions on a char field?) and (two) do SQL databases allow limiting user rights to individual fields? If so, which server do you think would be best suited for this project?
I know I can handle the bit-flags in the program, but the user access would be a bit more tricky, I'd rather the database engine handle that load.
I prefer MySQL, PostgreSQL, or perhaps even Interbase. MS SQL server isn't totally out of the question, but I prefer to do this as cheaply as possible. The application (written in Borland C++Builder) is for keeping track of club membership (dues, fees, etc)
you said MS SQL could be the choice, so I would suggest that. You can do boolean fields, and you can grant rights on individual columns. It works pretty good.
Thanks for the reply. I think I've given up on the restrictions for individual columns. There's only three or four people that need to be using this application anyway. I'll just restrict who can run it. MS SQL is just too expensive (in both hardware requirements and cost) for a project of this small size. A small Access database will do fine.
I do have another project in mind after this one that will require user restrictions on individual columns as well as tables. I may consider MS SQL for that one, or try another way around the limitations on the other SQL's.