Ask DBMS Expert


Home >> DBMS

Problem Description

Preparing course timetables is an important and difficult task for academic institutions. Given (a) a list of courses offered that semester, (b) a list of faculty members, (c) a list of students registered for the courses, (d) a list of classrooms available, and (e) a list of periods in a week, the task is to prepare a timetable for the current semester. To make this task easier, the timetable from the previous year/semester will be taken as an input.

If there are no changes, the same timetable can be used. Possible changes should be identified and it should be ensured that they would not cause any conflicts.

For example, if the number of students taking a course changes, this may force a change in the classroom assigned due to room capacity; if the instructor of a course changes, this may also cause a conflict in that instructor's weekly schedule.

The courses are grouped by college and department, and within a department they are grouped into four different levels (i.e., courses offered to freshmen, ..., seniors). In a semester, a group of students follows a set of courses and hence these courses must be assigned to different time periods. The business rules to be followed in building a course timetable are identified as follows:

All courses must be assigned to the required number of periods.

An instructor cannot be assigned to more than one course in a period.

Courses belonging to the same group cannot be assigned to the same time period.

A course can only be assigned to an available room in a period if the number of students taking that course is at least 75% and at most 105% of room capacity.

The number of courses assigned in a particular period cannot be greater than the number of rooms available.

Database Design

The following are the main entity types of the academic institution database. For each entity type, we provide some of the corresponding attributes.

Use this information in order to: (a) Build an Enhanced E-R diagram; (b) Transform the Enhanced E-R diagram to a relational database.

Identify the primary key(s) and the foreign key(s) for each relation. Draw the relational integrality constraints; (c) For each of the relations created, indicate its normal form. If the relation is not in the 3NF, decompose it into 3NF relations.

Instructor: The main attributes are identification number, name, address, name of the department and college s/he is working for, area of specialty, etc.

Course: The main attributes are course number, name, prerequisites, number of credit hours, group of courses it belongs to, etc.

Student: The main attributes are identification number, name, address, birthday, gender, department and college s/he is in, etc.

Classroom: The main attributes are room number, name of the building, capacity, and description of any special feature (for example, media equipment, computers, video, etc.).

Period: The main attributes are period number, start time, and end time.

16

6. Assignment: This is an associative entity. Its attributes are number of students taking a particular course taught by a particular professor during a particular time period.

Note that the relation between students and courses is a many-to-many relationship. Students get a grade for each course they take.

Access Application Development

The following are some of the queries, forms, and reports that students can create in order to increase the functionality of the database:

Queries:

We already mentioned that the timetable from the previous year/semester is taken as an input in building the current semester's timetable. The schedule would change in the following cases: (a) A professor prefers to teach in a different classroom in a different time period; (b) A professor is offering a new class; (c) The number of students registered for the class is bigger than classroom capacity; etc. The following queries facilitate the process of updating the course timetable.

Professors are interested to know their weekly schedule. Create a query that prompts for the professors' name and returns their weekly schedule.

Create a query that prompts for students' identification numbers and returns their timetables for the current semester.

Create a query that prompts for the name of a course and returns its current schedule.

For each course offered in the current semester, present the total number of students registered, the classroom capacity, and the classroom description. This query will help to identify possible changes to the timetable due to the class capacity or equipment (computers, video, etc.) availability.

Every semester there are a number of new courses offered that have to be assigned to a period/room.

List all the courses offered for the first time.

List the eligible periods/classrooms for an unassigned course. This list should adhere to all the business rules given above.

For each time period, list the addresses of the classrooms that are available. This list will be given to the professors. In the case that professors do not like their current schedules, they can re-allocate the class in one of the available period/classroom combinations.

Create a query that prompts for the name of a department and course level (freshmen, ..., senior) and returns the timetable of the courses for this particular group. The results from this query are used to check whether the courses belonging to this particular group are assigned to the same class period.

Also add cardinalities to the er model.

DBMS, Programming

  • Category:- DBMS
  • Reference No.:- M93091490

Have any Question?


Related Questions in DBMS

Data mining assignment -in this assignment you are asked to

Data Mining Assignment - In this assignment you are asked to explore the use of neural networks for classification and numeric prediction. You are also asked to carry out a data mining investigation on a real-world data ...

Sql query assignment -for this assignment you are to write

SQL Query Assignment - For this assignment you are to write your answers in a word document. This assignment is in three parts: Part A (reporting queries), Part B (query performance), Part C (query design). For this assi ...

The groceries datasetimagine 10000 receipts sitting on your

The groceries Dataset Imagine 10000 receipts sitting on your table. Each receipt represents a transaction with items that were purchased. The receipt is a representation of stuff that went into a customer's basket. That ...

You are in a real estate business renting apartments to

You are in a real estate business renting apartments to customers. Your job is to define an appropriate schema using SQL DDL in MySQL. The relations are Property(Id, Address, NumberOfUnits), Unit(ApartmentNumber, Propert ...

Objectivethe objective of this lab is to be familiar with a

OBJECTIVE: The objective of this lab is to be familiar with a process in big data modeling. You're required to produce three big data models using the MS PowerPoint software. This tool is available on UMUC Virtual Deskto ...

The relation memberstudentid organizationid roleid stores

The relation Member(StudentId, OrganizationId, RoleId) stores the membership information of student joining organization. For example, ('S1', 'O2', 'R3') indicates that student with Id 'S1' joined the organization with i ...

Relational database exerciseyou have been assigned to a new

Relational Database Exercise: You have been assigned to a new development team. A client is requesting a relational database system to manage their present store with the anticipation of adding more stores in the future. ...

Relational database design a given the following business

Relational Database Design A) Given the following business rules, identify entity types, attributes (at least two attributes for each entity, including the primary key) and relationships, and then draw an Entity-Relation ...

We can represent a data set as a collection of object nodes

We can represent a data set as a collection of object nodes and a collection of attribute nodes, where there is a link between each object and each attribute, and where the weight of that link is the value of the object ...

Data model development and implementationpurpose of the

Data model development and implementation Purpose of the assessment (with ULO Mapping) The purpose of this assignment is to develop data models and map Database System into a standard development environment to gain unde ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As