Hi everyone, im working on my FYP and have decided on this project title but im finding it a bit difficult in developing the ERD for the system. i came up with these entities: students,staff,administrator and assessment and would want any form of advice or contribution as i think there can be more i can add to it and if possible any feature i can add to the system....as this is very urgent. Thanks

Recommended Answers

All 16 Replies

ERDs are always a tad difficult when you haven't done that many. I'd be glad to help but first could you please give more details on what a "Project Allocation System" is? What does the system do? Who uses it?

Well this System will be used by any Educational institution in managing and assigning projects to students. A project is awarded to a student by a professor. A professor is registered and given a username by the system's administrator and the admin also allows the student to create a username and password after registering their details such as semester,assessment,degree type and others. The professor will have access to all details of a student and their assessment too and can assign them a project based on their performance in their assessments.
The student after signing in can know their status i.e if assigned a project or not and can also change their username and passwords in the system. An automatic email is sent the student as soon as they are assigned projects. These are but a few of my system and some of the functionalities i want to incorporate in it... i just added another entity: student status to be able to show if student has been assigned a project or not.....

First of all, entities are supposed to be real-life objects or concepts. In my opinion, a student status cannot be considered an entity but rather an attribute of a student. In other words, a status alone cannot exist, it must belong to something like a student.

In your case the entities are the players and the objects they manipulate. Some (but not all) entities I see here:
- Professors
- Students
- Projects

These will all have attributes. For example, an attribute of a Project could be its title, date it's supposed to start and so on.

How about you draft a complete list of entities with their attributes, post it here and I'll help you get it straight. Once that's done, we'll work on relationships.

i came up with these entities and attributes:
Student:- stud_id[pk]
f_name
l_name
passport
d.o.b
gender
address
mobile_num
email
past-experience
nationality
country
deg_course_code
deg_level
academic_dept
deg_course_name
semester_id
sem_start_date
sem_end_date
sem_name
username

Staff:-staff-id [pk]
f-name
l_name
email
gender
mobile
nationality
job -title
dept
username
d.o.b

Assessment:-assess_id [pk]
date_begin
date_end
asses_summary
recommmendations
other_details
asses-status

Project:- proj-id[pk]
title
specifications
functional_components
duration
other_details

Administrator:-admin-id[pk]
f_name
l_name
d.o.b
email
passport

well these are all i got so you can help oit with more attributes or entities considering all the system should do. i really need to get something done pretty soon before the end of the week. i very much thank you and appreciate all your effort in trying to help me out.im really grateful for the help.

Ok, it's a good first draft. Few pointers:

- In an ERD, we usually don't bother with PKs and FKs, that's something that comes later in the data model diagram. ERDs only define entities and their attributes, and the relationships between them.
- Looking at the Student entity, a few things come to mind 1) a student could be doing a law degree or an engineering degree. A degree could be an entity with its own attributes. 2) Degrees are usually divided up in semesters. A Semester could also be an entity of its own, with its own attributes. 3) There is another entity in there, can you see it?

Let me see version 2 of your entities and attributes.

Also, I'd like you to start linking those entities together like this:

entity1 -> verb -> (0, 1 or many) entity2

For example:

Staff -> creates -> (many) Projects
Student -> is assigned -> (1) Project

...and so on. Put your list of relationships at the end of your list of entities/attributes.

well i initially had such entities but i put all of them into the student entity so id have just a few tables to deal with as i want a very simple databse structure to work with.So here s how the face two of it will look like:

Student:-stud-id,f_name,l_name,passport,d.o.b,gender,country,address,mobile_num,email,nationality,past_exp

Degree_courses:-deg_course_id,deg_level,academic_dept,deg_course_desc.

degree:-deg_id,deg_type,deg_name,others

semester:-semest_id,sem_satrt_date,sem_end_date,sem-name.

project:-proj_id,proj_title,proj_spec,functional_comp,dyration,others.

assessment:-assess_id,assess_start_date,assess-end_date,summary,recommendations,status,others.

staff:-staff_id,f_name,l_name,email,gender,nnumber,job_title,dept,username,d.o.b

administrator:-admin_id,f_name,L_name,d.o.b,email,passport,

relationships:

1 student->enrolls->many degree_courses
1 student->pursues->one degree
1 student->registers->one year i.e 3 semesters
1 student->assigned->one project
admin->registers->many students
admin->registers->many staff
a staff->assigns->many projects
a staff->assess-> many students

