?
Solved

Which database is better for Delphi7?

Posted on 2009-12-29
25
Medium Priority
?
624 Views
Last Modified: 2013-11-23
Sir,
I want to build a  School Management System in delphi 7. Which database is better. Please tell me.

Prasid
0
Comment
Question by:prasiddutta
  • 8
  • 5
  • 4
  • +5
25 Comments
 
LVL 8

Accepted Solution

by:
thiagoblimeira earned 224 total points
ID: 26140978
You could use Interbase or Firebird
They work fine for me
0
 
LVL 22

Assisted Solution

by:8080_Diver
8080_Diver earned 444 total points
ID: 26141228
How big is the database going to have to be?
Do you anticipate it growing any?
How many users will be accessing it at any one point in time?
Personally, I would investigate using SQL Server 2005 (or 2008) Express.  It has almost all of the capabilities of a full blown SQL Server database.  It is free.  It has fully developed stored procedures, triggers, indexes, and views.  It offers the option of upgrading to a full blown SQL Server instance.  
Depending on which version of Interbase or Firebird that you look at, various capabilities are anything from not available to "restricted" and there are some stability issue with both of them (although the most recent Firebird is rumored to have solved many of those issues).
Also, because SQL Server has a larger user community, there are more books on more aspects of it and there is a bit more help available on this and other forums.
0
 
LVL 43

Assisted Solution

by:pcelba
pcelba earned 668 total points
ID: 26141345
Is Delphi the ideal language to process data? If it is the only option for you then you may use any database backend. Looking for free databases, you may also use MySQL, PostgreSQL, or SQL Server Express. Everything depends on amount of data and number of concurrent users.

You could also look at templates delivered together with MS Access 2007 - some Students evidence exists but it is probably far away from School Management system.

I would use Visual FoxPro to write this kind of application. It has power set of data processing commands, OO programming language, and data can be upsized to SQL backend when you decide. If you don't require web application then VFP is the right tool.
0
Get quick recovery of individual SharePoint items

Free tool – Veeam Explorer for Microsoft SharePoint, enables fast, easy restores of SharePoint sites, documents, libraries and lists — all with no agents to manage and no additional licenses to buy.

 
LVL 22

Expert Comment

by:8080_Diver
ID: 26141408
@pcelba,
On the other hand, I would enthusiastically use Delphi for such an application.  It has all of the things you mention about Visual FoxPro as well as several other properties that make it my "weapon of choice" for such pplications.  Of course, I am also sure that VFP has other aspects that may make it your "weapon of choice."
However, the key point here is whether or not it is Uprasiddutta's "weapon of choice" (or, possibly, "weapon of necessity" ;-).
Delphi has a fairly large following outside of the US (and not that small of one inside the US ;-), so it is entirely possible that there is more support for the application if it is written in Delphi than if it is written in VFP.  
In any case, I would think that we should honor the initial problem statement given in the original post:
"I want to build a  School Management System in delphi 7."
0
 
LVL 22

Expert Comment

by:senad
ID: 26142192
Since you probably have Office - use Access as the back-end database.
Then in D7 use the ADO components.
0
 
LVL 43

Assisted Solution

by:pcelba
pcelba earned 668 total points
ID: 26142552
I am respecting the D7 selection. VFP is just the tool of my choice which I know very well... And I agree - we should focus to the backend database.

To give appropriate answer we need to know data size and number of concurrent users at least. SQL Server Express would show its limits very early but the $olution i$ ea$y...  Access is suitable for small (maybe midsize) implementations, it can be extended by some backend database but it is still not professional tool. The question is if we would need D7 frontend for Access database.

Firebird and PostgreSQL have relatively low number of installations. MySQL seems to be the most stable solution even if its future is not clear.

BTW, what reporting engine is planned for School Management System?
0
 

Author Comment

by:prasiddutta
ID: 26143528
May be 3000 records present. And I also like VFP and access. Am I right?
0
 
LVL 38

Assisted Solution

