Designing the database schema , Database Management System

Assignment Help:
The domain that you will model in this assignment is that of courses and students at a university. So as not to make the task too large and unspecified, you will here get a description of the domain that restricts the problem somewhat. Note that the described domain is not identical to Chalmers or GU.

The university for which you are building this system is organized into departments for employees, such as the Dept. of Computing Science (CS), and study programmes for students, such as the Computer Science and Engineering programme (CSEP). Programmes are hosted by departments, but several departments may collaborate on a programme, which is the case with CSEP that is co-hosted by the CS department and the Department of Computer Engineering (CE). Department names and programme names are unique.

Each study programme is further divided into branches, for example CSEP has branches Computer Languages, Algorithms, Software Engineering etc. Note that branch names are unique within a given programme, but not necessarily across several programmes. For instance, both CSEP and a programme in Automation Technology could have a branch called Interaction Design. For each study programme, there are mandatory courses. For each branch, there are additional mandatory courses that the students taking that branch must read. Branches also name a set of recommended courses from which all students taking that branch must read a certain amount to fulfill the requirements of graduation, see below.

A student always belongs to a programme. Students must pick a single branch within that programme, and fulfill its graduation requirements, in order to graduate. Typically students choose which branch to take in their fourth year, which means that students who are in the early parts of their studies typically do not yet belong to any branch.

Courses are given by a department (e.g. CS gives the Databases course), and may be read by students reading any study programme. Some courses may be mandatory for certain programmes, but not so for others. Some, but not all, courses have a restriction on the number of students that may take the course at the same time. Each course gives a certain number of credits. For simplicity we assume all students get the same amount of credits for a given course, regardless of which study programme or branch they belong to. Courses can be classified as being mathematical courses, research courses or seminar courses. Not all courses need to be classified, and some courses may have more than one classification. Some courses have prerequisites, i.e. other courses that must be read before a student is allowed to register for the course at hand.

Students need to register for courses in order to read them. To be allowed to register, the student must first fulfill all prerequisites for the course. It should not be possible for a student to register to a course unless the prerequisite courses are already passed. It should not be possible for a student to register for a course which they have already passed.

If a course becomes full, subsequent registering students are put on a waiting list. If one of the previously registered students decides to drop out, such that there is an open slot on the course, that slot is given to the student who has waited the longest. When the course is finished, all students are graded on a scale of ''U'', ''3'', ''4'', ''5''. Getting a ''U'' means the student has not passed the course, while the other grades denote various degrees of success.

A student administrator can override both course prerequisite requirements and size restrictions and add a student directly as registered to a course. (Note: you will not implement any front end application for student administrators, only for students. The database must still be able to handle this situation.)

For a student to graduate there are a number of requirements she must first fulfill. She must have passed (have at least grade 3) in all mandatory courses of the study programme she belongs to, as well as the mandatory courses of the particular branch that she must have chosen. Also she must have passed at least 10 credits worth of courses among the recommended courses for the branch. Furthermore she needs to have read and passed (at least) 20 credits worth of courses classified as mathematical courses, 10 credits worth of courses classified as research courses, and one seminar course. Mandatory and recommended courses that are also classified in some way are counted just like any other course. As an example, if one of the mandatory courses of a programme is also a seminar course, students of that programme will not be required to read any more seminar courses.

Related Discussions:- Designing the database schema

Can a filed occur in several field groups, Can a filed occur in several fie...

Can a filed occur in several field groups. Yes.  But it leads to redundant data redundancy.

What is relational model feature, What is relational model feature? A r...

What is relational model feature? A relational model feature is much more data independence than some other database models.

What is called a query evaluation plan, What is called a query evaluation p...

What is called a query evaluation plan? A sequence of primitive operations that can be used to assess a query is a query evaluation plan or a query implementation plan.

What are the two main goals of parallelism, What are the two main goals of ...

What are the two main goals of parallelism? Load -balance multiple small accesses, so that the  throughput of such accesses enhances. Parallelize large accesses so that the res

What is the use of sub queries, What is the use of sub queries? A sub q...

What is the use of sub queries? A sub query is a select-from-where expression that is nested with in another query. A common use of sub queries is to do tests for set membershi

When are two schedules said to be view equivalent, When are two schedules s...

When are two schedules said to be view equivalent?     Ans: Two schedules that is denoted as S and S' are said to be view equivalent if the subsequent three conditions are met

Difference between sql and sql*plus, Difference between SQL and SQL*Plus ...

Difference between SQL and SQL*Plus SQL SQL*Plus SQL is a language SQL *Plus is an environment It   is   bas

Explain i command in qbe, Explain I command in QBE ? I : It is the co...

Explain I command in QBE ? I : It is the command in QBE that is used to insert tuple (s) into the database

Managing database, 10A.53 Code an Oracle Database trigger to enforce the ...

10A.53 Code an Oracle Database trigger to enforce the constraint that an employee can never change his or her department. 10A.54 Code an Oracle Database trigger to allow the

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd