Professional Documents
Culture Documents
1 Ass - 1 - Project - CASE - SCENARIO
1 Ass - 1 - Project - CASE - SCENARIO
There is a scenario given to you for the Group Project assessment. Students must follow the group as assigned by
the lecturer. The guidelines and rules are as follows.
1. All the students in a group must actively take part in preparing and submitting the project.
2. All students must have their own contribution for the project and that should be recorded as the part of your
project document.
3. All students of a single group may not be guaranteed to get equal marks should there be a demonstration of
poor contribution and poor communication skills reflected from the report and presentation.
4. Copying (Full/Part) from any other source or outsourcing this project is strictly prohibited and any such
act shall result in award of 0 (zero) marks for the project.
CASE SCENARIO
College OF COMPUTING is one of the large colleges of the Makerere University, which depends on a large
number of people for its continued success.
There are different kinds of roles played by different individuals in this faculty including the: staff, assistants,
faculties and students. Some common attributes are shared by these people: Name, Address, Birth_Date, and Phone.
Address is a composite attribute, which is composed of Street Number, Apart Number, City, Street, and Zip Code
etc. Each of the four groups has at least one unique attribute of its own.
From lecturers to students, the unique identifiers are fac_ID, staff_ID, assist_ID, and std_ID accordingly.
There is no additional person in the faculty who does not belong to one of these four groups. However, a particular
person may belong to two (or more) of these groups at any given time (for example, Assistant and Student).
There are two kinds of faculties: professors and Lecturers. Professors have ranks: Full, Associate, or Assistant.
Lecturers also have ranks: Junior, or Senior.
Each role belongs to one (and only one) department. For example, if person is both assistant and student, he could be
an assistant of Computer Science (CS) Department and a student of IT Department. A department should have at
least fifteen faculties, and there should be at least 5 professors. In each department, one of the full professors is
assigned as the deputy-dean, and one of the professors is assigned as chair. A department has department name (as
identifier) and number of courses offered, number of students.
Staff has two kinds of job: Secretarial and IT-Support. IT-Support has a Technical- license (the license number is
smaller than 9550). Each staff could have only one kind of job. A department can’t have more than 5 IT-Supports.
There are two kinds of assistant, teaching assistant and research assistant. Teaching assistant should have at least one
soft-skill and he/she must be at least undergraduate degree holder.
Each department should have at least 20 courses. Each course has assigned to one faculty, one or two TAs. Each
TA must be assigned to some courses and not more than three courses to each TA. The faculty should be a
professor, lecturer, or teaching assistant, but he/she doesn’t need to come from the same department. A student could
register any course, no matter which department he belongs to. Course has three attributions: Course_code
1
(Course_code is between ‘101’ and ‘705), course name, and credit hour. The Course in different department could
have same Course_code, but the Course_code is distinct in same department.
GROUP TASKS:
4. List the functional dependencies in your model. State the normal forms of your relations.
5. Implementation of your database using SQL statements in OracleXE environment.
6. Implement the queries and show the return result-sets.
7. Report writing (documentation of your group work and project).
DELIVERABLES:
Note: The evaluation criteria for this project would be announced later.
STEPS TO FOLLOW
1. Could you think of 5 more rules (other than the one explicitly described above) that are likely to be used in
a faculty environment? Add your rules to the above requirement to be implemented. First one is done for
you:
b.
2. Draw an EER to accurately represent this set of requirements. This will be your Conceptual Design.
Clearly specify any assumptions that you are making. You can use any tools (software) to draw the EER.
You don't need describe the value constraints of the attributions in the EER diagram.
3. In EER, show the M-N relationships
5. Now, you are ready for implementation. Use appropriate naming conventions for all of your tables and
attributes.
a. Normalize all of your tables to third normal form. Make any necessary changes to the EER.
Explain why these changes needed to be made.
2
b. Draw a dependency diagram for each table.
6. Write SQL statements to create database, tables and all other structures.
b. Find the assis_ID and Names of all Assistants who do not have any skills.
c. List the std_ID, Names, and Phone of all Students who are also Assistants at the department.
d. Find the std_ID and Address of each student who has registered exactly 10 courses.
e. Find the Department Names and Course Names of all courses which are taught by Assistant
professors.
f. List the Names of full Professors who are chairs of the departments.
g. List the Number of Skills and the assis_ID of the teaching assistants who have been assigned as
TA in exactly 2 courses.
h. List the assis_ID and the number of Courses of the Instructors who are teaching assistants.
i. If a course has at least one registered student whose phone number begins with 019, list the
student Name, phone number and course name.
j. Find the faculties’ names and phone number who are teaching at least two course.