Please guide me with first database

Posted 23 November 2013 - 05:03 PM

Hi all,

I am a semi-beginner programmer that understands most of the basics of programming and can write basic applications in Java.

A friend of mine has asked me if I'd help the charity she works for to build implement a database on their website, and I thought this would be a good opportunity to put it on my CV as I'm about to start my second year of a software development BSc (I'm yet to do anything with databases - though I did a bit of study on the theory of relational databases).

I've been given a list of requirements and basically they have a website from which the database will need to be accessed, with various user privileges (I'll need to setup four tiers of user with different privileges). The data I have at moment is in the form of three spreadsheets with various fields (i.e members which has fields surname, first name, email, contact number, address) , and another spreadsheet which holds various data relating to schools (name, contact number, location and so on). They want to be able to search, find and filter various information on the database once it is finished.

My basic questions are:

How difficult for will it be to self teach this for someone that is quite highly computer literate and has a fairly good understand of basic programming.

How long do you think this sort of project will take for a beginner?

What software will I need for this? Will I need to learn a new programming language (I don't know any SQL, nor anything about it yet) or can it be done via a UI? Is Microsoft Access the way to do it?

Apologies for the long and quite general question, but if you could please point me in the right direction I'd be very grateful.

Re: Please guide me with first database

How long will it take for a beginner? Anywhere from a few weeks to a few months or longer.

Languages will depend on their server. Windows based means probably somewhat out of date PHP,or a .net language with ASP, or possibly node.js . Linux opens you up to about everything but .net.

What database will you use? MySQL and MS SQL are the usual. Access is a no if for many reasons unless you just want to try to do it. It doesn't scale well, lacks multiuser support.

At least basic understanding of SQL is a must especially if you are dealing with multiple table queries.

I would start with what language you will write it in and look in the tutorial section. One word of warning, understand normalizing databases. If you start with a bad design it will crumble and be that much more difficult to fix later.

Re: Please guide me with first database

Don't read too much into this single chart, but PHP is certainly the most popular server-side language. I am not trying to sway your decision, just to indicate that it shouldn't be dismissed as 'out of date'.

Re: Please guide me with first database

Posted 24 November 2013 - 07:32 AM

andrewsw, on 24 November 2013 - 05:46 AM, said:

I wouldn't call PHP 'out of date'.

My intention was not to call PHP old or out of date. What I meant to say was on a Linux server you are more likely to be running a higher version, 5.4 or higher. Where as Windows Servers I have run across are only using version 5.2 and surprisingly lower in some cases.

Personally I love writing PHP. I am still trying to figure out how to use Smarty Templates right now.

This post has been edited by astonecipher: 24 November 2013 - 07:32 AM