1,105,578 Community Members

Choosing a "Good, Better, Best" database to store data

Member Avatar
doncwilson_1
Junior Poster
188 posts since Feb 2013
Reputation Points: 14 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 2 [?]
 
0
 

Hello Group!

I am writing my first complex VB2010 program that is a order entry and inventory management program. I know there are lots of these out there. However I'm attempting to write this for a specific type of business which creates its own set of challenges. However my question has only to do with storage and retrieval of all of this data that will be created. I am trying to accomplish a several things. So I would like your input on what products to use to store the data.

I do want

1) a product that will allow easy changes to some of these database fields using EXCEL (this product is easy to use and the masses seem to understand it)
2) I need to ensure that the individual "columns" of data can be made to accept changes made manually, whereas others need to be "locked" such that they can only be altered as a result of program (as an example, I want to allow manual changes to the description of a part number. However how many that are sold during a given month should only be altered by the program that controls order invoicing).

To get a better grasp of what I'm doing, please don't hesitate to ask questions. Ultimately I want to make this program simple to use by the end user.

In advance, thanks for your input.

Don

Member Avatar
AleMonteiro
Master Poster
758 posts since Aug 2010
Reputation Points: 115 [?]
Q&As Helped to Solve: 143 [?]
Skill Endorsements: 29 [?]
 
3
 

In my opnion, you can't let the end user change the database, NEVER EVER. Any and every change in the database should be done by the software, or only, in very specific cases, by the database administrator.

In your example, you want to let the user change the description in directly in the database. But what it the user add a description contaning &"'^~><-+{]\|%$#@!*&¨?°¬¢£³²¹, would the software accept it?
What it the user remove the description field?

There's many ways that the user can mess up a software by editing the database himself, in my opnion this should never happen.

About the database itself, if every copy of your software will have an exclusive database, I can't suggest anything... lol... I never made an client application with a exclusive database. But I'd guess MSAccess, MySQL or FireBird.
I would never make an application based on a excel database.

However, if your software will connect to a central database, I recommend SQL Server or Oracle. Both have very easy .NET interfaces and are great handling large number of records, large number of connections, and have a lot of nice features that help development and maintanace.

Member Avatar
doncwilson_1
Junior Poster
188 posts since Feb 2013
Reputation Points: 14 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 2 [?]
 
0
 

AleMonteiro,

Regarding changing databases, for the most part I completely agree. The last company I worked for did have the ability to change things like descriptions, etc. via a flat file. I did find that the individual doing it needed to have good knowledge on how to do thing correctly. Therefore database management was given to only myself and one other. But it did allow us to manipulate large amounts of data easily using a EXCEL spreadsheet. We'd then convert it to an CSV file and then use some propriatery software to actually update the database. I do want to be able to replicate that.

I'm sorry to say I don't know the term "exclusive database". Thinking how this program will be used, the database will be stored on a central server and the users will connect via a VPN. So I take it that the SQL Server or Oracle may be the way to go. Ease of interface will be extremly important as will the ability to handle and store a large number of records and connections.

I'll need to do some research on SQL Servers and Oracle to understand these better. As I stated, I'm new to programming and I'm doing so much of this learning on my own (although I've taken a basic and intermediate VB programming course at my local college).

Again, thanks for your input. I greatly appreciate this.

Don

Member Avatar
Lethugs
Junior Poster
131 posts since Nov 2012
Reputation Points: 8 [?]
Q&As Helped to Solve: 7 [?]
Skill Endorsements: 0 [?]
 
1
 

Why not try to create a program you will use to manipulate the data using programming languages such as dotnet? Maybe, (depends on your case) can make your work easier. Then you can export it to excel for mabe reporting purposes

Member Avatar
doncwilson_1
Junior Poster
188 posts since Feb 2013
Reputation Points: 14 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 2 [?]
 
0
 

Lethugs,

You present a good idea. I'll definitely do this.

Don

Member Avatar
AleMonteiro
Master Poster
758 posts since Aug 2010
Reputation Points: 115 [?]
Q&As Helped to Solve: 143 [?]
Skill Endorsements: 29 [?]
 
2
 

Don,

I used the term "exclusive database" to say an database per client. I mean, each PC that'll run the software will have it's own local database.

Good luck with your project.

Member Avatar
doncwilson_1
Junior Poster
188 posts since Feb 2013
Reputation Points: 14 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 2 [?]
 
0
 

AleMonteiro,

I absolutely don't want to do an "exclusive database". I'm working with SQL Server that came with Visual Studio 2010. I'm thinking that's going to work fine. When I'm done, I'll put that database on a central server. I'll have the each computer on the VPN point to that server to save and retrieve data.

Thanks again for the help!

Don

Question Answered as of 1 Year Ago by AleMonteiro and Lethugs
You
This question has already been solved: Start a new discussion instead
Post:
Start New Discussion
Tags Related to this Article