Hi guys, First off I really dislike coming to forums for help as it makes me feel incapable of learning and I really hate that lol but at the moment I have no choice.
I am learning database in college and the teacher has gone over and over and over normalisation with us and creating ERD's and I just cant get my head around.
Basically this is all the information I have and the first thing I need to do is a flat file, also known as normalisation?
Here is my brief.
[FONT="]A consulting company wants to develop a database system to computerise its operations management. Systems analysts have gathered the requirements for the database, and have noted the following business rules:[/FONT]
[FONT="]The company has many clients.[/FONT]
[FONT="]The company employs many consultants, and assigns them to projects at clients’ sites.[/FONT]
[FONT="]A client assigns consultants to one or several projects in this client company.[/FONT]
[FONT="]The consultants in the company are assigned work on projects at clients’ that may be with several clients concurrently. Each assignment is characterised by an assignment start date, a number of hours to work, and an hourly rate.[/FONT]
[FONT="]Each project, at each client company may require the service of several consultants.[/FONT]
[FONT="]Some consultants are not assigned to any projects, because for instance they receive training or take charge of administrative duties[/FONT]
[FONT="]Each consultant has a (single) primary job classification. This job classification determines the hourly billing rate[/FONT]
[FONT="]Several consultants may have the same job classification. For instance, the company employs Database designers, and Project Managers.[/FONT]
[FONT="]In addition, systems analysts have decided to represent the data with following attributes:[/FONT]
[FONT="]Each job classification is coded by a unique job code, and a description[/FONT]
[FONT="]Each consultant has a first name, a last name, a middle name, a hire date, a date of birth, and a unique identification number[/FONT]
[FONT="]Each client has a company name, and a unique client identification number[/FONT]
[FONT="]Each project has a company name, and a project code that is unique at the client’s company (but it may not be unique for the consultants’ company, since client companies choose their project codes independently from one another)
Now to show you im not here purely for you guys to give me the answer I would just like you guys to help me through and see if i going on theright track.
My NF0 consists of the following.
Client ID (PK)
Client Address 1
Client Address 2
Client First Name
Client Second Name
Client DOB
Client Contact Number
Consultant ID (PK)
Consultant First Name
Consultant Second Name
Consultant DOB
Consultant Hire Date
Consultant Job Description
Consultant ROP
Project ID (PK)
Assignment ID (PK)
Start Date
End Date
Number of Hours Worked
Now this is where I get stuck, I need to break these down into NF1 and NF2 but I dont know what would go into these tables and why..... Please if anyone can help me I would be so greatful this assignment is due in soon and im really starting to panic.
Also I understand primary keys but just not foreign keys.....
[/FONT]
I am learning database in college and the teacher has gone over and over and over normalisation with us and creating ERD's and I just cant get my head around.
Basically this is all the information I have and the first thing I need to do is a flat file, also known as normalisation?
Here is my brief.
[FONT="]A consulting company wants to develop a database system to computerise its operations management. Systems analysts have gathered the requirements for the database, and have noted the following business rules:[/FONT]
[FONT="]The company has many clients.[/FONT]
[FONT="]The company employs many consultants, and assigns them to projects at clients’ sites.[/FONT]
[FONT="]A client assigns consultants to one or several projects in this client company.[/FONT]
[FONT="]The consultants in the company are assigned work on projects at clients’ that may be with several clients concurrently. Each assignment is characterised by an assignment start date, a number of hours to work, and an hourly rate.[/FONT]
[FONT="]Each project, at each client company may require the service of several consultants.[/FONT]
[FONT="]Some consultants are not assigned to any projects, because for instance they receive training or take charge of administrative duties[/FONT]
[FONT="]Each consultant has a (single) primary job classification. This job classification determines the hourly billing rate[/FONT]
[FONT="]Several consultants may have the same job classification. For instance, the company employs Database designers, and Project Managers.[/FONT]
[FONT="]In addition, systems analysts have decided to represent the data with following attributes:[/FONT]
[FONT="]Each job classification is coded by a unique job code, and a description[/FONT]
[FONT="]Each consultant has a first name, a last name, a middle name, a hire date, a date of birth, and a unique identification number[/FONT]
[FONT="]Each client has a company name, and a unique client identification number[/FONT]
[FONT="]Each project has a company name, and a project code that is unique at the client’s company (but it may not be unique for the consultants’ company, since client companies choose their project codes independently from one another)
Now to show you im not here purely for you guys to give me the answer I would just like you guys to help me through and see if i going on theright track.
My NF0 consists of the following.
Client ID (PK)
Client Address 1
Client Address 2
Client First Name
Client Second Name
Client DOB
Client Contact Number
Consultant ID (PK)
Consultant First Name
Consultant Second Name
Consultant DOB
Consultant Hire Date
Consultant Job Description
Consultant ROP
Project ID (PK)
Assignment ID (PK)
Start Date
End Date
Number of Hours Worked
Now this is where I get stuck, I need to break these down into NF1 and NF2 but I dont know what would go into these tables and why..... Please if anyone can help me I would be so greatful this assignment is due in soon and im really starting to panic.
Also I understand primary keys but just not foreign keys.....
[/FONT]