THE PENTECOSTAL ASSEMBLY SCHOOL
INFORMATICS PRACTICES
PROJECT FILE
NAME : VISHAL CHOUDHARY
CLASS : 12
SECTION : D
ROLL NO. : 46
REG. NO. : 2024416
1
CERTIFICATE
This is to certify that Vishal Choudhary, a student of class 12 D, The Pentecostal
Assembly School, has successfully completed the project work in the subject of
Informatics Practices under the guidance of Mr. Mohan Mishra for the academic year
2025-2026 in partial fulfilment of the Informatics Practices practical examination
conducted by AISSCE, New Delhi
Signature of subject teacher signature of external examiner
2
ACKNOWLEDGEMENT
I would like to express my sincere gratitude to my informatics practices teacher, Mr. Mohan
Mishra, for their valuable guidance and support in completing this project.
I am also thankful to my school and CBSE for giving me this opportunity. Lastly, I thank my
parents and friends for their encouragement throughout the completion of this project.
3
TABLE OF CONTENTS
SLN CONTENT PAGE NUMBER
O.
1. Introduction 5
2. Objective 6
3. List of databases used 7
4. Main menu and sub menu 8
5. Flow chart 9
6. Sql commands 10-11
7. Python commands 12-14
8. Outcomes 15
9. Bibliography 16
4
INTRODUCTION
Inventory refers to all the goods, items, and materials purchased or manufactured by
businesses for sale to the customers to make a profit.
Inventory management is all about tracking and controlling business inventory, right
from manufacturing, buying, to storing, and using. It controls the entire row of goods
from purchasing to sale and ensures that you always have the right quantities of the
right item in the right location at the right me.
An Inventory Management System is an application that refers to Inventory
Management developed for small businesses. It can be used by businesses to
manage inventory using a computerised system, where they can manage details of
purchase, sale, products, and customers
In the modern retail environment, manual record-keeping in registers is inefficient and
prone to human error. This project helps because:
1. Accuracy: It eliminates calculation errors in stock counting and pricing.
2. Timesaving: Searching for a product in a digital database takes milliseconds,
whereas searching through paper records takes minutes.
3. Stock Alerts: It helps shopkeepers easily identify which products are running
low on quantity.
4. Data Security: Digital records are safer and easier to back up than physical
logbooks.
5
OBJECTIVE
Objectives of the Inventory Management System Project
To design a computerised system that maintains and manages inventory records
efficiently and reduces manual workload.
To store, update, and retrieve product details such as item name, item code,
quantity, price, and supplier information accurately.
To automate stock monitoring by tracking available quantities and identifying items
that are low in stock.
To generate useful reports such as the current stock report, sales/purchase records,
and low-inventory alerts.
To ensure data accuracy through validation checks and minimise errors caused by
manual record-keeping.
To provide a user-friendly interface that allows easy data entry, search, and editing
of inventory items.
To enable quick decision-making by providing real-time information about stock
status and inventory movement.
To implement database connectivity (using MySQL / CSV / Python files) for secure
and structured storage of inventory data.
To improve the overall efficiency of inventory management by reducing the time
spent on tracking and updating records manually.
6
LIST OF DATABASES USED IN THE SYNOPSIS
Database Name: inventory_db
This database is used to store and manage all data related to products, stock levels, categories and
inventory transactions.
● Tables used in synopsis
TABLE NAME DESCRIPTIONS
PRODUCT Stores product details like ID, name,
quantity and price
CATEGORIES Stores product categories like category_id and
category_name
STOCK_LOG Track each stock update (add or remove),
including date and quantity
7
MAIN MENU AND SUB MENU
MAIN MENU:
➢ Add new product
➢ Update
➢ View Inventory
➢ Delete Product
➢ Search product
➢ Exit
SUB MENU:
1. Add New product
➢ Enter product name
➢ Select category
➢ Set price and quantity
➢ Save to database
2. Update stock
➢ Add stock
➢ Select product
➢ Enter quantity to add
8
FLOW CHART:
PRODUCT
NAME QUANTITY
PRODUCT
S
PRODUCT
ID CATEGORY
ID
PRICE
CATEGORY ID CATEGORY
CATEGORIES
NAME
DATE
LOG_ID
PRODUCT_ID STOCK_LOG
OPERATION_TYPE
QUANTITY
9
SQL Commands for Inventory Management
1. Create the Inventory Table :
CREATE TABLE Inventory (
ProductID INT PRIMARY KEY,
ProductName VARCHAR(50),
Quantity INT,
Price DECIMAL(10,2));
2. Insert a New Product :
INSERT INTO Inventory (ProductID, ProductName, Quantity, Price)
VALUES (X, 'Notebook', N , 30.00);
3. Update quantity :
UPDATE Inventory
SET Quantity = Quantity + N
WHERE ProductID = X;
10
4. Delete a product :
DELETE FROM Inventory
WHERE ProductID = X;
5. Display all products :
SELECT * FROM Inventory;
11
Python Code to Manage Inventory
(using MySQL connector)
1. Connect to MySQL
import [Link]
conn = [Link](
host="localhost",
user="root",
password="your_password",
database="inventorydb")
cursor = [Link]()
2. Add a New Product
From db_connect import connect
def add_product():
db= connect()
cursor=[Link]()
name=input(‘enter product category:’)
qty= int(input(‘Enter quantity :’))
price= float(input(‘enter price:’))
query = "INSERT INTO Inventory VALUES (%s, %s, %s, %s)"
data = (pid, name, qty, price)
[Link](query, data)
[Link]()
print(‘PRODUCT ADDED SUCCESSFULLY’)
db. close
12
3. Update Stock Quantity :
def update_quantity(pid, qty):
query = "UPDATE Inventory SET Quantity = Quantity + %s WHERE
ProductID = %s"
data = (qty, pid)
[Link](query, data)
[Link]()
print("Quantity updated!")
4. View All Inventory Items
def display_inventory():
db=connect()
cursor=[Link]()
[Link]("SELECT * FROM products")
for row in [Link]():
print(row)
5. Delete a Product:
def delete_product(pid):
query = "DELETE FROM Inventory WHERE ProductID = %s"
data = (pid,)
[Link](query, data)
[Link]()
print("Product deleted!")
13
6. MAIN MENU PROGRAM
from add_product import add_product
from display_products import display_products
from search_product import search_product
from update_quantity import update_quantity
from delete_product import delete_product
def menu():
while True:
print("\n--- Inventory Management ---")
print("1. Add Product")
print("2. Display Products")
print("3. Search Product")
print("4. Update Quantity")
print("5. Delete Product")
print("6. Exit")
choice = input("Enter your choice: ")
if choice == '1':
add_product()
elif choice == '2':
display_products()
elif choice == '3':
search_product()
elif choice == '4':
update_quantity()
elif choice == '5':
delete_product()
elif choice == '6':
break
else:
print("Invalid choice.")
menu()
14
OUTCOMES
1. Understand Database Concepts
● Explain the purpose of using databases for storing structured information.
● Understand tables, records, primary keys, and foreign keys.
● Understand relationships between tables (e.g., Supplier → Product).
2. Apply SQL Queries to Real-World Problems
Create tables using SQL CREATE TABLE.
Insert, update, delete, and retrieve records using SQL commands such as:
○ INSERT INTO
○ UPDATE
○ DELETE
○ SELECT with WHERE, ORDER BY, LIKE, etc.
Use constraints like PRIMARY KEY, FOREIGN KEY, NOT NULL, and DEFAULT.
3. Work With File Handling and Data Persistence
Store and retrieve data from external files (CSV, text files if included).
Understand the difference between volatile (RAM) and non-volatile (database/file)
storage.
4. Design ER Diagrams and Database Schemas
● Identify entities and attributes.
● Represent relationships between tables visually.
● Convert ER diagrams into working SQL database schemas.
15
BIBLIOGRAPHY
➢ Official Python documentation
➢ W3Schools Python documentation
➢ Geeks for Geeks Python tutorials
➢ Ncert textbooks
16