Click to See Complete Forum and Search --> : What database to use


left1none
September 16th, 2009, 06:08 PM
I have a C++ windows program which searches a database with only 2 tables. Right now I'm using Microsoft Access database for now just as beta and only have a few hundred records but I assume that I will need to handle up to 4 million records in the future. From what I know MS Access really isn't really designed for that many records. So my question is what about Visual Foxpro? I don't need any forms I just want something that can handle a few million records and for now it wont be multiuser and I don't use any of the forms or queries everything is done in C++ code. But to get to my question what do you recommend me use. I want something that can be set up kind of in the manner of access' design view and also something that isn't going to cost a ton of money and that is easy to setup on other computers as well. And it's all local not on a network. Thanks in advance.

Jack

left1none
September 16th, 2009, 07:17 PM
OK after doing a bit more research maybe access will be good enough as long as you don't go over the 2GB per table limit. Is this true? The database is only handling 1 user so speed shouldn't be much of a problem. Also how do you determine the size of each record does it go by how much space you allow for like text fields or is it how much data you actually have in each column? Like if I have a field for first name and have it to handle 20 characters will ever record for that field be 20 chars(bytes) or will someone with the first name John only take up 4 chars? I read someone has 20,000,000 records on one table and I just need roughly 5,000,000 or less I imagine but maybe I should go ahead and think ahead. Is SQL express pretty good or is it the same?

Jack

dglienna
September 16th, 2009, 07:43 PM
SQL Express is a better choice. Access is good for 3-5 users only. If your app is ever going to grow, it's easier to start with SQL Express, and then buy SQL Server when you need multiuser x5000. Then you change the connection string, to SQL Server, and that's IT

left1none
September 16th, 2009, 08:10 PM
Thanks

davide++
September 17th, 2009, 02:48 AM
Hi all.

Ok, I agree with dglienna, SQLExpress is more appropriate than Access, and later you can easily change it with SQLServer. But you have to manage a large amount of data, over 4 millions of record, so maybe SQLServer isn't enough powerful. I would suggest Oracle, but pheraps it's too "big", and too expensive and hard to manage for your data model, only two tables. Your requirements are a bit strange; are you sure that you've designed correctly the data model?

Alsvha
September 17th, 2009, 03:50 AM
4 million rows shouldn't be a problem with SQL Server but it does sound like strange design of the data model.

left1none
September 17th, 2009, 12:50 PM
All I have is a table to hold Cemeteries in and a table to hold the interment. Each Interment record has a Cemetery field which stores the ID of the cemetery in. I'm a novice at deisigning databases but I'm sure this is suffice. I need something rather cheap and that can be put on other pcs without much headaches and without any roylaties. I have this working with Access so far and for the place i'm doing it for now Access or SQL Express will suffice for I only have probably 200,000 records for this area. But I'm just thinking ahead and some larger communities may have a few million. Also can't SQL express and Access handle millions of records as long as you don't go over the 2GB (4GB for express) table limit. I figured out I should be able to get roughly 5 million records or a little more for access (10+ million for SQL Express). I mean it's a simple database and I use C++ for a front end I don't use an queries from Access right now it's all coded in C++. Everything is single user it's not from the web. I will install the database and software onto each pc that needs it. So mulit-user at this stage is no big deal. I appreciate all your help keep it coming.

Thanks.

jack