What way of datastorage should be use for small aaplication
-
Hi all, I never really played with small applications.Now I want to write an application, really small.Its only going to be used by a homeuser. Therefore its not really going to be that smart using SQL server. But I need some suggestions.What will be the best technology? I thought of XML, but Im not that clued up with it and it gives me the idea it will get tricky with big functionality.And then theres MS Access, but on the net it looks like its not really being used as much anymore.What will be the practical thing to use? Thank you
-
Hi all, I never really played with small applications.Now I want to write an application, really small.Its only going to be used by a homeuser. Therefore its not really going to be that smart using SQL server. But I need some suggestions.What will be the best technology? I thought of XML, but Im not that clued up with it and it gives me the idea it will get tricky with big functionality.And then theres MS Access, but on the net it looks like its not really being used as much anymore.What will be the practical thing to use? Thank you
My vote is for MS-Access. It isn't going away anytime soon. It will work fine if it is a single user application. Keep things simple. :cool:
-
Hi all, I never really played with small applications.Now I want to write an application, really small.Its only going to be used by a homeuser. Therefore its not really going to be that smart using SQL server. But I need some suggestions.What will be the best technology? I thought of XML, but Im not that clued up with it and it gives me the idea it will get tricky with big functionality.And then theres MS Access, but on the net it looks like its not really being used as much anymore.What will be the practical thing to use? Thank you
Either go with MS Access or MySql :)
Niladri Biswas
-
Hi all, I never really played with small applications.Now I want to write an application, really small.Its only going to be used by a homeuser. Therefore its not really going to be that smart using SQL server. But I need some suggestions.What will be the best technology? I thought of XML, but Im not that clued up with it and it gives me the idea it will get tricky with big functionality.And then theres MS Access, but on the net it looks like its not really being used as much anymore.What will be the practical thing to use? Thank you
-
Hi all, I never really played with small applications.Now I want to write an application, really small.Its only going to be used by a homeuser. Therefore its not really going to be that smart using SQL server. But I need some suggestions.What will be the best technology? I thought of XML, but Im not that clued up with it and it gives me the idea it will get tricky with big functionality.And then theres MS Access, but on the net it looks like its not really being used as much anymore.What will be the practical thing to use? Thank you
You don't say what technology you are using for the application as that may offer you different choices. For example, if it's Java you could look at JavaDB, or HSQLDB (H2), or DB4O. Or, if you don't need a full-fledged database you could simply serialise your objects out to disk (or maybe use the built-in XMLEncoder class). I think DB4O might also have .NET support as well, I'm not sure. For C or C++ you have SQLite among others. Python also supports SQLite, and also has various options like pickle, shelve, gadfly. SQL Server Express might actually a reasonable choice: it can be used embedded from a number of different languages and it is free (as far as I am aware if you are using it embedded in a single user application there are no licensing costs). FireBird is also an option for this sort of thing if you don't like SQL Server for whatever reason. I would say Access is not a bad choice for a stand-alone single user system, I would not agree that it is "not being used much anymore". I've seen several .NET applications that use it internally as a local data-store on a user's PC. FoxPro is a complete all-in-one database and development environment (I haven't seen it in years myself but as far as I am aware it is still going strong with an army of loyal fans). Or if all else fails you could simply write the data out to a text file on the disk in some sort of structured format. If your application is small and data volumes will be low, that might be the easiest option. If security is a concern you will need to work something out to encrypt the data. I guess the short answer is, "It depends..."
-
Hi all, I never really played with small applications.Now I want to write an application, really small.Its only going to be used by a homeuser. Therefore its not really going to be that smart using SQL server. But I need some suggestions.What will be the best technology? I thought of XML, but Im not that clued up with it and it gives me the idea it will get tricky with big functionality.And then theres MS Access, but on the net it looks like its not really being used as much anymore.What will be the practical thing to use? Thank you
I think it boils down to a choice between Access and SQL Server Express. Off the top of my head here's some factors to consider. Access pros: self contained, built in form designer, query wizards, reports designer etc. Can use VBA to enhance functionality. Access cons: cost money (unless you already have Office Pro), can be slow over networks (even LANs). Not as extensible as SSE - but not an issue for home use. SSE pros: 'proper' database. Easily extensible. Lots of help on internet/MSDN forums. It's a free download. Good performance on networks. SSE cons: need a front end (VB.NET Express or C#? - both free) to construct forms etc. Needs a bit more management than Access. There are also some free/open source databases you might consider (e.g. SQLLite) but I'd avoid MySQL because it's fairly heavy duty so probably over the top for what you need.
Regards David R --------------------------------------------------------------- "Every program eventually becomes rococo, and then rubble." - Alan Perlis
-
Hi all, I never really played with small applications.Now I want to write an application, really small.Its only going to be used by a homeuser. Therefore its not really going to be that smart using SQL server. But I need some suggestions.What will be the best technology? I thought of XML, but Im not that clued up with it and it gives me the idea it will get tricky with big functionality.And then theres MS Access, but on the net it looks like its not really being used as much anymore.What will be the practical thing to use? Thank you
SQL Server Express is free, just like MySQL. Both are database-servers, usefull if you want to work with large amounts of data. Oracle 10g Express would be the third option if you require a "real" database. SQLite, SQLCE and MSAccess are good options for smaller databases. MSAccess has been around for some years, and the drivers are usually found on most systems. What's more; Access-databases can contain reports (fully integrated with Office, viewable in MSWord) and you can use the MSAccess-runtime to show them. SQLCE is relative new, feels faster and more stable than MSAccess. It doesn't have embedded reports, and the drivers are probably not installed on the host-machine. I haven't used SQLite intensively, so I haven't formed an opinion on that one yet. Seems to be a viable alternative for SQLCE though. If you don't need an actual database, but still want to store "some" data, look at XML and LINQ-to-XML. Hope this helps :)
I are troll :)
-
I think it boils down to a choice between Access and SQL Server Express. Off the top of my head here's some factors to consider. Access pros: self contained, built in form designer, query wizards, reports designer etc. Can use VBA to enhance functionality. Access cons: cost money (unless you already have Office Pro), can be slow over networks (even LANs). Not as extensible as SSE - but not an issue for home use. SSE pros: 'proper' database. Easily extensible. Lots of help on internet/MSDN forums. It's a free download. Good performance on networks. SSE cons: need a front end (VB.NET Express or C#? - both free) to construct forms etc. Needs a bit more management than Access. There are also some free/open source databases you might consider (e.g. SQLLite) but I'd avoid MySQL because it's fairly heavy duty so probably over the top for what you need.
Regards David R --------------------------------------------------------------- "Every program eventually becomes rococo, and then rubble." - Alan Perlis
-
SQL Server Express is free, just like MySQL. Both are database-servers, usefull if you want to work with large amounts of data. Oracle 10g Express would be the third option if you require a "real" database. SQLite, SQLCE and MSAccess are good options for smaller databases. MSAccess has been around for some years, and the drivers are usually found on most systems. What's more; Access-databases can contain reports (fully integrated with Office, viewable in MSWord) and you can use the MSAccess-runtime to show them. SQLCE is relative new, feels faster and more stable than MSAccess. It doesn't have embedded reports, and the drivers are probably not installed on the host-machine. I haven't used SQLite intensively, so I haven't formed an opinion on that one yet. Seems to be a viable alternative for SQLCE though. If you don't need an actual database, but still want to store "some" data, look at XML and LINQ-to-XML. Hope this helps :)
I are troll :)
I may be wrong, but I think that LINQ-to-XML only works with .NET 3.5. Not many home users will have that installed yet. It requires a 250Mb download just to install the .NET 3.5 framework, which might be a problem for some people especially since this is just a small home-user app. ("Our new application is just 100K, which you can download and install in seconds... after you spend an hour and a half trying to download and install all this other garbage that you don't really want.") SQLite is fast and has a very small memory footprint. That's its main advantage. SQLite datatypes are a bit weird because you don't tell it in advance what the datatype of a column will be. SQLite figures it out itself dynamically. This is mostly OK but every now and again it can surprise you (among other things, SQLite thinks it's OK to store string values in a column intended for integers without warning, it will happily convert from floating point numbers to integers according to its own internal logic, and so on). Also, there is no support for date/time values. If you want to store these, you have to figure out your own solution. The biggest potential problem is that it is a single user database. Every time you update something, it locks the entire database (yes, the entire database not just the table being updated). May not be a problem for this particular application if it's a small home-user app but SQLite does not scale in terms of number of users. Personally, I don't like SQLite. It's popular with C and C++ people and some Pythonistas but I just don't see the point of using it when there are better lightweight databases available these days.
-
I may be wrong, but I think that LINQ-to-XML only works with .NET 3.5. Not many home users will have that installed yet. It requires a 250Mb download just to install the .NET 3.5 framework, which might be a problem for some people especially since this is just a small home-user app. ("Our new application is just 100K, which you can download and install in seconds... after you spend an hour and a half trying to download and install all this other garbage that you don't really want.") SQLite is fast and has a very small memory footprint. That's its main advantage. SQLite datatypes are a bit weird because you don't tell it in advance what the datatype of a column will be. SQLite figures it out itself dynamically. This is mostly OK but every now and again it can surprise you (among other things, SQLite thinks it's OK to store string values in a column intended for integers without warning, it will happily convert from floating point numbers to integers according to its own internal logic, and so on). Also, there is no support for date/time values. If you want to store these, you have to figure out your own solution. The biggest potential problem is that it is a single user database. Every time you update something, it locks the entire database (yes, the entire database not just the table being updated). May not be a problem for this particular application if it's a small home-user app but SQLite does not scale in terms of number of users. Personally, I don't like SQLite. It's popular with C and C++ people and some Pythonistas but I just don't see the point of using it when there are better lightweight databases available these days.
You're right, that's a large download if you just want to save some application-data.
David Skelly wrote:
SQLite datatypes are a bit weird because you don't tell it in advance what the datatype of a column will be.
Like I said, I haven't used it much just noticed that it converts all
datetime
values tostring
.David Skelly wrote:
The biggest potential problem is that it is a single user database.
That's also true for SQLCE. MSAccess has some more options, but isn't intended for this scenario either. They can however, be used as readonly-datastores by multiple users.
David Skelly wrote:
Personally, I don't like SQLite
Me neither, but it is still an option that may be considered. I'd be using SQL Server Express :)
I are troll :)
-
Hi all, I never really played with small applications.Now I want to write an application, really small.Its only going to be used by a homeuser. Therefore its not really going to be that smart using SQL server. But I need some suggestions.What will be the best technology? I thought of XML, but Im not that clued up with it and it gives me the idea it will get tricky with big functionality.And then theres MS Access, but on the net it looks like its not really being used as much anymore.What will be the practical thing to use? Thank you
You could alsways try www.sqlite.org[^]
I don't speak Idiot - please talk slowly and clearly I don't know what all the fuss is about with America getting it's first black president. Zimbabwe's had one for years and he's sh*t. - Percy Drake , Shrewsbury Driven to the arms of Heineken by the wife