Skip to content

Simple application that allows a user to Create, Read, Updated and Delete data on a relational database.

License

Notifications You must be signed in to change notification settings

DDuran19/CRUD_student_database

Repository files navigation

Student Database

Overview:

This project aims to create a relational database management system using SQLite3 and implement a user-friendly graphical user interface (GUI) using customtkinter. The application will consist of six distinct tables: users, advisers, courses, year, enrollment_status and organization. The use of a database will ensure efficient data storage and retrieval by avoiding repetition of strings.

Features:

Relational Database: The project utilizes SQLite3 to set up and manage the database. The tables include users, advisers, courses, year, enrollment_status and organization, ensuring efficient data organization and retrieval.

customtkinter: The graphical user interface is built using customtkinter, providing a user-friendly interface for manipulating the database. The GUI layout consists of a main table on the top section, an info section on the bottom left for data editing/modification, and a button section on the bottom right.

Edit/View Mode: The GUI includes a slider that allows users to switch between edit and view modes, enabling easy modification or viewing of the data.

Data Manipulation: The GUI provides three main buttons for adding, updating/saving, and deleting data. These buttons facilitate seamless data manipulation within the database.

Exit Functionality: An "exit" button is included to provide a convenient way for users to exit the application.

Usage:

  1. Launch the application by running the main.py file.

  2. The main table will be displayed on the top section of the GUI, showcasing the data from the users, advisers, courses, or year table.

  3. Use the slider to switch between edit and view modes. In edit mode, the info section on the bottom left becomes active, allowing users to modify or edit the selected data.

  4. Use the buttons in the button section on the bottom right to perform various operations:

    • Add: Add new data to the database.
    • Update/Save: Update or save the modified data.
    • Delete: Delete selected data from the database.
    • To exit the application, click the "exit" button.

Database Schema (sqlite3):

CREATE TABLE IF NOT EXISTS "students" (
    "id"	INTEGER NOT NULL UNIQUE,
    "Student_name"	CHAR(50),
    "Organization_id"	INTEGER,
    "Enrollment_status_id"	INTEGER,
    "Adviser_id"	INTEGER,
    "Course_id"	INTEGER,
    "Year_id"	INTEGER,
    PRIMARY KEY("id" AUTOINCREMENT)
);

CREATE TABLE IF NOT EXISTS advisers (
    "id" INTEGER NOT NULL UNIQUE,
    "adviser_name" CHAR(50),
    PRIMARY KEY("id" AUTOINCREMENT)
);

CREATE TABLE IF NOT EXISTS courses (
    "id" INTEGER NOT NULL UNIQUE,
    course_name CHAR(20),
    PRIMARY KEY("id" AUTOINCREMENT)
);

CREATE TABLE IF NOT EXISTS year (
    "id" INTEGER NOT NULL UNIQUE,
    year_level CHAR(9),
    PRIMARY KEY("id" AUTOINCREMENT)
);

CREATE TABLE IF NOT EXISTS enrollment_status(
    "id" INTEGER NOT NULL UNIQUE,
    "enrollment_status" CHAR(20),
    PRIMARY KEY("id" AUTOINCREMENT)
);

CREATE TABLE IF NOT EXISTS organization(
    "id" INTEGER NOT NULL UNIQUE,
    "organization" CHAR(20),
    PRIMARY KEY("id" AUTOINCREMENT));

AUTHOR

Denver James Duran

You can find this repository here.

About

Simple application that allows a user to Create, Read, Updated and Delete data on a relational database.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages