Subject | Re: [ib-support] Cross-db query |
---|---|
Author | Antonio Parrotta |
Post date | 2002-10-30T12:15:02Z |
Svein,
you are my best friend :-), I have appreciated so much the time you have devoted to me, I think that a changing of my approach is needed, most of my code has to be review, but that is necessary if I want to obtain a good application.
So, many thanks to you and to all people that tried to help me, you are so kind!
Good work!
Antonio
Svein Erling Tysvaer <svein.erling.tysvaer@...> wrote:Well, there are written books about that subject. I haven't even read any
of them, so don't take my word for being the final answer.
Basically, when working with Access (or at least Paradox, I've never used
Access) it is common to use tables. They're fast and flexible and you see
everything in a grid. With Firebird, you "never" want all this information,
you always specify what you want before you get it. 100 or 1000 records are
normally only appropriate for reporting, for interactive use you normally
specify which fields you are interested in and then select one or a handful
of records.
That is, Access basically use
SELECT * FROM TABLE
upon which you locate what you are interested in, whereas Firebird use
SELECT PK, Name, e-mail FROM TABLE
Where Name = 'Antonio Parrotta'
to obtain only records that are of interest. If you add appropriate indexes
to the tables you use, this is normally enough to get decent performance
regardless of table size. If you have an index on name and there is only a
few Antonio Parrottas in the database the above query ought to be subsecond
whether the table contained 10 or 100000000 records (well, I haven't
actually tried a database that big).
And then, c/s is designed for having several users, whereas desktop
databases are primarily for one user only. So you need to learn about
transactions (take a look at some of the community sites - e.g.
www.ib-phoenix.com, www.ib-objects.com or www.cvalde.com, I don't remember
where to find such information but they ought to have something) and start
using generators rather than auto-increment fields.
It will be a learning curve - both for you as a programmer and for your
users when they no longer will be able to select from "spreadsheets", but
in the end you will probably prefer c/s over desktop programming and your
users become more effective.
Good luck,
Set
---------------------------------
MIo Yahoo! : personalizza Yahoo! come piace a te
[Non-text portions of this message have been removed]
you are my best friend :-), I have appreciated so much the time you have devoted to me, I think that a changing of my approach is needed, most of my code has to be review, but that is necessary if I want to obtain a good application.
So, many thanks to you and to all people that tried to help me, you are so kind!
Good work!
Antonio
Svein Erling Tysvaer <svein.erling.tysvaer@...> wrote:Well, there are written books about that subject. I haven't even read any
of them, so don't take my word for being the final answer.
Basically, when working with Access (or at least Paradox, I've never used
Access) it is common to use tables. They're fast and flexible and you see
everything in a grid. With Firebird, you "never" want all this information,
you always specify what you want before you get it. 100 or 1000 records are
normally only appropriate for reporting, for interactive use you normally
specify which fields you are interested in and then select one or a handful
of records.
That is, Access basically use
SELECT * FROM TABLE
upon which you locate what you are interested in, whereas Firebird use
SELECT PK, Name, e-mail FROM TABLE
Where Name = 'Antonio Parrotta'
to obtain only records that are of interest. If you add appropriate indexes
to the tables you use, this is normally enough to get decent performance
regardless of table size. If you have an index on name and there is only a
few Antonio Parrottas in the database the above query ought to be subsecond
whether the table contained 10 or 100000000 records (well, I haven't
actually tried a database that big).
And then, c/s is designed for having several users, whereas desktop
databases are primarily for one user only. So you need to learn about
transactions (take a look at some of the community sites - e.g.
www.ib-phoenix.com, www.ib-objects.com or www.cvalde.com, I don't remember
where to find such information but they ought to have something) and start
using generators rather than auto-increment fields.
It will be a learning curve - both for you as a programmer and for your
users when they no longer will be able to select from "spreadsheets", but
in the end you will probably prefer c/s over desktop programming and your
users become more effective.
Good luck,
Set
---------------------------------
MIo Yahoo! : personalizza Yahoo! come piace a te
[Non-text portions of this message have been removed]