0% found this document useful (0 votes)
81 views

DBMS Project Report 1

The document describes an inventory management system project submitted for a database technology course. It was submitted by Adhithyan Aravind and supervised by Dr. K. Devaki and Ms. K. Poornimathi. The project aims to develop a system to efficiently manage inventory, track stock levels and sales, and reduce fraud. It will have different interfaces for billing counter staff, managers, and owners to suit their needs. The system is intended to provide accurate, reliable information to help managers make timely decisions.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
81 views

DBMS Project Report 1

The document describes an inventory management system project submitted for a database technology course. It was submitted by Adhithyan Aravind and supervised by Dr. K. Devaki and Ms. K. Poornimathi. The project aims to develop a system to efficiently manage inventory, track stock levels and sales, and reduce fraud. It will have different interfaces for billing counter staff, managers, and owners to suit their needs. The system is intended to provide accurate, reliable information to help managers make timely decisions.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 32

“Inventory Management System”

Submitted as Mini Project Report

for

CB19442– Database Technology

Submitted by

Adhithyan Aravind (211401004)

DEPARTMENT OF COMPUTER SCIENCE & BUSINESS SYSTEMS


Rajalakshmi Engineering College,

Thandalam, Chennai
Nov-Dec 2022

1|Page
BONAFIDE CERTIFICATE

Certified that this project report titled “Inventory Management System “the

bonafide work of "Adhithyan Aravind" who carried out the project work

under my supervision.

SIGNATURE SIGNATURE
Dr.K.Devaki Ms.K.Poornimathi
HEAD OF THE DEPARTMENT SUPERVISOR
Computer Science and Business Systems
Rajalakshmi Engineering College, Rajalakshmi Engineering College
Rajalakshmi Nagar, Thandalam, Rajalakshmi Nagar, Thandalam,
Chennai- 602 105 Chennai - 602 105.

2|Page
ACKNOWLEDGEMENT

I thank the Almighty God for the successful completion of the project. Sincere

thanks to our Chairman Mr. S.MEGANATHAN B.E, F.I.E., for his sincere

endeavour in educating us in his premier institution.

I would like to express our deep gratitude to our beloved chairperson Dr.

(Mrs.)THANGAM MEGANATHAN, Ph.D., for her enthusiastic motivation which

inspired us a lot in completing our project.

I also express our gratitude to our principal Dr.S.N.MURUGESAN,Ph.D., who

helped us in providing the required facilities for completing the project.

I would like to thank our Head of the Department of Computer Science and

Business Systems Dr.K.Devaki,Ph.D., for her invaluable guidance and

encouragement for completing the project.

I are also thankful to Ms.K.Poornimathi,M.Tech., Department of Computer

Science and Business Systems for her invaluable guidance, ideas, and encouragement

for the successful completion of this project.

3|Page
CONTENTS

ChapterNo. Title Page


No
1. INTRODUCTION
1.1 Overview
1.2 Scope
1.3 Working
1.4 Purpose
1.5 Goals of proposed actions
1.6 User characteristics
1.7 Technical Feasibility
1.8 Advantages
2. ER Diagram
2.1 Relationship Assumptions for ER Diagram
2.2 Relationships according to the requirements
2.2.1 One-to-One Binary Relationships
2.2.2 One-to-Many Binary Relationships
2.2.3 Many-to-Many Binary Relationships
3. Relational Schema
4. Normalisation of Schema
5. Queries
6.1 Create Table & Insert Queries
6.2 SQL Queries
6. CONCLUSION

4|Page
CHAPTER 1

INTRODUCTION

1.1 Overview

Project is related to Inventory Management System


The project maintains three levels of users: -
 Billing Counter Level
 Manager Level
 Owner Level

Main facilities available in this project are: -


 We can forecast the sales by analyzing the previous sales statistics.
 We can get an idea that when we need to order new inventory.
 We can reduce the chances of any kind of frauds done by the
staff members in the inventory.
 Customer details can be added.
 Invoice generation.
 We can keep a track of transactions received
through different payment methods.

5|Page
1.2 INTRODUCTION-:

