| |
|
If this is your first visit, be sure to check out the FAQ by clicking the link above.
You may have to register before you can post: click the register link above to proceed.
To start viewing messages, select the forum that you want to visit from the selection below.
|
 |

07-23-07, 21:13
|
|
Registered User
|
|
Join Date: Jul 2007
Posts: 4
|
|
|
Beginner asking what language to code in
|
|
I'm programming an application in C#. I'll need to create a database to use in the application for it to work well. An obstacle is that I have almost no experience with creating databases and using them for coding purposes.
I've come here to ask you knowledgeable guys for advice on what database system/language I should use for my purpose. I'll describe what I'm looking for and then I'll await your recommendation on what system/language I should use.
I'm looking for a database that:
-is easy to use with C# and
-is fast at answering queries
The types of queries I'll want to run are very simple. They will always search the database by row (I will only make searches based on one variable) and for that specific row (never several rows at once) I will be querying for the value of columns.
What language fits this description of a fast database that is easy to use with C# and doesn't need to be able to handle complex queries?
|
|

07-24-07, 05:46
|
|
SQL Consultant
|
|
Join Date: Apr 2002
Location: Toronto, Canada
Posts: 19,524
|
|
all commonly used databases fit those criteria, so just pick one
if you want a suggestion, pick mysql
|
|

07-24-07, 07:03
|
|
Registered User
|
|
Join Date: Jul 2007
Posts: 4
|
|
|
|
Quote:
|
Originally Posted by r937
all commonly used databases fit those criteria, so just pick one
if you want a suggestion, pick mysql
|
OK. Thanks! Would I lose out by just using a huge XML file for "database"?
|
|

07-24-07, 07:08
|
|
SQL Consultant
|
|
Join Date: Apr 2002
Location: Toronto, Canada
Posts: 19,524
|
|
that will work, provided the xml file isn't too big to be held in memory
disclaimer: i have not used xml for storage, my impression is that it works well as a data transport mechanism across computers
|
|

07-24-07, 08:13
|
|
King of Understatement
|
|
Join Date: Feb 2004
Location: One Flump in One Place
Posts: 14,905
|
|
Quote:
|
Originally Posted by r937
disclaimer: i have not used xml for storage, my impression is that it works well as a data transport mechanism across computers
|
My experience & impressions almost to the word (I would swap the last word with "applications" but there you go) 
__________________
Testimonial:
Quote:
pootle flump
ur codings are working excelent.
|
|
|

07-24-07, 10:35
|
|
Jaded Developer
|
|
Join Date: Nov 2004
Location: out on a limb
Posts: 9,246
|
|
Id agree virtually any database will do what you want.
however there are other criteria
..if you want to deploy the data on a web application then MySQL makes great sense
..if you think the application is going to be used in a multi user environment then a server product is almost certainly required (although Microsoft JET often wrongly called Access) may be appropriate
..if you are selling this as a commercial product then staying within the Microsoft stable (that means either SQL server or JET/Access) may make more sense... I suspect there are going to be far more C# applications using Microsoft db's than non microsoft Db's. But there is no reason why you couldn't have a choice of data backends if you so wished
..if its an exercise to tart up your CV.. then almost certainly stay within the Microsoft stable.
I don't think you will see any significant performance difference between each of the server products.. you will see a significant cost difference between the various offerings.If you anticipate very few concerrent users then I wouldn't rule out JET/Access.. although it runs out of grunt somewhere around 25 users, depending on how good or bad your development & design skills are.
so short of knowing what your applciation is its very difficult to say waht is appropriate.... its a bit like saying what car should I use to drive from A to B... virtually all vehicles will get you form A to B in abstract terms.. but if A or B is off road then you probably need an AWD vehicle, if you need to impress then a flashy car may be appropriate, if you need to keep the costs down then a second hand saloon may be appropriate... it depneds on what you want to achieve
__________________
I'd rather be riding my Versys or my Tiger 800 let alone the Norton
|
|

