This is first time I am desgning DB. I am not a BD guy, rather a pure Java guy. The project I am involved is not so big, it is simply a Student Registration System. It consists of couple of forms [made in JSP] which takes Father, Mother and Student information. I have already developed a prototype [front-end, in JSP] so that I know all the fields involved. Now this is time to start designing and defining tables in Oracle 9i so that the information I have captured using forms atleast save in DB. Then extracting information [I hope] will not be big deal, just a writing effecient queries.
Kindly tell me how I start designing tables? Is there any DB design tool? Is it good to use it? What about normalization?
I belive if I get some initial help by DB experts, I can drive further own my-self.
Normalisation is about ensuring that data is not repeated on the database, which is achieved by breaking down data & grouping it within relevant tables. For large databases you'll be better off using specific design tools (like "Designer"), but for small databases you can do it by hand & by applying common sense.
Write down all the fields that you are using for each form into separate groups (i.e. each form will have its own group), then for each group decide if there is any data that will always be repeated (e.g. are some of the fields header info that will always be the same regardless of whose record you're inputting - e.g. name of the organisation). You should be aiming for one group for each distinct set of data. Each group will become a table, & should be capable of being uniquely identified (the identifying field will be the primary key) - the fields will become columns within the table.
There are numerous articles on the internet about how to perform normalisation - try this one, which gives an example of what to do:
Ignore all the stuff at the start about SQL, & start at "What is Normalisation?" Also, you only need to worry about going as far as 3rd Normal Form - anything further is not needed for what you (& most people) want to do.
Hope this helps!
90% of users' problems can be resolved by punching them - the other 10% by switching off their PCs.