0% found this document useful (0 votes)
1 views13 pages

DBMS PROJECT (AutoRecovered)_removed

The document outlines the development of a Student Record Management System (SRMS) aimed at automating the management of student and fee information in educational institutions. It addresses issues related to manual data handling, such as errors and inefficiencies, by providing a user-friendly desktop application built with Python and SQLite. The system includes functionalities for managing student records, fee payments, and data validation, while ensuring performance, reliability, and security.

Uploaded by

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

DBMS PROJECT (AutoRecovered)_removed

The document outlines the development of a Student Record Management System (SRMS) aimed at automating the management of student and fee information in educational institutions. It addresses issues related to manual data handling, such as errors and inefficiencies, by providing a user-friendly desktop application built with Python and SQLite. The system includes functionalities for managing student records, fee payments, and data validation, while ensuring performance, reliability, and security.

Uploaded by

russiankhat
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

1.

Introduction
Educational institutions handle a large volume of student-related data
daily. These details include personal information, academic records,
contact information, department details, and fee records. Traditionally,
these operations are performed using manual registers, physical files, or
spreadsheets. Although commonly used, these methods suffer from
several drawbacks such as data redundancy, loss of data, difficulty in
searching specific information, and increased possibilities of human
errors.

To address these issues, computerized management systems have become


essential in educational environments. A Student Record Management
System (SRMS) serves as a digital platform that facilitates smooth data
entry, retrieval, modification, and deletion. Such a system not only
improves efficiency but also ensures accuracy, reduces time consumption,
and enhances data security.

1.1 Problem Statement


The lack of centralized and structured data handling creates
administrative delays and errors. Without automation:
 Searching for student records becomes time-consuming
 Fee tracking becomes inconsistent
 Manual data entry leads to high chances of errors
 Maintaining historical data becomes difficult
These issues highlight the need for a computerized system that minimizes
manual workload and supports fast, error-free operations.

1.2 Purpose of the Project


The purpose of this project is to design and implement a user-friendly
desktop application that allows easy management of student and fee
information. It focuses on:
 Eliminating manual data errors
 Ensuring structured data storage
 Providing quick access to student information
 Maintaining fee records properly
1.3 Scope of the Project
The project enables:
 Adding, viewing, updating, and deleting student details
 Maintaining department-wise records
 Handling fee payment details, balances, and payment dates
 Providing clear and interactive graphical user interface
 Supporting accurate database operations
The system is built for administrators and academic staff who manage
student databases.

2. Requirements Specification

2.1 Functional Requirements


The system must perform the following operations:

2.1.1 Student Management


 Add new student record
 View all students
 Search specific students
 Delete existing records
 Reset fields for new entries

2.1.2 Fee Management


 Add fee payment details
 Calculate remaining balance
 View all payments made by students
 Display payment history in a table view

2.1.3 Data Validation


 Mandatory fields must be filled correctly
 Contact number must contain digits only
 Date format must be valid
 Prevent duplicate entry
2.1.4 UI Functional Requirements
 GUI must show all records in a TreeView
 Dropdown selection for names in fee window
 Confirmation and error messages must appear as pop-ups

2.2 Non-Functional Requirements

2.2.1 Performance
 Data retrieval must be fast (within milliseconds)
 System must run smoothly even with large data

2.2.2 Reliability
 Database should not crash
 No data loss should occur after saving

2.2.3 Usability
 Interface should be easy for non-technical staff
 Clear buttons and layout

2.2.4 Security
 Only admin users can access the system
 Data stored in SQLite must not be editable manually

2.2.5 Portability
 Application should run on any PC with Python installed
3. System Design

3.1 System Architecture Diagram

3.2 UML Diagrams


3.2.1 Use Case Diagram
Actor: Admin
Use Cases:
 Add Student
 Delete Student
 View Records
 Update Fees
 Calculate Balance
 Reset Form
3.2.2 Class Diagram:-
4. Implementation
4.1 Technology Stack
 Frontend: Tkinter
 Backend: SQLite3
 Programming Language: Python
 IDE Used: PyCharm
 OS: Windows 10

4.2 Database Structure

4.2.1 MANAGEMENT Table

Field Name Type Description


STUDENT_ID Integer Primary key
NAME Text Student name
PHONE_NO Text Contact number
GENDER Text Male/Female
DOB Text Date of birth
DEPARTMENT Text Course/Department
TOTALFEES Text Total fee amount

4.2.2 FEES Table

Field Name Type Description


BILL_NO Integer Primary key
STUDENT_ID Integer Linked to MANAGEMENT table
BILL_DATE Text Payment date
AMOUNT Text Fee paid
4.3 Key Interface Screens (Descriptions)
Student Window
 Input boxes for name, phone, gender, DOB, department, fees
 Buttons: Add, Delete, View, Reset, Fee Details
 TreeView displaying all student records
Fee Window
 Dropdown for student names
 Shows department, total fees, balance
 Inputs for amount and date
 Buttons for add/delete/view/reset
 Fee history displayed in TreeView

4.4 Major Code Highlights

1. Database Table Creation


This code ensures the required tables (MANAGEMENT and FEES)
are created automatically if they do not exist.

