You are on page 1of 24

lOMoARcPSD|28011495

VISVESVARAYA TECHNOLOGICAL UNIVERSITY


Jnana Sangama, Belgaum-590018

A Database Management System Mini Project Report on

CRIME DATABASE MANAGEMENT SYSTEM


Submitted in Partial fulfillment of the Requirements for the V Semester of the Degree of
Bachelor of Engineering In
Artificial Intelligence & Machine Learning
By
Prajwal M
(3GN21AI037)

Prithviraj K
(3GN21AI040)

Rahul Reddy
(3GN21AI041)

Sachin V Bacha
(3GN21AI044)
Under the Guidance of
Prof.Netravati S

DEPARTMENT OF ARTIFICIAL INTELLIGENCE AND


MACHINE LEARNING

GURU NANAK DEV ENGINEERING


COLLEGE BIDAR
MAILOOR ,BIDAR KARANATAKA -585403
lOMoARcPSD|28011495

GURU NANAK DEV ENGINEERING


COLLEGE BIDAR
MAILOOR ,BIDAR KARANATAKA -585403

CERTIFICATE
This is to certify that the Database Management System Project work entitled Crime Database
Management System has been carried out by Prajwal M (3GN21AI037), Prithviraj
(3GN21AI040), Rahul Reddy (3GN21AI041) , Sachin V Bacha (3GN21AI044) bonafide
students of Guru Nanak Dev College Bidar in partialfulfillment for the Completion of 5th Sem
of Bachelor of Engineering in Artificial Intelligence And Machine Learning of the
Visvesvaraya Technological University, Belgaum during the year 2023-2024. It is certified that
all corrections/suggestions indicated for Internal Assessment have been incorporated in the
Report deposited in the departmental library. This DBMS Project Report has been approved as
it satisfies the academic requirements in respect of project workprescribed for the said degree.

----------------- -------------------

Signature of Guide Signature of HOD

Mrs.Netravati S Dr. Dayanand J


Assistant Professor Professor, Head
Dept. of AIML, GNDEC Dept. of AIML, GNDEC

External Viva
Name of the examiners Signature with date
1.

2.
lOMoARcPSD|28011495

ACKNOWLEDGEMENT

It gives us a great sense of pleasure to present the report of the B.E. Mini Project undertaken during the 5th
semester. We also take the opportunity to acknowledge the contribution of Dr.Dayanand J. Sir, HOD. of the
Department of Artificial Intelligence and Machine Learning, Guru Nanak Dev Engineering College Bidar,
for his full support and assistance during the development of the project. It is only through his cognizant
efforts that our endeavors have seen the light of day. We owe a special debt of gratitude to Mrs. Netravati
S., Department of Artificial Intelligence and Machine Learning, Guru Nanak Dev Engineering College
Bidar, for her constant support and guidance throughout the course of our work. Her sincerity, thoroughness,
and perseverance have been a constant source of inspiration for us. We also do not like to miss the
opportunity to acknowledge the contribution of all faculty members of the department for their kind
assistance and cooperation during the development of our project. And last but not least, we acknowledge
our friends for their contribution to the completion of the project.

Prajwal Mathapati
Prithviraj Kalyan
Rahul Reddy
Sachin V Bacha
lOMoARcPSD|28011495

II

ABSTRACT

The Crime Database project aims to provide a straight-forward yet efficient solution for managing crime-
related data through a relational database system. The database consists of three primary tables: person,
incident, and participation.

This simplified structure allows users to seamlessly insert and retrieve data pertaining to criminal incidents,
suspects involved, and victims affected. The incident table serves as the core repository for information
regarding criminal events, capturing details such as incident ID, date, time, location, description, and severity.
The system provides robust functionality for data retrieval, allowing users to query the database based on
various criteria such as incident details, suspect attributes, or victim demographics. By leveraging SQL queries
or a user-friendly interface, users can swiftly access relevant information for investigative, analytical, or
reporting purposes.

Overall, the Crime Database offers a user-friendly platform for law enforcement agencies, investigators, and
other stakeholders to manage and analyze crime-related data effectively. Its streamlined approach to data
insertion and retrieval aims to enhance operational efficiency and support informed decision-making in the
realm of criminal justice.
lOMoARcPSD|28011495

TABLE OF CONTENTS

Particulars Page No.

ACKNOWLEDGEMENT I

ABSTRACT II

LIST OF TABLES III

LIST OF FIGURES III

Chapter 1: INTRODUCTION ............................................................................................ 1

Chapter 2: REQUIREMENTS AND SYSTEM DESCRIPTION .................................2-3

Chapter 3: DESIGN ……………………………………………………………………….. 4-5

Chapter 4: IMPLEMENTATION …………………………………………………………6-15


4.1 TABLE CREATION ............................................................................7
4.2 CODE TO CONNECT DATABSE……………………………………….8-9
4.3 CODE FOR INSERTION AND RETRIVAL OPERATION……………9-12
4.4 CODE TO STREAMLIT(FRONTEND) DEVELPOMENT……………12-15

Chapter 5: APPLICATION SCREENSHOTS ............................................................... 16

Chapter 6: CONCLUSION AND FUTURE SCOPE ............................................... 17-18

Chapter 7: REFERENCES.................................................................................................................... 18-19


lOMoARcPSD|28011495

Crime Database Management System

Chapter 1

INTRODUCTION

The objective of the crime database management system is to allow investigators or users to edit
and find out the crime details of a criminal. It’ll also facilitate keeping all the records of criminals,
such as their ID, name, DOB, events committed, description, time, location, etc. So that all the
information about any crime and criminal will be available in seconds. Overall, it’ll help law
enforcement agencies, investigators, and other stakeholders manage and analyze crime-related
data effectively. The main purpose of this project is to illustrate the requirements of the project
Crime Database Management System and is intended to help and support informed decision-
making in the realm of criminal justice.

The system provides robust functionality for data retrieval, allowing users to query the database
based on various criteria such as incident details, suspect attributes, or victim demographics. By
leveraging SQL queries or a user-friendly interface, users can swiftly access relevant information
for investigative, analytical, or reporting purposes.

It provides a single source of data for streamlining your business processes and for all reporting
purposes. It has a simple user interface and is intuitive. This ensures that the users spend less time
learning the system and, hence, increase their productivity. Efficient security features provide data
privacy and, hence, increase their productivity.

Dept of AIML 2023−24 Page 1


lOMoARcPSD|28011495

Crime Database Management System

Chapter 2

SYSTEM REQUIREMENTS

To demonstrate and work with this project there few hardware and software requirements that
are to be satisfied To work with any storage system we need a database installed into our system
and as this project is made as an stand alone application any frontend tool can be used to design
and develop it .The major Hardware and Software requirements are listed below.

2.1 Hardware requirements

● Any modern updated Operating System (preferably 64-bit architecture)


● Minimum of 4 GB Ram
● The Disk space mainly depends on the size of data we will be dealing with ,but minimum
of 1GB is sufficient

2.2 Technologies Used

● Python (version-3.11.0)
● Db2(version-3.1.0)
● Streamlit
● Pandas

Dept of AIML 2023−24 Page 2


lOMoARcPSD|28011495

Crime Database Management System

1. Python:
- Python is a versatile and widely used programming language known for its simplicity and
readability.
- In this project, Python is likely used for various tasks such as backend development, scripting, and
data manipulation.

2. DB2:
- DB2 is a relational database management system (RDBMS) developed by IBM.
- It's commonly used for enterprise-level database solutions, offering features such as ACID
(Atomicity, Consistency, Isolation, Durability) compliance, scalability, and reliability.
- In this project, DB2 is likely used as the backend database to store and manage the data.