An inventory management system is the combination of technology (hardware and


software) and processes and procedures that oversee the monitoring and
maintenance of stocked products, whether those products are company assets, raw
materials and supplies, or finished products ready to be sent to vendors or end
consumers.
This system can widely be used by normal shops, departmental stores or MNCs
for keeping a proper track of the stock. It also consists of information like
manager details, customer details etc.
With the help of this system, we can fix a minimum quantity of any inventory
below which we need to place an order for that inventory. This will help us in
good sales results and never the out-of-stock stage for any inventory.

6|Page
1.3 SCOPE:


This will help us in maintain the exact count of any product.

Can help us to set minimum quantity of any product below which we can
order the product from manufacturer.

Can reduce duplicate entries

1.4 WORKING:

This application will have different front ends for different kinds of users. The
person who is sitting on the billing counter will have access to only modify the
quantity of any product i.e., he/she can either generate an invoice for any sold
product or can generate a return note for any returns from any customer. The
manager will have
the access to modify the rates if there exist any dynamic price inventory. The
owner of the firm will have the access to generate the final report which will be
consisting of sales done on any particular day, the total sales on any particular
counter or by any salesperson.

7|Page
1.5 Purpose:

INVENTORY MANAGEMENT must tie together the following objectives


, to ensure that there is continuity between functions:
• Company’s Strategic Goals
• Sales Forecasting
• Sales & Operations Planning
• Production & Materials Requirement Planning.

Inventory Management must be designed to meet the dictates of market place


and support the company’s Strategic Plan. The many changes in the market
demand, new opportunities due to worldwide marketing, global sourcing of
materials and new manufacturing technology means many companies need to
change their Inventory Management approach and change the process for
Inventory Control.

Inventory Management system provides information to efficiently manage the


flow of materials, effectively utilize people and equipment, coordinate internal
activities and communicate with customers. Inventory Management does not
make decisions or manage operations, they provide the information to managers
who make more accurate and timely decisions to manage their operations.

INVENTORY is defined as the blocked Working Capital of an organization in


the form of materials. As this is the blocked Working Capital of organization,
ideally it should be zero. But we are maintaining Inventory. This Inventory is
maintained to take care of fluctuations in demand and lead time. In some cases, it
is maintained to take care of increasing price tendency of commodities or rebate
in bulk buying.

8|Page
1.6 Goals of proposed system

1. Planned approach towards working: - The working in the organization will be


well planned and organized. The data will be stored properly in data stores, which
will help in retrieval of information as well as its storage.
2. Accuracy: - The level of accuracy in the proposed system will be higher. All
operation would be done correctly and it ensures that whatever information is
coming from the center is accurate.
3. Reliability: - The reliability of the proposed system will be high due to the above
stated reasons. The reason for the increased reliability of the system is that now
there would be proper storage of information.
4. No Redundancy: - In the proposed system utmost care would be that no
information is repeated anywhere, in storage or otherwise. This would assure
economic use of storage space and consistency in the data stored.
5. Immediate retrieval of information: - The main objective of proposed system
is to provide for a quick and efficient retrieval of information.
6. Immediate storage of information: - In manual system there are many
problems to store the largest amount of information.
7. Easy to Operate: - The system should be easy to operate and should be
such that it can be developed within a short period of time and fit in the limited
budget of the user.

9|Page
1.7 Background:

This application is nowadays a basic use of any company, firm, shop or


departmental store because stock maintenance, stock forecasting are some things
which are very essential these days for earning great profits.
In ancient times we need to maintain the complete inventory in paper pen method.
The ancient method is quite un-easy, uncomfortable and sometimes inaccurate.
For overcoming this problem, we came with a solution of inventory management
system. From this system we can generate invoice for each and every purchase. In
addition to this we can have the employee details, customer details in this system.
In short, we can call this as all-in-one system...!!

1.8 User Characteristics:


Every user should be:

1.Comfortable with computer.


2.Should have knowledge of internet explorer.
3.He must also have basic knowledge of English too.

10 | P a g e
1.9 Technical Feasibility: Back End

