0% found this document useful (0 votes)
4 views15 pages

DBMS Lab Presentation (1) (1)

Uploaded by

Jhanzab Khalid
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views15 pages

DBMS Lab Presentation (1) (1)

Uploaded by

Jhanzab Khalid
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 15

University

Database
System
Ubaid Bin Waris 2212416

Mushaid Hussain 2212408

Muhammad Salman 2212400

Jehanzeb Khalid 2212391


Table of contents

01 Introduction 04 Data Manipulating

02 Database Schema 05 ER Diagram

Connectivity to
03 Frontend 06 Conclusion
Introduction
Key Features
Purpose

1. Data Management:
● A web-based platform designed to enhance university
○ Handle student records, course details, faculty assignments,
administration by automating tasks and improving efficiency.
and schedules.
○ Maintain examination timetables with accurate data
Technologies Used
integration.
2. CRUD Operations:
● Backend: A robust relational database ensures secure and
○ Supports adding, updating, and deleting records for students,
efficient data storage.
courses, and faculty.
● Frontend: Built with Next.js for an interactive and responsive user
○ Simplifies administrative processes with real-time data
interface.
updates.
● Automation: Reduces manual tasks, saving time and effort for
3. Reporting:
university staff.
○ Generate real-time reports for academic performance,
attendance, and schedules.
○ Provides insights for decision-making at all levels of university
operations.

Benefits

● Data Integrity: Reliable backend ensures data accuracy and


consistency.
● Efficient Retrieval: Optimized database queries for fast and seamless
data access.
● User-Friendly Access: Students, faculty, and administrators can easily
interact with the system.
Database Schema
STUDENTS STUDENTS
Departments
Fields: Fields:
Fields: ● student_id (PK): Unique identifier for each
○ department_id (PK): Unique ● student_id (PK): Unique identifier for each
student. student.
identifier for each department. ● first_name, last_name: Student's personal
○ department_name: Name of the ● first_name, last_name: Student's personal
● details. ● details.
department. ● date_of_birth: Date of birth of the student.
○ head_faculty_id (FK): Links to ● date_of_birth: Date of birth of the student.
● enrollment_date: Date when the student ● enrollment_date: Date when the student
faculty_id in the Faculty table to enrolled.
indicate the department head. enrolled.
● department_id (FK): Links to the department ● department_id (FK): Links to the department
the student belongs to. the student belongs to.
Purpose:
○ Organizes academic departments and Purpose:
assigns faculty leadership. Purpose:
● Tracks student information and links them to ● Tracks student information and links them to
their respective departments. their respective departments.

Faculty Courses Enrollments

● Fields: ● Fields: ● Fields:


○ faculty_id (PK): Unique identifier for ○ course_id (PK): Unique identifier ○ enrollment_id (PK): Unique identifier
each faculty member. for each course. for each enrollment record.
○ first_name, last_name: Faculty ○ course_name: Name of the ○ student_id (FK): Links to the student
member's personal details. course. enrolled in the course.
○ hire_date: Date when the faculty ○ credits: Number of credits the ○ course_id (FK): Links to the course
member was hired. course carries. the student is enrolled in.
○ department_id (FK): Links the ○ department_id (FK): Links the ○ enrollment_date: Date of enrollment.
faculty to their assigned department. course to the department offering it. ○ grade: Grade received by the student
in the course.

● Purpose: ● Purpose: ● Purpose:


○ Stores and manages faculty details ○ Manages course details and links ○ Tracks which student is enrolled in
and department assignments. courses to respective departments. which course, including performance
details.
Database Schema
Schedules Fees
Classrooms ● Fields:
● Fields: ● Fields:
○ schedule_id (PK): Unique identifier ○ fee_id (PK): Unique identifier for
○ room_id (PK): Unique identifier for for each schedule.
each classroom. each fee record.
○ course_id (FK): Links to the course ○ student_id (FK): Links to the
○ room_number (Unique): Room being scheduled.
number within a building. student responsible for the fee.
○ room_id (FK): Links to the room ○ amount (DECIMAL): Fee amount
○ building: Name or identifier of the where the course will be held.
building where the classroom is to be paid.
○ Unique Constraint: course_id + ○ due_date: Payment deadline.
located. room_id + day + time_slot
○ capacity: Maximum number of ○ status (ENUM): Indicates payment
prevents schedule conflicts. status (Paid/Unpaid).
students the room can accommodate.
● Purpose: ● Purpose:
● Purpose: ○ Manages course schedules and
○ Manages classroom resources and ○ Tracks fee payments and statuses
ensures no conflicts in timing or for students.
schedules. resources.

Library
● Fields:
○ book_id (PK): Unique identifier for
each book.
○ title: Title of the book.
○ author: Author of the book.
○ isbn (Unique): Unique identifier for
the book.
○ status (ENUM): Indicates if the book
is Available or Loaned.
○ loaned_to_student_id (FK): Links to
the student who has borrowed the
book.

● Purpose:
○ Manages library books and loans
efficiently.
Database Connectivity with Frontend (Next.js)

1- Setting Up API Routes in Next.js


Create API routes in the pages/api directory to handle HTTP requests and interact with the database.

2- Database Connection
Use a connection utility to connect API routes to your database (SQL or NoSQL).

3- Fetching Data in Next.js Pages

● SSR (Server-Side Rendering): Use getServerSideProps to fetch data on the server for pre-rendered pages.
● CSR (Client-Side Rendering): Use useEffect and fetch to load data dynamically on the client.

4- Relational vs. NoSQL Database Integration

● Relational (SQL): Use libraries like Sequelize for MySQL or PostgreSQL.


● NoSQL (MongoDB): Use MongoDB’s native driver for connection and queries.

5- Data Flow and User Interaction


The front-end requests data from API routes, which query the database and return results for user interactions.
Data Manipulating
DashBoard
Student Record
Classroom Information
Library
About Us
Schema Relationships and Constraints
• Primary Keys Each table has a primary key
● One-to-Many Relationships: (department_id, student_id, faculty_id, course_id,
etc.) to uniquely identify records.
○ Departments ↔ Students,
Faculty, Courses. • Foreign Keys Foreign key constraints ensure that
relationships between tables (like department_id
○ Students ↔ Enrollments, Fees, in Faculty and Students) maintain data integrity.
Library.
• Unique Constraints Unique constraints, such as
○ Courses ↔ Enrollments,
Schedules. on email in Students and Faculty, ensure that
certain attributes remain distinct across records.
○ Faculty ↔ Schedules.
• Enumerated Data Types: For attributes with
○ Classrooms ↔ Schedules limited values (e.g., status in Library and Fees
. tables), ENUM data types improve data accuracy
and constraints.
ER DIAGRAM
ER Diagram
Conclusion
The University Management System combines a powerful database and a user-
friendly Next.js interface to simplify university operations. The database securely
stores and organizes information like departments, students, faculty, courses,
schedules, fees, and library records, ensuring accuracy and efficiency. The Next.js
front-end provides easy-to-use dashboards for students, faculty, and administrators,
working smoothly on all devices. Key features include course registration, timetable
management, fee tracking, and library management, with real-time updates to
support better decisions. This system saves time, reduces manual work, and can grow
to meet future needs, making it an all-in-one solution for university management.
Thanks!
Do you have any questions?

You might also like