by:Geert Gruwez
Geert Gruwez earned 444 total points
ID: 26143727
Oracle also has a free 10g edition.
http://www.oracle.com/technology/products/database/xe/index.html

the limit on the express editions (free) is usually 4GB.
This is enough if you don't save documents/images/files in the database.
0
 

Author Comment

by:prasiddutta
ID: 26143777
Oooo! Huge size. I'm tensed... What is the main problem if I use Access with help of ADO Connection?
0
 
LVL 3

Expert Comment

by:gskoczylas
ID: 26144395
In my opinion Access is not designed for large amount of data or for concurrent multiuser access.

In my opinion the best database for such application is either Firebird or PostgreSQL. Both are efficient, the have no significant limits, very easy administration and they are free.

In my projescts ususally use Firebird.
0
 

Author Comment

by:prasiddutta
ID: 26144396
My drawback:
I don't know sql, oracle, firebird, interbase. You can provide me example for delphi.
0
 
LVL 43

Assisted Solution

by:pcelba
pcelba earned 668 total points
ID: 26144612
3000 records is a very small database and the engine does not matter. In such case take the one you are familiar with. Even the Access 2007 is sufficient enough.

sql, oracle, firebird, interbase ... all of them are accessed via ODBC, OLE DB, ADO, or similar connection method. Depends what Delphi allows. You have to know SQL language and a few tricks... This application could be a good start. And if some prolems appear experts will help.

For code samples you can look here: http://delphi.about.com/od/database/Build_Database_Applications_with_Delphi.htm

SQL Server Delphi components: http://www.devart.com/sdac/
Delphi data explorer (with source): http://delphi.about.com/library/weekly/aa071205a.htm
0
 
LVL 2

Assisted Solution

by:ASta
ASta earned 220 total points
ID: 26145648
>Sir,
>I want to build a  School Management System in delphi 7. Which database is better. Please tell me.
>Prasid

>My drawback:
>I don't know sql, oracle, firebird, interbase. You can provide me example for delphi.

Hi, Prasid.

I think data size (volume) is small/very small (10 000 - 1 000 000 records),
and i think you  may use any database from Dbase or Paradox to Oracle 10g, db/2 .. etc.
For work with some database need components not included in Delphi.

I like Firebird.

>I don't know sql, oracle, firebird, interbase.
"Learn, learn and learn."
(c) V.I. Lenin :))))))))

>You can provide me example for delphi.
Help usually provide good example.
0
 
LVL 22

Expert Comment

by:senad
ID: 26145776
if you do not know SQL it will be difficult.
I suggest you use Access 2007.It has nice built in templates which
you can easily adjust for your needs (see the pic)
sys.png
0
 
LVL 22

Assisted Solution

by:8080_Diver
8080_Diver earned 444 total points
ID: 26145987
I don't know sql, oracle, firebird, interbase. You can provide me example for delphi
Does that mean you do not know the SQL language or that you do not know SQL Server?
i think you  may use any database from Dbase or Paradox to Oracle 10g, db/2 .. etc.
For work with some database need components not included in Delphi.

 DBase would probably mean you would need to get the Borland Database Engine (BDE) installed and there is a very good reason the BDE was phased out . . . it had problems. ;-)