In this project we’ve only implemented the back end of the system which is designed
on “SQL Plus”
On this sequence query language, we created 10 tables named:

1. Brands
2. invoice user
3. Categories
4. Products
5. Stores
6. Providers
7. Customer cart
8. Select product
9. Transactio
n 10. Invoice

11 | P a g e
1.10 ADVANTAGES

1. Inventory Balance. Good inventory management helps you figure out


exactly how much inventory you need. This makes it easier to prevent
product shortages and keep just enough inventory on hand without
having too much.

2. Inventory Turnover. Need to keep a high inventory turnover ratio to


ensure your products aren’t spoiling, becoming obsolete or sucking up your
working capital. Calculate how many times your inventory sells in a year
and see where you can make better use of your resources.
3. Repeat Customers. Good inventory management leads to what every
business owner wants – repeat customers. You want your hard-earned
customers to keep coming back to your business to meet their needs.
One way to do this is to make sure you have what they’re looking for
every time they come.

4. Accurate Planning. Using smart inventory management, you can stay


ahead of the demand curve, keep the right number of products on hand and
plan ahead for seasonal changes. This goes back to keeping your customers
happy all year long.
5. Warehouse organization. If we know which products are your top sellers
and what combinations of products your customers often order together,
you can optimize your warehouse setup by putting those products close
together and in easily accessible places. These speeds up the picking,
packing and shipping processes.

6. Employee Efficiency. We can empower your employees to help you


manage inventory. Training employees to use barcode scanners, inventory
management software and other tools helps them make better use of their
time, and it helps your business make better use of its resources, both
human and technological.

12 | P a g e
7. Inventory Orders. If you’ve done a good job keeping track of how
much inventory you have on hand, you can make smarter decisions
about when and what to order. Inventory management software lets you
speed up the ordering process. You can simply scan a product barcode
and type in some information to place an order and generate an invoice.

8. Inventory Tracking. If you have multiple locations, then inventory


management becomes even more important because you need to coordinate
your supplies at each location depending on differences in demand and
other factors.
9. Time Saving. Inventory management is a great time-saving tool. By
keeping track of all the products, you have on hand and on order, you can
save yourself the hassle of doing inventory recounts to make sure your
records are accurate. This once again requires inventory management
software.

10.Cost Cutting. When your inventory is humming along efficiently


through your facilities, you can bet you’ll save a lot of money. Inventory
management helps you avoid wasting money on slow-moving products
so you can put it to better use in other areas of your business.

13 | P a g e
CHAPTER 2

ER DIAGRAM

2.1 Relationship Assumptions for ER Diagram

14 | P a g e
2.2 Relationships according to the requirements

2.2.1 One-to-One Binary Relationships

(a)Single user can ride in one product at a time (1:1)


(b) One customer service representative can take one feedback at a
time (1:1)

2.2.2 One to Many Binary Relationships

(a) Single user can have multiple inventory details (1:N)


(b) Single user can have multiple bills details (1:N)
(c)Single user can give many feedbacks (1:N)

2.2.3 Many to Many Binary Relationships

(a) Many products can have many stocks (M:N)


(b) Many inventory can have many items (M:N)

15 | P a g e
CHAPTER 3

RELATIONAL SCHEMA

16 | P a g e
CHAPTER 4

Normalization of schema

#1NF

After performing First-Normal Form, a single table was generated: 

OrderHistory.

Inventory (ItemNumber, ItemDescription, CurrentSalePrice, InStockCount, ReorderValue)

OrderHistory (ItemNumber, PONumber, SupplierNumber, Date, Quantity, Cost)

#2NF

After performing First-Normal Form, a single table was generated:

 PurchaseOrder.

OrderHistory (ItemNumber,  PONumber, Quantity, Cost)

PurchaseOrder (PONumber, SupplierNumber, Date)

#3NF

When performing Third-Normal Form, no transitive dependencies were identified, and


the tables have not changed.

The final set of entities after completing Third-Normal-Form are as follows:

Inventory (ItemNumber, ItemDescription, CurrentSalePrice, InStockCount, ReorderValue)

