Database Project
Database Project
BY ORACLE DATABASE
Introduction
This report outlines the design, implementation, and analysis of a University Course Management
System database using Oracle Database. The system is designed to manage students, professors, courses,
and enrollments within a university. The database supports various analytical queries to derive insights
into student academic performance, departmental efficiency, and course management.
The project is divided into several parts, including database schema creation, data population, relational
algebra, SQL queries, and an entity-relationship (ER) model. The final deliverables include SQL scripts,
relational algebra expressions, query results, an ER diagram, and a project report.
Database Design
2.1 Relational Model
The relational model consists of six tables:
1. STUDENTS
o STUDENT_ID (Primary Key)
o NAME
o EMAIL
o PHONE
o DATE_OF_BIRTH
2. PROFESSORS
o PROFESSOR_ID (Primary Key)
o NAME
o EMAIL
o PHONE
o HIRE_DATE
3. DEPARTMENTS
o DEPARTMENT_ID (Primary Key)
o NAME
o BUILDING
4. COURSES
o COURSE_ID (Primary Key)
o NAME
o CREDITS
5. COURSE_ASSIGNMENTS
o COURSE_ID (Foreign Key referencing COURSES)
6. ENROLLMENTS
o ENROLLMENT_ID (Primary Key)
o SEMESTER
o GRADE
Data:
Data:
At least 3 departments.
DDL Code:
Data:
Data:
Enrollment records that include grades for students across different courses.
DDL Code:
Data:
Part
2:
Relational Algebra
Write relational algebra expressions for 5 queries from Part 3.
1. List all students and their departments.
Relational Algebra:
(COURSE_ASSIGNMENTS)) ⨝ PROFESSORS
σ COUNT(COURSE_ID) > 3 (γ PROFESSOR_ID, COUNT(COURSE_ID)
3. Find the average grade of students enrolled in a specific course (e.g., "Database").
Relational Algebra:
Queries (SQL-DML)
name.
6. Retrieve the courses taught by professors who were hired after 2020.
7. List all students who have never taken a course taught by a specific professor (e.g.,
"Dr.Adullah").
10. List all professors who have taught courses where the average grade is below
2.5.
11. Find the department with the highest average student GPA.
Project Overview:
Database Design
1. Students: Captures details about students, including their personal information and departmental
affiliation.
2. Professors: Stores information on faculty members and their respective departments.
3. Departments: Represents various academic departments within the university.
4. Courses: Contains data about courses offered, including credits and department associations.
5. Course Assignments: Links courses to the professors who teach them.
6. Enrollments: Records student enrollments in courses along with their grades.
Relational Model:
The relational model was developed to define relationships among these entities. Foreign keys were established
to maintain referential integrity and ensure that the database accurately reflects real-world associations.
The database schema was created using SQL Data Definition Language (DDL) commands to define tables and
their relationships. The tables were structured to allow for efficient data storage and retrieval.
Data Population:
Sample data was inserted into the tables to facilitate testing and demonstrate functionality. This included:
Relational algebra expressions were crafted for five key queries to demonstrate the database's analytical
capabilities. These expressions serve as a foundation for SQL queries and help in understanding the underlying
data relationships.
SQL Queries:
A set of SQL Data Manipulation Language (DML) queries was developed to retrieve specific information from
the database. These queries address various academic needs, such as:
Challenges Encountered:
Designing the relational model required careful consideration of entity relationships to avoid
redundancy.
Ensuring data integrity through correct use of foreign keys was crucial for maintaining accurate
associations.
Crafting SQL queries to meet specific requirements necessitated a deep understanding of SQL syntax
and database operations.
Conclusion:
The University Course Management System project successfully establishes a robust database framework that
efficiently manages academic data. The system is designed to support both administrative functions and
analytical inquiries, ultimately enhancing the university's ability to track and improve student performance and
departmental effectiveness.
This report summarizes the design and implementation process, providing insight into the project's objectives
and outcomes. Future steps may include expanding the system to accommodate additional features and
functionalities based on user feedback and evolving academic needs.