Paradox works pretty good until someone crashes their system or otherwise makes an "ungraceful" exit from the application.  Whenever that happens, you can wind up with any where from a single table to multiple tables locked, which, in turn, can pretty well shut things down.  Getting the locks removed takes a bit of knowledge about how Paradox does things.  So, I would recommend against Paradox, as well.
While I love the idea of Firebird and Interbase (which are first cousins, so to speak ;-), they are not yet full blown DBMS products, IMHO, that really compare to even MS Access.
MS Access can be used, in and of itself, if there isn't going to be a heavy load on the application as far as concurrent users and/or data modifications (INSERTs, UPDATES, and DELETEs).  The trick is to split the front end (forms, reports, and such) from the back end (the data in the tables and views).  If you build the front end in Acces, the reports can be developed fairly easily.  You can also use Delphi to develop the front end and, if you have MS Access installed on a system, then you don't need any 3rd party components (just use the TADO components).
MS SQL Server Express 2008 offers some advantages over MS Access in that there are some handy new data types (e.g. the Date and the Time datatypes which contain only a date or time, respectively).  Once again, installing the SQL Server Express product provides you with all you need to connect to it if you use the TADO Components.  It also provides the tools that you will need to administer the database (and I would recomment down loading and installing Visual Studio Express as well ;-).
I am pretty sure that the Oracle Express release also provides everything you need (probably including the administrative tools) to connect from Delphi via TADO components.  
There is also a "trial" version of Teradata availalbe that includes a local database and the tools to manage it.  Delphi can connect to Teradata via TADO components, as well.  Depending on exactly what you plan to do, the Teradata dialect of SQL has some nice extensions for things like selecting the top n of every group based upon grouping criteria. (However, that may be venturing into more SQL learnng than you really want to do. ;-)
The last I tried to work with mySQL, I had to get some 3rd party components and drivers to make the Delphi to mySQL connection.  It also had some performance and SQL limitations that I didn't like (I tend to do more through stored procedures than via dynamic SQL that is built in the application ;-).
So, the bottom line is that you can probably get the job done with virtually any of the DBMS mentioned.  You may have to get a bit more hlep with some than with others but you can get there.  You might want to down load and install both a SQL Server Express and an Oracle Express instance and play with them a bit.  If you have MS Access, then compare those with MS Access (as far as the database tables and queries),  That will give you a taste of what you'll have to deal with if you use any of those.
If it were I doing this, though, I would go with Delphi and SQL Server Express 2008.  (My second choice would probably be to use MS Access because there is an upgrade path from there to SQL Server.)  My reasoning, besides SS being the tool I have been working with the most for the last few years, would be that creating stored procedures is relatively easy, the 2008 version has the Date and Time datatypes (which avoid a lot of manipulations to strip either the daet or the time from datetime data), the tools to administer the database are fairly intuitive, and there are a lot of books available on SQL Server (which means you can build your knowledge fairly easily).  (I frequently get really good deals on Amazon's New & Used selections. ;-)
0
 
LVL 38

Assisted Solution

by:Geert Gruwez
Geert Gruwez earned 444 total points
ID: 26152419
i actually have such a delphi/access application sitting on a remote harddrive
i put it on my ftp site

i had to help with it once, i had never before seen such bad code.
they started in java after i gave them the list with all the bugs and problems the code contained.
this project is no longer running, but maybe you can make use of it.
http://delphi.veerle-en-geert.be/schoolproject.zip
0
 

Author Comment

by:prasiddutta
ID: 26152605
Geert, you always differ than others... I will try.
0
 
LVL 22

Expert Comment

by:8080_Diver
ID: 26153943
Geert,
Just out of curiosity, which version of Delphi is applicable to that project?
0
 

Author Comment

by:prasiddutta
ID: 26154687
It work on delphi 7 version....! but not completely...
0
 
LVL 22

Expert Comment

by:8080_Diver
ID: 26154698
Did you try it on D6?
0
 

Author Comment

by:prasiddutta
ID: 26154773
no no no
0
 
LVL 38

Expert Comment

by:Geert Gruwez
ID: 26178312
I did help out in it with D7.
What doesn't work ?
I didn't check what's in the zip ...
0
 

Author Comment

by:prasiddutta
ID: 26178408
Lot of error. Plz run in your D7. I'm not expert thus I can not predict the error.
0
 
LVL 38

Expert Comment

by:Geert Gruwez
ID: 26178440
you don't need to predict
copy paste works from the messagebox which has focus

i allready stated it is the worst code i have ever seen
i think the newer version required the devexpress quantumgrid and treeview
0
 

Author Closing Comment

by:prasiddutta
ID: 31670927
Yes! This instruction help me little bit!
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this blog post, we’ll look at how using thread_statistics can cause high memory usage.
What we learned in Webroot's webinar on multi-vector protection.
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…
Suggested Courses

840 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question