OrderHistory (ItemNumber,  PONumber, Quantity, Cost)

PurchaseOrder (PONumber, SupplierNumber, Date)

17 | P a g e
CHAPTER 5

QUERIES

CREATE TABLE :
SQL> create table
brands( 2 bid
number(5),
3 bname varchar(20)
4 );

Table created.

SQL> alter table


brands 2 add primary

key(bid); Table altered.

SQL> create table

inv_user(
2 user_id varchar(20),
3 name varchar(20),
4 password varchar(20),
5 last_login timestamp,
6 user_type
varchar(10) 7 );

Table created.

SQL> create table


categories( 2 cid
number(5),
3 category_name varchar(20)
4 );

Table created.

SQL> alter table


categories 2 add primary

18 | P a g e
key(cid); Table altered.

SQL> alter table

inv_user
2 add primary key(user_id);

19 | P a g e
Table altered.

SQL> create table product(


2 pid number(5) primary key,
3 cid number(5) references
categories(cid), 4 bid number(5)
references brands(bid),
5 sid number(5),
6 pname varchar(20),
7 p_stock number(5),
8 price number(5),
9 added_date

date); Table created.

SQL> create table


stores( 2 sid
number(5),
3 sname varchar(20),
4 address varchar(20),
5 mobno number(10)
6 );

Table created.

SQL> alter table stores


2 add primary
key(sid);

Table altered.

SQL> alter table product


2 add foreign key(sid)references

stores(sid); Table altered.

SQL> create table provides(


2 bid number(5)references
brands(bid), 3 sid
number(5)references stores(sid), 4
discount number(5));

Table created.

SQL> create table customer_cart(


2 cust_id number(5) primary
key, 3 name varchar(20),
4 mobno number(10)
5 ); 20 | P a g e
Table created.

SQL> create table select_product(


2 cust_id number(5) references customer_cart(cust_id),
3 pid number(5)references
product(pid), 4 quantity number(4)
5 );

Table created.

SQL> create table


transaction( 2 id number(5)
primary key, 3
total_amount number(5),
4 paid number(5),
5 due number(5),
6 gst number(3),
7 discount number(5),
8 payment_method varchar(10),
9 cart_id number(5) references
customer_cart(cust_id) 10 );

Table created.

SQL> create table


invoice( 2 item_no
number(5),
3 product_name varchar(20),
4 quantity number(5),
5 net_price number(5),
6 transaction_id number(5)references
transaction(id) 7 );

INSERTION:
INSERT INTO BRANDS:
SQL> insert into brands
values( 2 '&bid'
3,
4 '&bname');
Enter value for bid:
1 old 2: '&bid'
new 2: '1'
Enter value for bname:
Apple old 4: '&bname')
21 | P a g e
new 4: 'Apple')

1 row created.
1 row created.

SQL> insert into brands

values(2,'Samsung'); 1 row created.

SQL> insert into brands

values(3,'Nike'); 1 row created.

SQL> insert into brands

values(4,'Fortune'); 1 row created.

INSERT INTO INV_USER:

SQL> insert into inv_user


values( 2 '&user_id',
3 '&name',
4 '&password',
5 '&last_login',
6 '&user_type');
Enter value for user_id:
[email protected] old 2: '&user_id',
new 2: '[email protected]',
Enter value for name:
vidit old 3: '&name',
new 3: 'vidit',
Enter value for password:
1234 old 4: '&password',
new 4: '1234',
Enter value for last_login: 31-oct-18
12:40 old 5: '&last_login',
new 5: '31-oct-18 12:40',
Enter value for user_type:
admin old 6: '&user_type')
new 6: 'admin')

1 row created.

SQL> insert into inv_user values('[email protected]','Harsh Khanelwal','1111','30-


oct- 18 10:20','Manager');

22 | P a g e
1 row created.

SQL> insert into inv_user values('[email protected]','Prashant','0011','29-oct-


18 10:20','Accountant');

1 row created.

INSERT INTO CATEGORIES:

SQL> insert into categories


values( 2 '&cid',
3
'&category_name');
Enter value for cid: 1
old 2: '&cid',
new 2: '1',
Enter value for category_name:
Electroincs old 3: '&category_name')
new 3: 'Electroincs')

1 row created.

SQL> insert into categories

values(2,'Clothing'); 1 row created.

SQL> insert into categories

values(3,'Grocey'); 1 row created.

INSERT INTO STORE


SQL> insert into stores
values( 2 '&sid',
3 '&sname',
4 '&address',
5 '&mobno');
Enter value for
sid:
1 old 2: '&sid',
new 2: '1',
Enter value for sname: Ram
kumar old 3: '&sname',
new 3: 'Ram kumar',
Enter value for address: Katpadi
vellore old 4: '&address',
new 4: 'Katpadi vellore',
Enter value for mobno:
9999999999 old 5: '&mobno')
23 | P a g e
new 5: '9999999999')

1 row created.

SQL> insert into stores values(2,'Rakesh kumar','chennai',8888555541);

1 row created.

SQL> insert into stores

values(3,'Suraj','Haryana',7777555541); 1 row created.

INSERT INTO PRODUCT:

SQL> insert into product


values( 2 '&pid',
3 '&cid',
4 '&bid',
5 '&sid',
6 '&pname',
7 '&p_stock',
8 '&price',
9 '&added_date');
Enter value for pid:
1 old 2: '&pid',
new 2: '1',
Enter value for cid:
1 old 3: '&cid',
new 3: '1',
Enter value for bid:
1 old 4: '&bid',
new 4: '1',
Enter value for sid:
1 old 5: '&sid',
new 5: '1',
Enter value for pname:
IPHONE old 6: '&pname',
new 6: 'IPHONE',
Enter value for p_stock:
4 old 7: '&p_stock',
new 7: '4',
Enter value for price:
45000 old 8: '&price',
new 8: '45000',
Enter value for added_date: 31-oct-
18 old 9: '&added_date')

24 | P a g e
new 9: '31-oct-18')

1 row created.

SQL> insert into product values(2,1,1,1,'Airpods',3,19000,'27-

oct- 18'); 1 row created.

SQL> insert into product values(3,1,1,1,'Smart Watch',3,19000,'27-oct-

18'); 1 row created.

SQL> insert into product values(4,2,3,2,'Air Max',6,7000,'27-oct-

18'); 1 row created.

SQL> insert into product values(5,3,4,3,'REFINED OIL',6,750,'25-oct-

18'); 1 row created.

INSERT INTO PROVIDES:

SQL> insert into provides

values(1,1,12); 1 row created.

SQL> insert into provides

values(2,2,7); 1 row created.

SQL> insert into provides

values(3,3,15); 1 row created.

SQL> insert into provides values(1,2,7);

1 row created.
SQL> insert into provides

values(4,2,19); 1 row created.

SQL> insert into provides

values(4,3,20); 1 row created.

INSERT INTO CUSTOMER_CART:

25 | P a g e
SQL> insert into customer_cart
values( 2 '&cust_id',
3 '&name',
4 '&mobno');
Enter value for cust_id:
1 old 2: '&cust_id',
new 2: '1',
Enter value for name:
Ram old 3: '&name',
new 3: 'Ram',
Enter value for mobno:
9876543210 old 4: '&mobno')
new 4: '9876543210')

1 row created.

SQL> insert into customer_cart

values(2,'Shyam',7777777777); 1 row created.

SQL> insert into customer_cart values(3,'Mohan',7777777775);

1 row created.

INSERT INTO SELECT_PRODUCT:

SQL> insert into select_product


values( 2 '&cust_id',
3 '&pid',
4 '&quantity');
Enter value for cust_id:
1 old 2: '&cust_id',
new 2: '1',
Enter value for pid:
2 old 3: '&pid',
new 3: '2',
Enter value for quantity:
2 old 4: '&quantity')
new 4: '2')

1 row created.

SQL> insert into select_product

values(1,3,1); 1 row created.

26 | P a g e
SQL> insert into select_product

values(2,3,3); 1 row created.

