Dbms Report Final
Dbms Report Final
Submitted to:
Submitted by:
2026
Criminal Database and Crime Analysis DBMS Project (CS254)
Contents
1 Introduction 2
1.1 Background of the Project . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Scope and Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.5 Overview of the System . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Literature Survey 3
2.1 Review of Existing Systems . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Identified Research Gaps . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 System Analysis 4
3.1 Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 Non-Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . . 6
4 System Design 7
4.1 Entity Relationship (ER) Diagram . . . . . . . . . . . . . . . . . . . . . 7
4.2 Relational Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.3 Normalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
7 References 23
1
Criminal Database and Crime Analysis DBMS Project (CS254)
1. Introduction
1.1 Background of the Project
Law enforcement agencies in India and worldwide rely heavily on maintaining accurate
records of crimes, criminals, suspects, victims, and evidence. Traditionally, these records
have been maintained through paper-based systems or isolated digital files spread across
multiple departments. This fragmented approach leads to duplication of data, loss of
critical records, difficulty in tracking repeat offenders, and delayed response times during
investigations.
With the rapid advancement of digital technology, there is a growing need for central-
ized, structured, and secure systems that can store, manage, and analyze criminal data
efficiently. Government initiatives such as India’s Crime and Criminal Tracking Network
and Systems (CCTNS) project have already demonstrated the value of digitizing police
station operations at a national level.
1.3 Objectives
• Develop a centralised web application for digitally registering and managing crime
records and FIRs using [Link] and [Link].
• Maintain criminal profiles and link suspects to their associated crimes, arrests, and
case histories in a structured MySQL database.
• Enable investigation teams to create and manage case files, assign officers, and track
case progress from opening to closure.
• Provide interactive crime analysis dashboards and GIS-based crime maps for identi-
fying trends, hotspots, and repeat offenders.
• Implement secure role-based access control using JWT authentication, ensuring only
authorised users can access sensitive crime data.
2
Criminal Database and Crime Analysis DBMS Project (CS254)
• The system includes GIS-based crime mapping using latitude and longitude data
stored for every crime location.
• Crime analysis reports including crime trends, area-wise statistics, repeat offenders,
and officer performance are generated from the database.
• The system is designed for use within a single police jurisdiction or department.
Limitations:
• The system does not currently integrate with external national databases such as
CCTNS in real time.
• Facial recognition or biometric identification of criminals and suspects is not imple-
mented.
• The GIS crime map is based on stored coordinates and does not use live GPS tracking
of officers or suspects.
• The system is a prototype and has not been tested at the scale of a real police
department with thousands of concurrent users.
• Mobile application support is not included in the current version.
2. Literature Survey
2.1 Review of Existing Systems
Database Management for Criminal Records
Elmasri and Navathe (2016) provide essential principles of relational database design,
including ER modelling, normalisation, and query optimisation applicable to criminal
record systems. Silberschatz, Korth, and Sudarshan (2019) extend this work with trans-
action management, concurrency control, and access security crucial for sensitive law
enforcement data. MySQL 8.0, documented by Oracle (2023), offers stored procedures,
triggers, and role-based access control well suited for criminal databases. Together, these
works establish the theoretical and practical foundation for structuring entities like crim-
inals, FIRs, cases, and evidence. Proper database design ensures data consistency, in-
tegrity, and efficient retrieval across large criminal record sets.
3
Criminal Database and Crime Analysis DBMS Project (CS254)
3. System Analysis
3.1 Functional Requirements
1. User Authentication and Access Control
• The system shall allow users to register and log in using email and password.
4
Criminal Database and Crime Analysis DBMS Project (CS254)
• The system shall issue a JWT token on successful login and use it to authenticate
all subsequent API requests.
• Access to modules shall be restricted based on the user’s role (Admin, Officer,
or Civilian).
2. Crime Record Management
• The system shall allow officers to register new crime incidents (FIRs) with details
including crime type, location, date, time, description, and status.
• The system shall allow filtering and searching of crime records by type, severity,
status, date, and location.
• The system shall allow updating the status of a crime (Open, Under Investiga-
tion, Closed).
3. Criminal Profile Management
• The system shall allow creation and management of criminal profiles with per-
sonal details, photo, and current status.
• The system shall link criminals to their committed crimes and complete legal
history.
4. Suspect and Victim Management
• The system shall allow recording suspects and linking them to specific crimes
with investigation notes.
• The system shall allow recording victim details and linking them to crimes with
injury level and statements.
5. Arrest and Evidence Management
• The system shall record arrest details including date, location, charge, and bail
status, linked to criminals, crimes, and officers.
• The system shall allow logging evidence for each crime with type, description,
collection details, and storage location.
6. Officer Management
• The system shall maintain officer profiles with badge number, rank, and depart-
ment.
• The system shall allow assigning officers to crimes and tracking case load per
officer.
7. Crime Mapping
• The system shall store latitude and longitude for every crime location.
• The system shall display an interactive GIS-based map with crime location mark-
ers filterable by area, type, and date.
8. Crime Analysis and Reporting
• The system shall display a dashboard with summary statistics for quick overview.
5
Criminal Database and Crime Analysis DBMS Project (CS254)
6
Criminal Database and Crime Analysis DBMS Project (CS254)
4. System Design
4.1 Entity Relationship (ER) Diagram
Figure 1 shows the Entity-Relationship diagram for the entire schema, illustrating all
entities, their attributes, and the relationships between them.
7
Criminal Database and Crime Analysis DBMS Project (CS254)
8
Criminal Database and Crime Analysis DBMS Project (CS254)
List of Tables
1. CRIME — Central table storing crime details including location, type, date/time,
description, status, and estimated damage.
2. CRIMINAL — Personal profiles of known criminals with name, DOB, gender, na-
tionality, address, photo, and status.
3. SUSPECT — Individuals under suspicion, linked to crimes via CRIME_SUSPECT.
4. VICTIM — Personal details of crime victims, linked via CRIME_VICTIM.
5. OFFICER — Profiles of law enforcement officers with badge number, rank, and
department.
6. OFFICER_RANK — Available ranks with access levels controlling permissions.
7. LOCATION — Full address data including GPS coordinates for every referenced
location.
8. CRIME_TYPE — Crime categories with severity level and description.
9. EVIDENCE — Evidence collected per crime with type, collection details, and stor-
age location.
9
Criminal Database and Crime Analysis DBMS Project (CS254)
10. ARREST — Arrest records linking criminals, crimes, and arresting officers.
11. CRIMINAL_CRIME_HISTORY — Complete legal and sentencing history of
each criminal per crime.
12. USER — Login credentials and role information for all system users.
13. USER_REPORTED_CRIME — Public crime reports with status and reviewing
officer.
14. CRIMINAL_CRIME — Junction: resolves Criminal ↔ Crime (M:N).
15. CRIME_SUSPECT — Junction: resolves Crime ↔ Suspect (M:N).
16. CRIME_VICTIM — Junction: resolves Crime ↔ Victim (M:N).
17. OFFICER_CRIME — Junction: resolves Officer ↔ Crime (M:N).
# Table References
1 OFFICER OFFICER_RANK
2 USER OFFICER
3 CRIME LOCATION
4 CRIME CRIME_TYPE
5 CRIME USER
6 EVIDENCE CRIME
7 EVIDENCE OFFICER
8 ARREST CRIMINAL
9 ARREST CRIME
10 ARREST OFFICER
11 ARREST LOCATION
12 CRIMINAL_CRIME_HISTORY CRIMINAL
13 CRIMINAL_CRIME_HISTORY CRIME
14 USER_REPORTED_CRIME USER
15 USER_REPORTED_CRIME OFFICER
16 CRIME_SUSPECT CRIME
17 CRIME_SUSPECT SUSPECT
18 CRIME_VICTIM CRIME
19 CRIME_VICTIM VICTIM
20 OFFICER_CRIME CRIME
21 OFFICER_CRIME OFFICER
22 CRIMINAL_CRIME CRIME
23 CRIMINAL_CRIME CRIMINAL
24 SUSPECT LOCATION
25 VICTIM LOCATION
26 CRIMINAL LOCATION
10
Criminal Database and Crime Analysis DBMS Project (CS254)
Entity Attributes
CRIMINAL criminal_id (PK), first_name, last_name,
date_of_birth, gender, nationality, address_id
(FK), photo_url, status
CRIME_TYPE crime_type_id (PK), type_name,
severity_level, crime_description
LOCATION location_id (PK), address1, address2,
address3, district, city, state, pincode, country,
latitude, longitude
OFFICER officer_id (PK), officer_rank (FK),
first_name, last_name, dob, department,
contact
CRIME crime_id (PK), location_id (FK),
crime_type_id (FK), reported_by (FK),
crime_date, crime_time, description, status,
damage_estimate
ARREST arrest_id (PK), criminal_id (FK), crime_id
(FK), officer_id (FK), arrest_date,
arrest_location_id (FK), charge, bail_status,
arrest_time
EVIDENCE evidence_id (PK), crime_id (FK),
evidence_type, description, collected_date,
collected_by (FK), storage_location,
collected_time
VICTIM victim_id (PK), first_name, last_name,
date_of_birth, gender, contact_number,
address_id (FK)
CRIME_VICTIM crime_id (FK), victim_id (FK), injury_level,
statement
SUSPECT suspect_id (PK), first_name, last_name,
date_of_birth, gender, contact_number,
address_id (FK), photo_url, description,
status
CRIME_SUSPECT crime_id (FK), suspect_id (FK),
added_date, notes
CRIMINAL_CRIME_HISTORY history_id (PK), criminal_id (FK), crime_id
(FK), verdict, sentence_type,
sentence_duration, prison_name,
imprisonment_date, release_date,
parole_status, notes
USER user_id (PK), officer_id (FK), username,
password_hash, is_active, created_at,
user_type, email
11
Criminal Database and Crime Analysis DBMS Project (CS254)
Entity Attributes
OFFICER_CRIME crime_id (FK), officer_id (FK), officer_role
USER_REPORTED_CRIME report_id (PK), user_id (FK), reported_at,
report_status, rejection_reason, reviewed_by
(FK), reviewed_at, notes
CRIMINAL_CRIME crime_id (FK), criminal_id (FK),
criminal_role
OFFICER_RANK rank_id (PK), rank_name, access_level
4.3 Normalization
The database schema is normalised progressively through the three normal forms to
eliminate redundancy and ensure data integrity.
12
Criminal Database and Crime Analysis DBMS Project (CS254)
Technology Purpose
[Link] Frontend UI with functional components and
Hooks
React Router Client-side page navigation
Axios HTTP requests from frontend to backend API
Tailwind CSS Responsive UI styling
[Link] Backend JavaScript runtime environment
[Link] RESTful API framework
MySQL Relational database management system
JWT Token-based authentication and session
management
[Link] Password hashing before database storage
Multer File upload middleware for photos and evidence
Express Validator Input validation and sanitisation
CORS Cross-origin resource sharing configuration
Postman API endpoint testing
Git & GitHub Version control and collaborative development
VS Code Development environment
13
Criminal Database and Crime Analysis DBMS Project (CS254)
14
Criminal Database and Crime Analysis DBMS Project (CS254)
15
Criminal Database and Crime Analysis DBMS Project (CS254)
16
Criminal Database and Crime Analysis DBMS Project (CS254)
FLUSH PRIVILEGES ;
Figure 4: Landing Page — Hero section with system title, stats (17 tables, 26 relation-
ships, 3NF), and entry buttons
17
Criminal Database and Crime Analysis DBMS Project (CS254)
Figure 5: Landing Page — Features section showing all major system modules
Figure 6: Login Page — JWT-authenticated sign-in with role display (Admin, Officer,
Investigator, Analyst)
18
Criminal Database and Crime Analysis DBMS Project (CS254)
Figure 7: Registration Page — Two-step account creation form with role selection and
Officer ID linking
Figure 8: Main Dashboard — Live summary statistics (Total Crimes, Criminals, Arrests,
Evidence, Suspects, Victims) fetched from MySQL
19
Criminal Database and Crime Analysis DBMS Project (CS254)
Figure 9: GIS Crime Map — Interactive [Link] map displaying crime location markers
loaded from the LOCATION table (latitude/longitude)
Figure 10: FIR Reports Page — Admins can view all submitted reports from all users;
civilians can only view their own reports (role-based filtering)
20
Criminal Database and Crime Analysis DBMS Project (CS254)
Figure 11: Officer Management Page — View all officers with badge number, name, rank,
department, and contact. Admin users can add new officers
Figure 12: Arrest Records Page — Searchable and filterable arrest records with officer
name, crime type, date/time, and incident details
21
Criminal Database and Crime Analysis DBMS Project (CS254)
Figure 13: Crime Records Page — All registered crimes with type, date, time, location,
linked criminals and officers. Clicking a row opens the detailed crime view
Figure 14: Register FIR Page — Any user can file a First Information Report. The report
is reviewed by an officer; once validated, it is added to Crime Records and officers are
assigned for investigation
22
Criminal Database and Crime Analysis DBMS Project (CS254)
The database schema, consisting of 17 tables and 26 foreign key relationships normalised
to 3NF, provides a robust foundation for storing and retrieving crime-related data with
full referential integrity. The system supports role-based access control through JWT au-
thentication, manages complex many-to-many relationships through junction tables, and
provides analytical capabilities through structured SQL queries and a reporting dash-
board.
Key modules successfully implemented include crime record management, criminal pro-
filing, suspect and victim tracking, arrest and evidence management, officer assignment,
GIS-based crime mapping, and crime analysis reporting.
6.2 Limitations
• The system has not been tested at production scale with thousands of concurrent
users.
• Real-time integration with national databases such as CCTNS is not implemented.
• The GIS crime map uses static coordinates and does not support live tracking.
• Mobile application support is not available in the current version.
• Advanced features such as facial recognition, biometric identification, and predictive
crime modelling are outside the current scope.
7. References
1. Ramez Elmasri and Shamkant B. Navathe, Fundamentals of Database Systems, 7th
Edition, Pearson Education, 2016.
23
Criminal Database and Crime Analysis DBMS Project (CS254)
24