Student - Information - Database - Management - System - Documentation by Group DelaTiongCisco

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

Student Information Database Management System (SIDMS) for Richwell

Colleges Incorporated

Group Members

dela Cruz, Nathaniel L. Jr

Francisco, Dan Rhei

Tiongco, Charles

Will be submitted to:

Ian Africa

Information Management Instructor


Student Information Database Management System (SIDMS) for Richwell
Colleges Incorporated

Introduction
As Richwell Colleges Incorporated (RCI) continues to grow and expand its
educational offerings, the need for an efficient and comprehensive Student Information
Database Management System (SIDMS) has become increasingly evident. This system is
crucial for managing the vast amounts of student data generated each academic year,
including enrollment records, academic performance, personal information, and
administrative details.

Project Summary
RCI is creating a sophisticated SIDMS to handle student data efficiently and
accurately. The system aims to streamline data management, enhance data accuracy,
improve accessibility, support decision-making, and enhance the student experience. The
SIDMS will include modules for admissions, registrations, grades, attendance, and more.

Key Objectives
1. Streamlining Data Management: Automating student data processes to reduce errors and
administrative workload.

2. Enhancing Data Accuracy: Ensuring student records are accurate and up-to-date.

3. Improving Accessibility: Providing easy access to student information for faculty, staff,
and authorized personnel.

4. Supporting Decision-Making: Offering insights through data analytics for informed


decisions.

5. Enhancing Student Experience: Facilitating better communication and service delivery to


students.

Project Requirements
1. Table Normalization: Ensuring the database tables are normalized.

2. Overall ERD (Entity-Relationship Diagram): Providing a comprehensive ERD for the


entire database.

3. ERD of Each Table: Creating ERDs for each table and their relationships.

4. Key Components for Each Table: Identifying different key components for each table.

5. Details of Each Table: Providing detailed information about each table.


6. Queries: Creating and taking screenshots of queries that the database should perform,
such as:

a. Student information details

b. Subjects students are enrolled in

c. Students' year level

d. Summary of students' grades

e. Teacher schedules

7. PowerPoint Presentation and Demonstration: Preparing a presentation and


demonstrating the database.

8. Reports (Optional): Generating reports using Crystal Reports, SAP, or other MySQL report
generation tools (limited to 2 groups per section).

Notes
Deadline and Presentation: Scheduled for August, with exact dates to be updated.

Group Composition: Each group should have a maximum of 3 members.

Submission: No extensions for the submission of the soft copy and presentation, even if
rescheduling is requested.

Table Normalization
Database and Table Creation
The following SQL code creates the necessary tables for the SIDMS:

Create the database


CREATE DATABASE IF NOT EXISTS RCI_SIDMS;
USE RCI_SIDMS;

Create the Students table


CREATE TABLE Students (
student_id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
birthdate DATE,
email VARCHAR(100),
phone VARCHAR(15),
address TEXT
);

Create the Courses table


CREATE TABLE Courses (
course_id INT AUTO_INCREMENT PRIMARY KEY,
course_name VARCHAR(100) NOT NULL,
course_description TEXT
);

Create the Enrollments table


CREATE TABLE Enrollments (
enrollment_id INT AUTO_INCREMENT PRIMARY KEY,
student_id INT,
course_id INT,
enrollment_date DATE,
year_level INT,
FOREIGN KEY (student_id) REFERENCES Students(student_id),
FOREIGN KEY (course_id) REFERENCES Courses(course_id)
);

Create the Grades table


CREATE TABLE Grades (
grade_id INT AUTO_INCREMENT PRIMARY KEY,
enrollment_id INT,
grade DECIMAL(3,2),
FOREIGN KEY (enrollment_id) REFERENCES Enrollments(enrollment_id)
);
Create the Teachers table
CREATE TABLE Teachers (
teacher_id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100),
phone VARCHAR(15)
);

Create the TeacherSchedules table


CREATE TABLE TeacherSchedules (
schedule_id INT AUTO_INCREMENT PRIMARY KEY,
teacher_id INT,
course_id INT,
schedule_time VARCHAR(50),
FOREIGN KEY (teacher_id) REFERENCES Teachers(teacher_id),
FOREIGN KEY (course_id) REFERENCES Courses(course_id)
);

Queries
a. Student Information Details

SELECT * FROM Students WHERE student_id = 1;

b. Students Subject Enrolled

SELECT s.student_id, s.first_name, s.last_name, c.course_name


FROM Students s
JOIN Enrollments e ON s.student_id = e.student_id
JOIN Courses c ON e.course_id = c.course_id
WHERE s.student_id = 1;

OR

SELECT s.student_id, s.first_name, s.last_name, c.course_id


FROM Students s
JOIN Enrollments e ON s.student_id = e.student_id
JOIN Courses c ON e.course_id = c.course_id
WHERE c.course_id = 1;
c. Students Year Level

SELECT DISTINCT s.student_id, s.first_name, s.last_name, e.year_level

FROM Students s

JOIN Enrollments e ON s.student_id = e.student_id

WHERE e.year_level = 2;

OR

SELECT DISTINCT s.student_id, s.first_name, s.last_name, e.year_level

FROM Students s

JOIN Enrollments e ON s.student_id = e.student_id

WHERE s.student_id = 1;

d. Students Summary of Grades

SELECT s.student_id, s.first_name, s.last_name, c.course_name, g.grade


FROM Students s
JOIN Enrollments e ON s.student_id = e.student_id
JOIN Grades g ON e.enrollment_id = g.enrollment_id
JOIN Courses c ON e.course_id = c.course_id
WHERE s.student_id = 1;

e. Teacher Schedules

SELECT t.teacher_id, t.first_name, t.last_name, c.course_name, ts.schedule_time


FROM Teachers t
JOIN TeacherSchedules ts ON t.teacher_id = ts.teacher_id
JOIN Courses c ON ts.course_id = c.course_id
WHERE t.teacher_id = 1;
Examples of Inserts

Students table
INSERT INTO Students (first_name, last_name, birthdate, email, phone, address)

VALUES

('John', 'Doe', '2000-01-01', '[email protected]', '1234567890', '123 Main St, Anytown,


USA'),

('Jane', 'Smith', '1999-05-15', '[email protected]', '0987654321', '456 Elm St,


Anytown, USA');

Enrollments table
INSERT INTO Enrollments (student_id, course_id, enrollment_date, year_level)

VALUES

(1, 1, '2023-08-01', 1),

(2, 2, '2023-08-01', 2);

Courses table
INSERT INTO Courses (course_name, course_description)

VALUES

('Introduction to Computer Science', 'Basic concepts in computer science and


programming.'),

('Data Structures', 'Advanced topics in data organization and manipulation.');

Grades table
INSERT INTO Grades (enrollment_id, grade)

VALUES

(1, 3.5),

(2, 3.8);

Teachers table
INSERT INTO Teachers (first_name, last_name, email, phone)

VALUES

('Alice', 'Johnson', '[email protected]', '1112223333'),

('Bob', 'Brown', '[email protected]', '4445556666');


TeacherSchedules table

INSERT INTO TeacherSchedules (teacher_id, course_id, schedule_time)

VALUES

(1, 1, 'MWF 10:00-11:00'),

(2, 2, 'TTh 14:00-15:30');

You might also like