Require some opinions, new to database

bopo

Member
Joined
Dec 10, 2006
Messages
13
Programming Experience
Beginner
Hi people

Basically I have designed an application, this application has 2 purposes

  • Allow users (around 50) to submit problems, which are then stored in a database
  • Show administrators (me) the data which has been inputted, and to allow data (rows) to be deleted and manipulated via a form (Screen Print Below)
1.jpg


I am a total noob when it comes to database, I have never, ever used one before, as mentioned above, I would like the program to save, delete and allow me to manipulate data via combo boxes (see screen print)

Please could anyone reccommend the best method of implementing this (MS Acess, SQL etc) and any Internet based or paper based resources which would help a noob like me :eek: .

Input appriciated :)
 
As you are new to databases, you need to make sure you get your underlying data structure to a good level before even thinking about the front end.

I'd suggest you try and search the net for "Relational Access databases". I'm thinking that SQL Server is far too advanced for what you want to do, and it's a lot more complicated and expensive than MS Access.
I've not used a VB front end on an access database yet, I was lucky enough that one of our servers was running SQL for a business system and I just piggybacked onto that.

As a "noob" to databases :) you need to make sure you understand all the terms of databases - especially relational and normalisation.

Normalisation is where you would write down all the data you need to store, and then try to remove all duplicate fields, and creating a seperate table with this data, and using a relation to link them.
A good example of this could be;

A sales shop wants to store all sales and customers that made a purchase.

Instead of the table looking like this;

ProductType | ProductName | PricePaid |CustomerName |Address

Game --------- Halo 2------- £24.99----- Luke----------- UK
Game ---------Doom 3 --------£9.99 -----Luke ------------UK


You can see from the above that every row in the main table requires you to fill in all the data.
By normalising this and using relations you could then use the following tables;

CustomerID | CustomerName | Address

1 ---------------Luke----------- UK
2 ---------------Bill------------- Somewhere
3 ---------------Ben------------- Flower Pot

Product ID | ProductTypeID | ProductName | ProductPrice

1 ----------------1 --------------Halo 2 -------£24.99
2 ----------------1 -------------Doom 3 -------£9.99

ProductTypeID | ProductType

1---------------- Game
2---------------- Hardware
3---------------- Operating System


So then your main sales table would look like;

ProductID | CustomerID

1 ---------------1
2 ---------------1

^^ This table is exactly the same as the first one I listed, CustomerID 1 (Luke) Purchased ProductID 1 (Halo 2) of ProductTypeID 1 (Game) and ProductID 2 (Doom 3) of ProductTypeID 1 (Game)

Normalisation also helps you maintain data, and make sure that no redundant data lingers.

For instance, if you use 1 table to record EVERYTHING, and you then need to change a customer address, well you need to search every record in the database that matches that customer and change the address.
By using relational data, you only need to change the address in the customer table, because the sales table only records the customerID, and this pulls from the customer table - so any changes made to the customer table will be shown immediately on your front end.

I've probably thrown a few spanners in the works or maybe confused you.
Look for books like "SAMS teach yourself" - they are actually pretty quite good at explaining the basics as such. I'm sure there is one for relational databases which explains what I've said above in much better and understandable detail :)

I'll hope I've managed to help you a little bit at least....

Regards,
Luke
 
For a great set of articles on database usage in the latest version of .net - see the DW2 link in my signature
 
Back
Top