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

Database Project Proposal Final

The document describes a railway management system project that aims to develop a database management system to streamline railway operations. It covers requirements, design including ERD and database schema, implementation plan using MySQL, sample queries, security measures using RBAC, and a testing plan.

Uploaded by

b-26932
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Database Project Proposal Final

The document describes a railway management system project that aims to develop a database management system to streamline railway operations. It covers requirements, design including ERD and database schema, implementation plan using MySQL, sample queries, security measures using RBAC, and a testing plan.

Uploaded by

b-26932
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Submitted To: Sir Rizwan

Submitted By: M.Taimoor B-26932.


Huzaifa Ammad B-26890.
Project Title:
Employee Management System

Table of Contents
• Introduction
• Requirements Analysis
• System Design
• Database Design
• Implementation Plan
• SQL Query Code
• Security Measures
• Testing Plan
• Conclusion
• References
• Appendices

Introduction:

Project Description:
The Railway Management System DBMS project aims to develop a comprehensive database
management system to streamline and enhance the operational efficiency of railway services.
Objectives:
i. To automate and improve the efficiency of train scheduling and management.
ii. To facilitate a seamless and secure ticket booking process for passengers.
iii. To manage passenger information efficiently and ensure data integrity.
iv. To provide real-time updates and notifications to passengers regarding train schedules and
any changes.

Functional Requirements:
Train Management.
Schedule Management.
Ticket Booking System.
Passenger Management.
Non-Functional Requirements:
Performance.
Security.
Usability.
Reliability.

Entity-Relationship Diagram (ERD):

Entities: Employees, Departments.


Relationships: Each employee belongs to one department; a department can have multiple
employees.
Context Diagram: Show interaction between users and the system.
Level-1 Diagram: Detailed data flow between different components.
Class Diagrams (if object-oriented): Show relationships between classes like Train, Ticket, etc.
Database Schema Diagram:
Detailed structure of tables, columns, data types, and relationships.
Database Design
List of Tables:
Train: Train_id, Train_name, Train_type, etc.
Passenger: Passenger_id, Passenger_name, etc.
Table Columns and Descriptions:
Ticket: Ticket_id (PK), Ticket_name, seat_number(not null), passenger_id(FK), etc.
Ticket_Examiner: examiner_id (PK), examiner_name, etc.
Normalization: Steps to ensure tables are in 3NF.
Remove repeating groups.
Ensure no partial dependencies.
Remove transitive dependencies.
Keys and Indexes:
Primary Keys: Train_id in Train, Ticket_number in Ticket.
Foreign Keys: passenger_id in passenger referencing ticket_number in ticket.
Indexes: Create indexes on commonly queried columns.
Implementation Plan
Tools and Technologies:
Database: MySQL or PostgreSQL
Development: SQL, Python (for scripting), any database management tool.

Creating Tables:
CREATE TABLE Train (
train_id INT PRIMARY KEY AUTO_INCREMENT,
train_name VARCHAR(100) NOT NULL,
train_type VARCHAR(50) NOT NULL
);

CREATE TABLE Passenger (


passenger_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
age INT NOT NULL,
gender VARCHAR(10) NOT NULL,
contact_info VARCHAR(100)
);

CREATE TABLE Ticket (


ticket_id INT PRIMARY KEY AUTO_INCREMENT,
train_id INT,
passenger_id INT,
seat_number VARCHAR(10),
booking_date DATETIME,
fare DECIMAL(10, 2),
FOREIGN KEY (train_id) REFERENCES Train(train_id),
FOREIGN KEY (passenger_id) REFERENCES Passenger(passenger_id)
);

CREATE TABLE Ticket_Examiner (


examiner_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
contact_info VARCHAR(100)
);

Query to Display Last Name, Department Number, and Department Name for All Employees:

SELECT
Ticket.ticket_id,
Passenger.name AS passenger_name,
Passenger.age,
Passenger.gender,
Passenger.contact_info,
Train.train_name,
Train.train_type,
Ticket.seat_number,
Ticket.booking_date,
Ticket.fare
FROM
Ticket
JOIN
Passenger ON Ticket.passenger_id = Passenger.passenger_id
JOIN
Train ON Ticket.train_id = Train.train_id;
Security Measures
User Roles and Permissions:
User Roles and Permissions
Role-Based Access Control (RBAC):
Define specific roles such as Admin, Ticket Examiner, and Passenger.
Assign permissions based on roles to ensure users have access only to the data and functionalities
necessary for their role.
Testing Plan
Test Cases:
I. Verify that new trains can be added successfully.
II. Test deletion of train records.
III. Verify the creation of new train schedules.
IV. Test booking tickets for different trains.
Conclusion
Summary:
The Railway Management System DBMS is designed to streamline and enhance the operational
efficiency of railway services by managing critical aspects such as train schedules, ticket bookings,
passenger information, and real-time updates. This system provides a comprehensive solution for both
passengers and railway administrators, offering functionalities to manage trains, schedules, tickets,
passengers, and ticket examiners efficiently.

You might also like