Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Online Course Registration System

Georgia State University is planning to implement a better version of GoSOLAR. The CIO of GSU wants to
build a robust web based system for online course registration. He has requested your team to design a
schema which can accommodate all the requirements detailed below. He did some research and
created a requirements specification for the web‐based system. Please read the following specification
and create a database schema and script for MS SQL Server 2005.

(Please note that most requirements were gathered from the application perspective and the database
designers are expected to understand the application and design the schema for the application)

Requirements Specification

Course Management
Courses form the basis of an online course registration system. Every course should have a course title,
course text books, and reference books. Every course can have multiple sections offered in different
semesters (fall, summer and spring) in any particular year. A course may belong to a single department
or multiple departments. Only students who belong to those departments can register for a section of
the course. A course can also have other courses as pre‐requisites. A student cannot register for a
course if he/she does not meet the pre‐requisites.

Section Management
Every section belongs to a specific course in a specific semester of a specific year. Every section should
have a maximum number of slots for the students to register. Any section can be taught by a single
professor. Every section should have a class room and time span assigned for it. A section can be taught
either on Mondays, Wednesdays, and Fridays OR on Tuesdays and Thursdays.

Student Management
Every student can belong to single/multiple departments. The following information should be captured
for any student:

1. First Name
2. Last Name
3. Panther ID
4. Gender
5. Address
6. Department
7. Phone number
8. Email
Faculty Management
Any faculty can belong to single/multiple departments. The following information should be captured
for any faculty:

1. First Name
2. Last Name
3. Panther ID
4. Gender
5. Address
6. Department
7. Phone number
8. Email
9. Research Interests
10. Degrees obtained and the corresponding University details

Online course registration System


The following details should be verified by the online course registration system (Certain checks can be
made at the web application end. Try to enforce as many security features as possible):

1. A student cannot register for two courses which occur at the same time
2. A student can only register for courses which are offered in the specific semester he/she tries to
register
3. A section should be deactivated at the end of any semester (to prevent the students from
registering)
4. A student cannot register for 2 sections which belong to the same course
5. A student should be awarded a grade at the end of every semester for all the sections he/she
has registered
6. A student can write a review about the section he/she has attended and can rate the section in
the scale of 1 to 5 (5 being the best)

Application Level Requirements


The web application developers are not really database specialists and they would like the database
designers to provide them the required queries. Please provide them the following queries:

1. Write a query to display the schedule for any student (provided the semester details)
2. Write a query to display all the details for a section (Professor Name, Course Title, Suggested
text‐books, reference text‐books, Room Number, Class schedule etc)
3. Write a query to display the courses handled by a professor in any specific semester
4. Write a query to display the average rating for any section
5. Write a query to display the average grade for any section (A=4, B=3, C=2)
6. Write a query to verify if any particular sections schedule clashes with the remaining sections
7. Write a query to retrieve the GPA of any particular student
8. A query to identify the number of students in each department
9. A query to identify the number of faculty members in each department
10. Write a query to list the sections that has been filled completely along with the course details
11. Write a query to display top 3 least filled sections
12. Write a query to display the schedule of a professor
13. Write a query to verify if a professor has a clashing schedule

Please see the “Class Project Guidelines” document for other general
requirements for the project.

You might also like