3. Streamlit:
- Streamlit is an open-source Python library used for building interactive web applications for data
science and machine learning projects.
- It allows developers to create web applications quickly by writing Python scripts.
- In this project, Streamlit is likely used to create a user interface (UI) for interacting with the
DBMS, providing features such as data visualization, querying the database, and displaying results.

4. Pandas:
- Pandas is a powerful Python library used for data manipulation and analysis.
- It provides data structures and functions to efficiently work with structured data, such as data
frames.
- In this project, Pandas is likely used for tasks such as reading data from the database, performing
data manipulation and analysis, and preparing data for visualization or presentation.

Overall, this project seems to be a combination of backend development with Python and DB2,
coupled with frontend development for data visualization and interaction using Streamlit. Pandas is
likely used for intermediate data processing tasks within the Python code.

Dept of AIML 2023−24 Page 3


lOMoARcPSD|28011495

Crime Database Management System

Chapter 3

DESIGN
The overall design objective is to provide an efficient, modular design that will reduce the system’s
complexity, facilitate change and result in an easy implementation. This will be accomplished by
designing a strong cohesion system with minimal coupling. The purpose of the design phase is to
develop a clear understanding of what the developer wants people to gain from the project. The
database application system may be divided into two kinds: one is data-centric and the other is
process-centric. The former takes the data provided as the goal, and the data acquisition, the
database construction and maintenance as the key point. Although the latter also includes these,
the emphasis is the service data, that is carrying on inquiry, statistics, report output and so on. In
this article the student information management database application system is mainly process-
centric.

Following the functional requirement of the student information management database application
system, the overall structure of the application system could be indicated with the hierarchy chart,
from the top to down: Layer 1 is the system layer, Layer 2 is the function layer, Layer 3 for
operation layer. Figure 3.1 is the overall structure of the student information management database
application system.

Dept of AIML 2023−24 Page 4


lOMoARcPSD|28011495

Crime Database Management System

Entity-Relationship Diagram: III

Figure 3.

Dept of AIML 2023−24 Page 5


lOMoARcPSD|28011495

Crime Database Management System

Chapter 4

IMPLEMENTATION

Crime database systems contain information about important people, places, and things within the
organization or in the environment surrounding it. Information is data that has been designed into a
form that is meaningful and useful to human beings. Data, in contrast, are streams of raw facts
representing events occurring in organizations or the physical environment before they have been
organized into a form that people can understand and use.

Implementing a designed database is critical for all operations. A good database does not allow any
form of anomaly and stores only relevant information in an ordered manner. If a database has
anomalies, it is affecting its efficiency and data integrity. For example, a delete anomaly arises upon
the deletion of a row, which also forces other useful data to be lost. As such, the tables need to be
normalized. Only this kind of database provides a result unambiguously.

As this is a complete web-based system, there are two techniques: frontend and backend. Frontend
means the design of the website or the design of the interface of the web application. Programming
languages coming under Frontend: Python with streamlit Library. Backend means server-side
programming; it communicates the client interface with the database and the logic control.
Programming languages coming under Backend: Python,Db2.

Dept of AIML 2023−24 Page 6


lOMoARcPSD|28011495

Crime Database Management System

First, create a database according to the given ER diagram and Schema diagram. In Selected
Schema, there are three tables: two normal tables and one relationship table.

4.1Creating Tables In Created Database :

CREATE TABLE Person


(
pid INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
name VARCHAR(255) NOT NULL,
dob DATE,
ssn CHAR(11),
st_name VARCHAR(255),
city VARCHAR(225)
);

CREATE TABLE Incident


(
iid INT NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
crimetype VARCHAR(255) NOT NULL CHECK (crimetype IN ('Theft', 'Assault', 'Burglary',
'Robbery', 'Vandalism', 'Fraud', 'Drug Possession', 'Homicide', 'Other')),
time TIMESTAMP NOT NULL,
st_name VARCHAR(225),
city VARCHAR(225)
);

CREATE TABLE Participation