SQL> insert into select_product

values(3,2,1); 1 row created.

INSERT INTO TRANSACTIONS:

SQL> insert into transaction


values( 2 '&id',
3 '&total_amount',
4 '&paid',
5 '&due',
6 '&gst',
7 '&discount',
8 '&payment_method',
9 '&cart_id');
Enter value for id:
1 old 2: '&id',
new 2: '1',
Enter value for total_amount:
57000 old 3: '&total_amount',
new 3: '25000',
Enter value for paid:
2000 old 4: '&paid',
new 4: '20000',
Enter value for due:
5000 old 5: '&due',
new 5: '5000',
Enter value for gst:
350 old 6: '&gst',
new 6: '350',
Enter value for discount:
350 old 7: '&discount',
new 7: '350',
Enter value for payment_method:
card old 8: '&payment_method',
new 8: 'card',
Enter value for cart_id:
1 old 9: '&cart_id')
new 9: '1')

1 row created.

27 | P a g e
insert into transaction values(2,57000,57000,0,570,570,'cash',2);

SQL> insert into transaction values(3,19000,17000,2000,190,190,'cash',3);

1 row created. SQL> insert into transaction


values(3,19000,17000,2000,190,190,'cash',3);

1 row created.

PL/SQL

Functions:

SQL> declare
2 due1 number(7);
3 cart_id1 number(7);
4 function get_cart(c_id number)return number
is 5 begin
6 return (c_id);
7 end;
8 begin
9 cart_id1:=get_cart('&c_id');
10 select due into due1 from transaction where cart_id=cart_id1;
11 dbms_output.put_line(due1);
12 en
d; 13
/
Enter value for c_id: 1
old 9: cart_id1:=get_cart('&c_id');
new 9: cart_id1:=get_cart('1');
5000

PL/SQL procedure successfully completed.

Cursors:

SQL> DECLARE
2 p_id product.pid%type;
3 p_name product.pname%type;
28 | P a g e
4 p_stock product.p_stock
%type; 5 cursor p_product is
6 select pid,pname ,p_stock from product;
7 begin
8 open p_product;
9 loop
10 fetch p_product into p_id,p_name,p_stock;
11 exit when p_product%notfound;
12 dbms_output.put_line(p_id||' '||p_name||' '||p_stock);
13 end loop;
14 close p_product;
15 en
d; 16 /
1 IPHONE 4
2 Airpods 3
3 Smart Watch 3
4 Air Max 6
5 REFINED OIL 6

PL/SQL procedure successfully completed.

Procedure:

SQL> DECLARE
2 a number;
3 b number;
4 PROCEDURE check_stock(x IN number)
IS 5 BEGIN
6 IF x < 2 THEN
7 dbms_output.put_line('Stock is Less');
8 ELSE
9 dbms_output.put_line('Enoug
h Stock'); 10 END IF;
11 END;
12 BEGIN
13 b:='&b';
14 select p_stock into a from product where pid=b;
15 check_stock(a);
16 END;

29 | P a g e
17 /
Enter
value for
b: 2 old
13:

b:='&b';
new 13:

PL/SQL procedure successfully completed.

OUTPUT SNAPSHOTS

30 | P a g e
CONCLUSION

In this project we developed a complete back-end software in which we


can update the stock, modify stock, we can forecast the stock, generate
invoice.
From this application we can get an update that if a particular inventory
or stock is less than some pre-fixed quantity then it’ll be easy for the
manager/owner to reorder the product from supplier to overcome the
“Out of Stock” stage.
In addition to this it can also help us to manage the warehouses, add
warehouses which can be proved as very useful feature.
We can have complete customer details which can help us to
retrieve the order details of regular customers.
From this program we can also keep a track of transactions
performed by different customers/clients. We can also get an idea
that how much fund we received from different payment
methodologies.

This application will keep a high inventory turnover ratio to ensure


our products aren’t spoiling, becoming obsolete for our working
capital. It’ll help us to calculate how many times inventory sells in a
year and see where we can make better use of our resources.

31 | P a g e
32 | P a g e

You might also like