connector.execute("""
CREATE TABLE IF NOT EXISTS MANAGEMENT (
STUDENT_ID INTEGER PRIMARY KEY
AUTOINCREMENT,
NAME TEXT,
PHONE_NO TEXT,
GENDER TEXT,
DOB TEXT,
DEPARTMENT TEXT,
TOTALFEES TEXT
)
""")
connector.execute("""
CREATE TABLE IF NOT EXISTS FEES (
BILL_NO INTEGER PRIMARY KEY AUTOINCREMENT,
STUDENT_ID INTEGER,
BILL_DATE TEXT,
AMOUNT TEXT
)
""")
2. Adding a New Student Record
This function validates input fields and inserts a new record into the
database.

def add_record():
name = name_strvar.get()
contact = contact_strvar.get()
gender = gender_strvar.get()
dobv = dob.get_date()
department = department_strvar.get()
totalfees = total.get()

if not name or not contact or not gender or not department:


mb.showerror("Error", "All fields must be filled!")
return

connector.execute("""
INSERT INTO MANAGEMENT (NAME, PHONE_NO,
GENDER, DOB, DEPARTMENT, TOTALFEES)
VALUES (?, ?, ?, ?, ?, ?)
""", (name, contact, gender, dobv, department, totalfees))

connector.commit()
mb.showinfo("Success", f"Record of {name} added
successfully!")
display_records()

3. Deleting a Student Record


This function deletes the selected student using their unique

STUDENT_ID.
def remove_record():
selected_item = tree.focus()
values = tree.item(selected_item)["values"]

if not values:
mb.showerror("Error", "Please select a record to delete!")
return
connector.execute("DELETE FROM MANAGEMENT WHERE
STUDENT_ID = ?", (values[0],))
connector.commit()

mb.showinfo("Deleted", "Record deleted successfully.")


display_records()

4. Adding a Fee Payment


This function inserts a fee payment for the selected student and
updates the fee list.

def add_fee_record():
student_id = rows[namebox.current()][0]
pay_date = db.get_date()
amt = amount.get()

connector.execute("""
INSERT INTO FEES (STUDENT_ID, BILL_DATE,
AMOUNT)
VALUES (?, ?, ?)
""", (student_id, pay_date, amt))

connector.commit()
mb.showinfo("Success", "Fee payment added successfully!")
display_fee_records()

5. Calculating Remaining Balance


The system calculates the outstanding balance for each student by
summing all payments.

curr = connector.execute("""
SELECT SUM(amount) FROM FEES
WHERE student_id = ?
""", (row[0],))
paid_amount = curr.fetchone()[0]
balance = int(row[6]) - (paid_amount if paid_amount else 0)
balance_strvar.set(balance)

6. Displaying Records in the TreeView


The following code loads all student records from the database into
a graphical table.

def display_records():
tree.delete(*tree.get_children())
data = connector.execute("SELECT * FROM
MANAGEMENT").fetchall()

for record in data:


tree.insert("", "end", values=record)

The implementation of the Student Record Management System consists


of several important code components that handle the core functionality
of the application. Some of the major code highlights are:

1. Database Table Creation


The system automatically creates the required SQLite tables
(MANAGEMENT and FEES) if they do not already exist. This ensures
the database is always ready before performing operations.

2. Add Student Record Function


This function collects all student details from the GUI, validates the
inputs, and inserts a new record into the MANAGEMENT table. It also
displays a confirmation message and refreshes the data table.

3. Delete Student Record Function


The delete function removes the selected record from the database using
the student’s unique ID. After deletion, the GUI is updated to reflect the
change.
4. Load Student List for Fee Module
A function retrieves all student names from the database and populates
the dropdown list in the fee payment section. This supports quick
selection and reduces errors.

5. Add Fee Payment Function


This function inserts fee payment data into the FEES table. It also
recalculates the student's balance by summing all payments made so far.

6. View Record Functionality


Clicking a record in the table loads all its details back into the input
fields. This helps users review or verify information easily.

7. Input Validation
The system uses conditions to ensure required data is entered correctly
(e.g., phone number must be digits, no field left blank). Error messages
guide users when incorrect inputs are detected.

5. Testing
5.1 Testing Types
 Black Box Testing: Focus on input and output
 White Box Testing: Function-level testing
5.2 Sample Test Cases Table
TC Test Scenario Input Expected Actual Status
No Output Result
1 Add student All valid Success Success Pass
fields message
2 Add student Blank phone Error popup Error Pass
missing phone shown
3 Delete student Select record Record Deleted Pass
deleted
4 Fee payment Valid amount Payment Success Pass
added
5 Balance check After multiple Correct Accurate Pass
payments balance
5.3 Bug Fixes
 Resolved issue of incorrect balance calculation
 Fixed dropdown not loading new students
 Updated TreeView auto-refresh

6. Conclusion and Future Work


Conclusion

The Student Record Management System effectively automates academic


administrative activities by simplifying student and fee record handling. It
replaces manual registers with a structured, accurate, and efficient
system. Easy-to-use interfaces reduce the workload of staff and minimize
human errors.

Future Enhancements

 Add login authentication system


 Export data to PDF or Excel
 Add attendance tracking
 Introduce face recognition module
 Convert into a web-based system (Flask/Django)
 Add SMS/Email notifications

7.References
 Python in a Nutshell
 The Python Language Reference Manual. Python Software
Foundation.
 SQLite Consortium. https://sqlite.org/docs.html
 TkDocs. https://tkdocs.com
8. ACKNOWLEDGMENT

I would like to express my sincere gratitude to my project guide and the


faculty for their support, guidance, and encouragement throughout the
completion of this mini-project. I am also thankful to my college for
providing the necessary resources and a motivating environment to carry
out this work successfully.

You might also like