(
pid INT NOT NULL,
iid INT NOT NULL,
role VARCHAR(255) NOT NULL CHECK (role IN ('victim', 'witnessed', 'suspect')), -- Enum
values for role
FOREIGN KEY (pid) REFERENCES Person(pid),
FOREIGN KEY (iid) REFERENCES Incident(iid),
PRIMARY KEY (pid, iid) -- Composite Primary Key
);

Dept of AIML 2023−24 Page 7


lOMoARcPSD|28011495

Crime Database Management System

After creating the tables in the crime database, it is now time to develop the frontend of the project
that connects the database to the server and provides a smooth user interface using Python and
Streamlit, which helps in the insertion of data into the database and retrieval of the required data
using Query.

4.2 Code to Connect the Database:


import os
from dotenv import load_dotenv
load_dotenv(
import ibm_db
import pandas as pd

dsn_hostname=os.getenv("Host_name")
dsn_uid= os.getenv("uid")
dsn_pwd=os.getenv("password")
dsn_port= os.getenv("Port_number")
dsn_database=os.getenv("database")
dsn_driver = "{IBM DB2 ODBC DRIVER}"
dsn_protocol = "TCPIP"
dsn_security = "SSL"

dsn = (
"DRIVER={0};"
"DATABASE={1};"
"HOSTNAME={2};"
"PORT={3};"
"PROTOCOL={4};"
"UID={5};"
"PWD={6};"
"SECURITY={7};").format(dsn_driver, dsn_database, dsn_hostname, dsn_port, dsn_protocol,
dsn_uid, dsn_pwd,dsn_security)

try:
conn = ibm_db.connect(dsn, "", "")
print ("Connected to database: ", dsn_database, "as user: ", dsn_uid, "on host: ", dsn_hostname)
# return conn
except:
print ("Unable to connect: ", ibm_db.conn_errormsg() )
# return None

Dept of AIML 2023−24 Page 8


lOMoARcPSD|28011495

Crime Database Management System

# to connect the database


def connect_to_db(dsn):
conn=ibm_db.connect(dsn,"","")
return conn

# to check the database connection


def check_db_connection(conn):
if conn:
# print("connected!")
return True
else:
return False

4.3 Code for insertion and retrieval operations:

# # # Function to insert data into the Person table


def insert_person_data(conn, name, dob, ssn, st_name, city):
sql_insert = "INSERT INTO Person (name, dob, ssn, st_name, city) VALUES (?, ?, ?, ?, ?)"
stmt_insert = ibm_db.prepare(conn, sql_insert)
if not stmt_insert:
return None, "Failed to prepare insert statement"
ibm_db.bind_param(stmt_insert, 1, name)
ibm_db.bind_param(stmt_insert, 2, dob)
ibm_db.bind_param(stmt_insert, 3, ssn)
ibm_db.bind_param(stmt_insert, 4, st_name)
ibm_db.bind_param(stmt_insert, 5, city)
result = ibm_db.execute(stmt_insert)
if result:
sql_last_id = "SELECT pid FROM Person ORDER BY pid DESC LIMIT 1"
stmt_last_id = ibm_db.exec_immediate(conn, sql_last_id)
last_pid = ibm_db.fetch_both(stmt_last_id)
if last_pid:
return last_pid[0], f"Person with PID {last_pid[0]} successfully registered."
else:
return None, "Failed to fetch last inserted PID"
else:
return None, "Failed to insert data into the database"

def insert_incident_data(conn, crimetype, time, st_name, city):


try:

Dept of AIM 2023−24 Page 9


lOMoARcPSD|28011495

Crime Database Management System

sql = "INSERT INTO Incident (crimetype, time, st_name, city) VALUES (?, ?, ?, ?)"

stmt = ibm_db.prepare(conn, sql)


ibm_db.bind_param(stmt, 1, crimetype)
ibm_db.bind_param(stmt, 2, time)
ibm_db.bind_param(stmt, 3, st_name)
ibm_db.bind_param(stmt, 4, city)
ibm_db.execute(stmt)

# Fetch the iid of the last inserted record


sql_last_iid = "SELECT iid FROM Incident ORDER BY iid DESC LIMIT 1"
stmt_last_iid = ibm_db.exec_immediate(conn, sql_last_iid)
last_iid = ibm_db.fetch_both(stmt_last_iid)

if last_iid:
return last_iid[0]
else:
return None

except Exception as e:
return False ,f"Failed to insert incident data: {e}"

def insert_participation_data(conn, pid, iid, role):


try:
# Check if pid exists in Person table
sql_check_pid = f"SELECT pid FROM Person WHERE pid = ?"
stmt_check_pid = ibm_db.prepare(conn, sql_check_pid)
ibm_db.bind_param(stmt_check_pid, 1, pid)
ibm_db.execute(stmt_check_pid)
if not ibm_db.fetch_assoc(stmt_check_pid):
return False, f"PID {pid} does not exist in Person table"

# Check if iid exists in Incident table


sql_check_iid = f"SELECT iid FROM Incident WHERE iid = ?"
stmt_check_iid = ibm_db.prepare(conn, sql_check_iid)
ibm_db.bind_param(stmt_check_iid, 1, iid)
ibm_db.execute(stmt_check_iid)
if not ibm_db.fetch_assoc(stmt_check_iid):
return False, f"IID {iid} does not exist in Incident table"

# # Validate role
# valid_roles = ['Victim', 'Witness', 'Suspect']
# if role not in valid_roles:
# return False, f"Role should be one of {', '.join(valid_roles)}"

Dept of AIML 2023−24 Page 10


lOMoARcPSD|28011495

Crime Database Management System

# Insert data into Participation table


sql_insert = "INSERT INTO Participation (pid, iid, role) VALUES (?, ?, ?)"
stmt_insert = ibm_db.prepare(conn, sql_insert)
ibm_db.bind_param(stmt_insert, 1, pid)
ibm_db.bind_param(stmt_insert, 2, iid)
ibm_db.bind_param(stmt_insert, 3, role)
ibm_db.execute(stmt_insert)

return True, "Participation data inserted successfully"

except Exception as e:
return False, f"Failed to insert participation data: {e}"

# Function to execute SQL query and return data


def execute_query(conn, query, params=None):
try:
stmt = ibm_db.prepare(conn, query)
if params:
if isinstance(params, (list, tuple)):
ibm_db.execute(stmt, params)
else:
ibm_db.execute(stmt, (params,))
else:
ibm_db.execute(stmt)

data = []
result = ibm_db.fetch_assoc(stmt)
while result:
data.append(result.copy())
result = ibm_db.fetch_assoc(stmt)

return data
except Exception as e:
return None, f"Error executing SQL query: {e}"
# return None

# Function to select all data from a table


def select_all_data(conn, table_name):
query = f"SELECT * FROM {table_name}"
return execute_query(conn, query)

Dept of AIML 2023−24 Page 11


lOMoARcPSD|28011495

Crime Database Management System

#Function to select specific columns of table


def select_specific_columns(conn, table_name, selected_columns):
try:
# Construct the SQL query
columns_str = ', '.join(selected_columns)
query = f"SELECT {columns_str} FROM {table_name}"

# Execute the query


data = execute_query(conn, query)
return data
except Exception as e:
return False, f"Error executing SQL query: {e}"
# return None

# Function to retrieve suspects based on role


def retrieve_suspects(conn, role):
query = """
SELECT p.name, i.time, i.st_name, i.city,pa.role
FROM person p
JOIN participation pa ON p.pid = pa.pid
JOIN incident i ON pa.iid = i.iid
WHERE pa.role = ?
"""
params = (role,)
return execute_query(conn, query, params)

4.4 Code for the Streamlit App(Frontend) Development:

import os
import streamlit as st
from sql import
connect_to_db,check_db_connection,insert_person_data,dsn,insert_incident_data,insert_participati
on_data,execute_query,select_all_data,select_specific_columns,retrieve_suspects
import pandas as pd

def insertion_page():
# Connect to the database
conn = connect_to_db(dsn)

tab1, tab2, tab3 = st.tabs(["Add Person Data", "Add Incident Data", "Add Participation Data"])
# Page for adding data to Person table
with tab1:

Dept of AIML 2023−24 Page 12


lOMoARcPSD|28011495

Crime Database Management System

st.header('Add Person Data')


name = st.text_input('Name:', key='name_input')
dob = st.date_input('Date of Birth:', key='dob_input')
ssn = st.text_input('Social Security Number: (eg: 9xx-8xx-7xx)', key='ssn_input')
st_name = st.text_input('State:', key='st_name_input')
city = st.text_input('City:', key='city_input')
if st.button('Add Person Data'):
pid = insert_person_data(conn, name, dob, ssn, st_name, city)
st.success(f'Data added successfully to Person table. PID: {pid}')
# Page for adding data to Incident table
with tab2:
st.header('Add Incident Data')
crimetype_options = ['Theft', 'Assault', 'Burglary', 'Robbery', 'Vandalism', 'Fraud', 'Drug
Possession', 'Homicide', 'Other']
crimetype = st.selectbox('Crime Type:', crimetype_options, key='crimetype_input')
date = st.date_input('Date of Incident:', key='date_input')
time = st.time_input('Time of Incident:', key='time_input')
formatted_datetime = f"{date} {time}:00"
st_name_incident = st.text_input('State:', key='st_name_incident_input')
city_incident = st.text_input('City:', key='city_incident_input')

if st.button('Add Incident Data'):


iid = insert_incident_data(conn, crimetype, formatted_datetime, st_name_incident,
city_incident)
if iid:
st.success(f'Data added successfully to Incident table. IID: {iid}')
else:
st.error('Failed to add data to Incident table.')

# Page for adding data to Participation table


with tab3:
# Input fields for participation data
st.header("insert Particiaption data")
pid = st.text_input('Person ID (PID):', key='pid_input')
iid = st.text_input('Incident ID (IID):', key='iid_input')
role = st.selectbox('Role:', ['victim', 'witnessed', 'suspect'], key='role_input')

if st.button('Add Participation Data'):


success, message = insert_participation_data(conn, pid, iid, role)
if success:
st.success(message)
else:
st.error(message)

Dept of AIML 2023−24 Page 13


lOMoARcPSD|28011495

Crime Database Management System

def retrival_page():
# Connect to the database
conn = connect_to_db(dsn)

st.title('Database Query Tool')


st.write('Interface To Search data from database')
# Query options
query_type = st.selectbox('Select query type:', ['Select All Data', 'Select Specific Columns',
'Retrieve Suspects'])

# Execute selected query type


if query_type == 'Select All Data':
table_name = st.selectbox('Select table:', ['person', 'incident', 'participation'])
data = select_all_data(conn, table_name)
if data is not None:
st.write('Query Result:')
st.dataframe(data)
else:
st.error('No data found.')

elif query_type == 'Select Specific Columns':


table_name = st.selectbox('Select table:', ['person', 'incident', 'participation'])

# Retrieve column names for the selected table


query = f"SELECT COLUMN_NAME FROM SYSIBM.COLUMNS WHERE
TABLE_NAME = '{table_name.upper()}'"
column_names = [row['COLUMN_NAME'] for row in execute_query(conn, query)]

selected_columns = st.multiselect('Select columns to retrieve:', column_names)

if selected_columns:
data = select_specific_columns(conn, table_name, selected_columns)
if data:
df = pd.DataFrame(data)
st.write('Query Result:')
st.dataframe(df)
else:
st.warning('Please select at least one column.')
elif query_type == 'Retrieve Suspects':
role = st.selectbox('Select role:', ['victim', 'witnessed', 'suspect'])
data = retrieve_suspects(conn, role)

Dept of AIML 2023−24 Page 14


lOMoARcPSD|28011495

Crime Database Management System

if data:
df1=pd.DataFrame(data)
st.write('Query Result:')
st.write(df1)

# Streamlit main web application


def main():

st.set_page_config(
page_title="Crime databse Application",
page_icon=" ",
layout="wide",
initial_sidebar_state="expanded",

st.markdown(""" <style> .font {


font-size:50px ; font-family: 'Cooper Black'; color: #6cb9f5;}
</style> """, unsafe_allow_html=True)
st.markdown('<p class="font">Crime Database</p>', unsafe_allow_html=True)
st.sidebar.image('img/logo2.jpg',use_column_width=True)
st.sidebar.title("Navigation Pane")

page = st.sidebar.radio("Go to", ("Insert Data", "Retrieve Data"))

# Connect to the database


conn = connect_to_db(dsn)

# Check database connection


if check_db_connection(conn):
st.success("Database connected successfully!")
if page == "Insert Data":
insertion_page()
elif page == "Retrieve Data":
retrival_page()
else:
st.error("Failed to connect to the database.")

if __name__ == '__main__':
main()

Dept of AIML 2023−24 Page 15


lOMoARcPSD|28011495

Crime Database Management System

Chapter 5

APPICATION SCREENSHOTS

The Figure 5.1 is the Data Insertion page for the application

The Figure 5.2 is the Data Retrieval page for the application

Dept of AIML 2023−24 Page 16


lOMoARcPSD|28011495

Crime Database Management System

Chapter 6

CONCLUSION AND FUTURE SCOPE


Conclusions Simplicity is never simple. As we have seen in this project, the provided database
schema offers a fundamental framework for managing information related to criminal incidents
and the individuals involved. It efficiently captures data regarding persons, incidents, and their
relationships through participation and potential matches. However, to fully support
comprehensive criminal investigations, additional entities and attributes should be considered.

Overall, efficiency has improved and work processes have been simplified. Although all the
objectives have been met, the system still has room for improvement. The system is robust and
flexible enough for future upgrades using advanced technology and devices. It was a wonderful
learning experience for us while working on this project. This software is very easy to use, so
everyone can use it frequently. We can hope that our software will be very popular and get sponsors
to develop it in the future.

The project has a very vast scope in the future. The project can be implemented on the intranet in
the future. The project can be updated in the near future as and when the requirement for the same
arises, as it is very flexible in terms of expansion. With the proposed software for database Space
Manager ready and fully functional, the client is now able to manage and hence run the entire work
in a much better, more accurate, and error-free manner.

The following are the future scope for the project:

➢ Data Integration: Explore the integration of external data sources such as criminal records
databases.

➢ User Interface Enhancement: Enhance the user interface of the database management system
to improve usability and accessibility for law enforcement personnel, enabling efficient data
entry, retrieval, and visualization of criminal information.

Dept of AIML 2023−24 Page 17


lOMoARcPSD|28011495

Crime Database Management System

➢ Compliance and Security: Enhance data security measures to ensure compliance with privacy
regulations and safeguard sensitive information stored in the database. Implement access
controls, encryption, and auditing mechanisms to protect against unauthorized access and data
breaches.

➢ Scalability and Performance Optimization: Continuously optimize the database system for
scalability and performance to accommodate growing volumes of data and user traffic.

➢ Feedback and Iterative Improvement: Solicit feedback from users and stakeholders to identify
areas for improvement and prioritize future enhancements to the database system. Adopt an
iterative development approach to continuously enhance functionality, usability, and
effectiveness based on user needs and evolving requirements.

Dept of AIML 2023−24 Page 18


lOMoARcPSD|28011495

Crime Database Management System

REFERENCES

1. Fundamentals of Database Systems, Ramez Elmasri and Shamkant B. Navathe, 7 7th


Edition, 2017, Pearson.
2. Streamlit tutorial on how to create database
3. DB2 project models and databases

Dept of AIML 2023−24 Page 1

You might also like