Solved

School timetabler and room booking database design

Posted on 2010-11-18
5
981 Views
Last Modified: 2013-11-05
Hi,

I am currently having a major issue with a project im working on. I need to devlop a school timetable and room booking application with quite simple functionality e.g. being able to generate a students timetable i am currently relaly struggling with how i can create the database to store all of the information.

I am really struggling to come up with a suitable database design that will hold all of the students information all of the lecturer's information. The module information to its pertaining course, the lecturer that looks after the module how long the lecture is e.g. 1 or 2 hours long lastly generating all of that information into a timetable for a specific course showing you the day of the week it is on and the time it is on.

Any help in the design and normalisation of the required tables would be of a great help, i really am at a loss.

Apologies if this isnt clear, i will try and explain / answer any queries as quickly as possible
0
Comment
Question by:Nick1988
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
5 Comments
 
LVL 43

Expert Comment

by:Eugene Z
ID: 34162992
check as example:
hotel rooms reservation project - the same idea
http://www.sourcecodester.com/visual-basic-net/hotel-reservation-system-vbnet.html
0
 
LVL 2

Expert Comment

by:aheddell
ID: 34162996
With respect, aren't you re-inventing the wheel here?  There are dozens of applications out there that do this kind of thing and quite a few open source.

Does the school run Outlook and Exchange?  I would have thought an Outlook form would be a very effective way forward.  I certainly have implemented room booking that way in the past

Sorry to not really answer your question - there's nowhere near enough detail here but I would have thought there are better ways forward.

Hope you don't take this the wrong way...!?!?

Alex Heddell
0
 
LVL 16

Expert Comment

by:EvilPostIt
ID: 34163008
Just at first glance i would split this into 4 sections for though.

Lecturers
Students
Courses
Allocation Time Slots

With regards to the Allocation Time Slots i would assume (obviously i could be way off) that there are specific blocks of time (almost like periods) throughout the day. You could create all of the allocatable periods within a week in a table along these lines.

The courses table would have a list and description of all courses and maybe some other tables linking off from it with larger information. Critically you should have an linking table sitting between the courses table and the allocation time slots table (Maybe CourseTimeTable. Then simply you would confirgure a course and allocation what times it took place on any given week.

The lecturer table would be referenced from the course table thus making only 1 lecturer assignable on any 1 course.

For the Student table i would have an Enrollment table so that each student could be enrolled to more than 1 course and each course can have more that 1 student.

Obviously this is just my initial thoughts on how i would design it and there will be hundreds out there. So hope this helps and good luck.

Or on the other hand use outlook ;-)
0
 
LVL 10

Accepted Solution

by:
Humpdy earned 500 total points
ID: 34163021
depending on complex you need to get ..
break it down into blocks of what data you need to store.

firstly, you need to store info about the student.
so you would have a students table, containing something like studentID, first_name, last_name, date_of_birth.
You may also need info about the lecturer
Lecturers table, containing LecturersID, first_name, last_name, email_address, phone

secondly, you need information about the courses.
so you would have a courses table, containing something like CourseID, course_description

thirdly, you may have modules under these courses
so you have would have a CourseModule table, containing CourseModuleID, CourseID, Module_name, Lecturer_ID

thirdly, you need to know what students are taking what module, which can then refer to what course it is with the above table.
so you would have a StudentsCourseModule table, containing something like StudentsCourseModuleID, StudentID, ModuleID


this getting you in the right direction ?



0
 

Author Closing Comment

by:Nick1988
ID: 34535525
thanks and sorry for taking so long to get back to the question!
0

Featured Post

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When it comes to protecting Oracle Database servers and systems, there are a ton of myths out there. Here are the most common.
Recently we ran in to an issue while running some SQL jobs where we were trying to process the cubes.  We got an error saying failure stating 'NT SERVICE\SQLSERVERAGENT does not have access to Analysis Services. So this is a way to automate that wit…
Via a live example, show how to extract information from SQL Server on Database, Connection and Server properties
This is a high-level webinar that covers the history of enterprise open source database use. It addresses both the advantages companies see in using open source database technologies, as well as the fears and reservations they might have. In this…

617 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question