Intro. to Database Management Systems.

MSSQL

Friday, December 1, 2023

For the CSE:581 Intro to Database Management Systems course, this project involved designing a comprehensive database for an institute's student management system using Microsoft SQL Server. The goal was to manage various aspects of student information efficiently while employing advanced SQL concepts to ensure robust functionality and data integrity.

Key Features and Components:

  1. Database Design:
  2. Entity-Relationship (ER) Diagram: Created a detailed ER diagram to model the relationships between different entities such as Students, Courses, Instructors, Departments, and Enrollments.
  3. Normalization: Ensured that the database schema was normalized to at least the third normal form (3NF) to eliminate data redundancy and ensure data integrity.
  4. Advanced SQL Concepts:
  5. Triggers: Implemented triggers to automatically enforce business rules and maintain data integrity. For example, a trigger to update student enrollment counts when a student registers or drops a course.
  6. Stored Procedures: Developed stored procedures to handle complex business logic and database operations such as enrolling a student in a course, generating grade reports, and updating student information.
  7. Functions: Created user-defined functions for reusable computations and data transformations. For instance, a function to calculate the GPA of a student.
  8. Cursors: Utilized cursors to process query results row by row when set-based operations were insufficient.
  9. Views: Designed views to simplify data access and provide a level of abstraction over the underlying tables. Views for student profiles, course offerings, and departmental summaries were created.
  10. Key Database Operations:
  11. Student Management: CRUD operations for managing student records, including personal details, contact information, and academic history.
  12. Course Management: Operations to add, update, and delete course offerings, including course prerequisites and scheduling.
  13. Enrollment Management: Handling student enrollments in courses, including checking prerequisites and managing waitlists.
  14. Instructor Management: Managing instructor information and their association with departments and courses.
  15. Reporting: Generating various reports such as student transcripts, course enrollments, and departmental performance.

Technologies Used:

  • Microsoft SQL Server: The primary database management system used for implementing the project.
  • SQL: For writing queries, stored procedures, functions, triggers, and views.
  • SQL Server Management Studio (SSMS): For database design, development, and administration.

Conclusion: This project demonstrated the application of advanced SQL concepts to design and implement a robust student management system for an educational institute. By leveraging features like triggers, stored procedures, functions, cursors, and views, the database was made efficient, scalable, and maintainable, ensuring data integrity and ease of access for various stakeholders.

Image