07-24-07, 12:40
|
|
Registered User
|
|
Join Date: Jul 2007
Posts: 4
|
|
Thanks to all of you for your helpful posts! To healdem: None of the points you bring up apply in my case. Thank you for going out of your way to give me all that advice though.
The only thing I need is what I wrote in my original post. Fast + easy with C#. It sounds like XML should work just as well as a database so I'll start with that and see how it works performance wise. If it turns out to be too slow I'll try PostgreSQL since it is free and I have at least some very limited experience with it. At least those are my conclutions for now.
|
|

07-25-07, 01:30
|
|
Super Moderator
|
|
Join Date: Jun 2004
Location: Arizona, USA
Posts: 1,797
|
|
If you're not updating the underlying data much, and there's not an issue with holding it all in RAM, then I would suggest just loading it into an ADO recordset, and index the fields you'll be using for searches. You'll get excellent sort/"query" performance with the rs.sort and rs.find methods.
__________________
Lou
使大吃一惊
"Lisa, in this house, we obey the laws of thermodynamics!" - Homer Simpson
"I have my standards. They may be low, but I have them!" - Bette Middler
"It's a book about a Spanish guy named Manual. You should read it." - Dilbert
|
|

07-25-07, 09:12
|
|
Registered User
|
|
Join Date: Jul 2007
Posts: 4
|
|
Quote:
|
Originally Posted by loquin
If you're not updating the underlying data much, and there's not an issue with holding it all in RAM, then I would suggest just loading it into an ADO recordset, and index the fields you'll be using for searches. You'll get excellent sort/"query" performance with the rs.sort and rs.find methods.
|
That sounds interesting. I'll look into it.
|
|

07-26-07, 08:22
|
|
Registered User
|
|
Join Date: Jul 2007
Posts: 4
|
|
Healdem, thank you very much for your suggestions...
But, I want to ask a question:
How about ORACLE? I think it is more appropriate to learn ORACLE if someone need to add the skill to his/her CV.
That is just what I think, and of course I can be wrong.
Regards
|
|

07-26-07, 23:01
|
|
Super Moderator
|
|
Join Date: Jun 2004
Location: Arizona, USA
Posts: 1,797
|
|
Quote:
|
Originally Posted by shadowdancer
Healdem, thank you very much for your suggestions...
But, I want to ask a question:
How about ORACLE? I think it is more appropriate to learn ORACLE if someone need to add the skill to his/her CV.
That is just what I think, and of course I can be wrong.
Regards
|
per the OP, they "have almost no experience creating databases ..."
I would think that Oracle would NOT be the database of choice for a database novice.
__________________
Lou
使大吃一惊
"Lisa, in this house, we obey the laws of thermodynamics!" - Homer Simpson
"I have my standards. They may be low, but I have them!" - Bette Middler
"It's a book about a Spanish guy named Manual. You should read it." - Dilbert
|
|

07-27-07, 03:01
|
|
Jaded Developer
|
|
Join Date: Nov 2004
Location: out on a limb
Posts: 9,246
|
|
from what little information in the original post persoanlly I'd go with MySQL.. its fast on queries, it scaleable, its cheap (well free), there are perfectly acceptable interfaces to .NET.. especailly if you use VS 2005.. they even come straight out of the box.
but thats because Ive used MySQL more frequently over the last couple of years, so my learning/relearning curve on getting the DB side working is that much lower. that doesn't rule out what I think would be the other server product SQL Server Express.. or whatever the cut down version is called these days. It all depends
But Id agree from waht I hear Oracle, DB2 and the other server products are inappropriate. Postgres could be a contender.
of the file based systems SQL Lite, Access & Filemaker could be contenders.. heck oven the open office db product could be a contender. if the application is going to have few concurrent users and complex queries are going to be kept to a minimum, the network is pretty clear, querioes are only going to be on indexed fields..... then a file based SQL may be appropriate.
__________________
I'd rather be riding my Versys or my Tiger 800 let alone the Norton
|
|
| Thread Tools |
Search this Thread |
|
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|