well i came up with these. hope u can add some more suggestions or entities eventhough i want to end up with a very simple basic structure.

well if i get this one right , id want you to also help me figure out some extra functionalities that i can add to the system and if possible incorporate them into the databse if necessary

One thing I learned about databases is that you should never spare the number of tables. Fewer tables might appear less complex but often don't represent reality as it is.

Overall, it's looking better and better. I noticed that you have no relationships to the assessment entity. Who do they belong to? Who creates them? etc. I would think that's important. I also noticed that you want to have a username and a password assigned to students, staff and administrator, but that you don't always include those attributes for the entities.

The next step would be for you to figure out how to perform certain tasks (those tasks will become the functionality of your database app). For example, write the SQL statements to:
- Add a student
- View a student's assessments
- Assign a project
- etc.

Here's for example how you could add a student:

INSERT INTO students (f_name, l_name, passport, d.o.b, gender, country, address, mobile_num, email, nationality) VALUES ('joe', 'shmo', 'BA99999', '1987-12-27', 'M', 'Canada', '123 Bloggings street', '418-555-1010', 'joe.shmo@gmil.com', 'Irish');

Where do the values come from? You will need to design a user interface and get that information from the user somehow.

See if you can figure out how to write SQL statements for every task in your DB app.

Generally speaking, writing the SQL statements will often outline problems in you database design. If that's the case, go back to your entities, attributes and relationships and see if you can make modifications.

thanks a lot for all the help this far. i will definitely link the assessment entity to one of the entities and notify you and also include the username and password attributes for the staff and student entities.

My main point of concern now is the functionality of the system based on the tasks that the system sets out to achieve. last year i created a helpdesk with sql server 2000, dreamweaver,asp 3.0 and it was ok with little functionalities. the problem here is that i linked up the database to the user interface thru dreamweaver and IIS and most of the asp scripts were generated my dreamweaver so i never really did that much of the asp coding myself and even with the sql statements i got quite a lot of help from dreamweaver and its self generating scripts but i dont think it'll be a gud idea to do that for a final year project as i have to do the scripting myself.

Now id start off by getting familiar with the sql statements for adding values to the various functions i outline which will also be the system functionalities.Another problem is this, since id be using dreamweaver in creating the GUI, well im wondering where id write those statements....Id need some little help on how to view a students assessment and also assign them one.....

thanks a lot for all so far...

I suggest you start a new thread for that since I never used either Dreamweaver, IIS or ASP. I'm of the AMP (Apache, MySQL, PHP) school of thought and do all the scripting myself in a programming environment called Eclipse PDT.

As for your functionality question, I'm not sure if you mean needing ideas for application functionality (e.g. add a student, change a password, take an assessment, etc.) or needing ideas on how to script your application manually into ASP over IIS through Dreamweaver.

I can certainly help you with the former but not likely with the latter.

Hi there, i would definitely need ideas for the application functionality since MySql plays a very major role in that aspect. I'll manage with the ASP, Dreamweaver and IIS.

I showed my progress to my supervisor today and he was very much impressed with all i have done so far.Thanks for all the help.

I will keep you informed as i move along.....hope to hear from soon...

Hi there, i would definitely need ideas for the application functionality since MySql plays a very major role in that aspect. I'll manage with the ASP, Dreamweaver and IIS.

I showed my progress to my supervisor today and he was very much impressed with all i have done so far.Thanks for all the help.

I will keep you informed as i move along.....hope to hear from soon...

cONGRATS. kEEP IT UP.

Moxdillin, I disagree that mySQL plays a major role in application functionality. Here's my philosophy on the subject.

As the application designer, you have to decide first what your application must be able to do. You can make a long list of what functionality is possible, such as:
- Add a student
- Delete a Student
- Modify a Student password
- Enter an Assignment result
- Assign a Project
- etc.

Make this list as complete as you can without any thought to mysql. Once that is done, you'll have to figure out how. That's when mysql comes into play as most cases will require that you craft an SQL statement to implement your functionality.

Do this once, and then do it again. You'll find that ideas come to you as the application develops. For example, you might only think later that this functionality would be nice:
- Change Student address
- Change Project Staff person
- etc.

pls i need a guide, my time for the project is near and i have not done anyting pls help me.

Help me please i want, "student project allocation system",as discussed moxdillin please any body can give me?

commented: hopeless homework kiddo -3

Do you really think it's useful to tag your "gif mi zuh koduz" request to the end of a thread that's been dead for 7 years, rather than doing your own homework?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.