Professional Documents
Culture Documents
1003 (A1)
by
NALLAM THANMAYIE 19BIT0160
R KARAN 19BIT0163
BRUNDHA K 19BIT0357
1
DECLARATION
We the undersigned solemnly declare that the project report TAXI MANAGEMENT
SYSTEM is based our own work carried out during the course of our study under the
I. The work contained in the report is original and has been done by our
2
1 Introduction.......................................................................................01
2 Review 1 (Survey, Analysis).............................................................02
3 Review 2 (Design of Diagrams & Prototype Design).......................09
4 Review 3 (Development of Model)...................................................17
5 Conclusion........................................................................................39
6 References........................................................................................39
3
ABSTRACT
1
DATA COLLECTION
The taxi reservation system has TAXI,which has unique TAXI_NO which would be the key
Attribute uniquely used to identify the NAME OF THE
TAXI,MODEL_NAME,LICENSE_NO.
Also whether STORAGE for luggage is available or not, who is the MANUFACTURER,and
YEAR OF MANUFACTURER TYPE and gives us the details NO_OF SEATS available for the
passengers who book a drive. Also taxi management has a reservation system.
A collection of USERS. Each USER has a unique ID, PASSWORD, MOBILE NO and
can GIVE_RATINGS of the service provided by the drivers.
User can get the RESERVATION option which has PNR(unique attribute), STARTING
POINT, DESTINATION POINT, DATE OF JOURNEY, FARE,PREFERRED LANGUAGE,
TYPE OF
BOOKING which is more beneficial and time saving for passengers.
There are certain EMPLOYEES who works on taxi has NAME, ID(unique-attribute),
AGE, PHONE NO, DEPARTMENT, ADDRESS, SALARY.
TAXI uses a TRACKING system so is to make the passenger comfortable gives the information
about TAXI_NO, GEOLOCATION of the TAXI and PASSENGER, PHONE_NO (driver no,
passenger_no ,alternate number of the passenger), DRIVER_ID, DISTANCE, ESTIMATED,
ARRIVAL_TIME.
User can make PAYMENTS for booking the taxi has unique TRANSACTION_ID,
TAX, ACCOUNT_NO, BASE_FARE, FACILTY_FEE.
2
Data Requirement for Taxi management system:
1) Taxi_no Data stored: Taxi_no of each taxi
Constraint: Taxi_no is primary key and hence cannot be null, Name of taxi, Model
Name, License_No, Storage,year of manufacturer Type Data stored, No_of_seat Data
stored.
Constraints: The passenger table should have unique id for each tuple. Tabular form is
conventionally chosen, Passenger id cannot be NULL value, Passenger id can take only value
having data type as number and that too limited assigned value only,Passenger name can take
only value having data type as varchar and that too limited assigned value only (ex varchar(20)),
Passenger age can take only value having data type as number and that too limited assigned value
only (ex-age(3)).
Date of travel can take only value having data type as number and that too limited assigned
value only.Blood group can take the value of varchar2(5).
Reservation status can take only value having data type as
varchar and that too limited assigned value only (ex varchar(20)).
Constraints: The user table should have unique id for each tuple, Tabular form is
conventionally chosen.
Passenger id cannot be NULL value. User id can take onlyvalue having data type as number
and that too limited assigned value only.
Password can take only value having data type as varchar and that too limited assigned
value only(ex varchar(20)).
Mobile_No. can take only value having data type as number and that too limited assigned value
only (ex-number (10)).
Date of birth can take only value having data type as timestamp and that too limited
assigned value only.
Rating can take only value having data type as number and that too limited assigned value
only (ex number (10))
Constraints: The reservation table should have unique PNR for each tuple. Tabular form
is conventionally chosen.
Passenger id cannot be NULL value. PNR, fare can take only value having data type as
number and that too limited assigned value only.
Starting_point, type_of_booking and destination_point can take only value having data type
as varchar and that too limited assigned value only (ex varchar(20)).
3
No. of seats can take only value having data type as number and that too limited assigned
value only (ex-number(10)).preferred language can take the data type varchar2(20).
Date of journey can take only value having data type as timestamp and that too limited
assigned value only.
Constraints: The driver table should have unique driver_id for each tuple. Tabular form
is conventionally chosen.
Passenger id cannot be NULL value.
Driver_id, phone_no, rating can take only value having data type as number and that too
limited assigned value only.
6) Employee Data stored: Employee’s id, Employee’s Name, Employee’s Age (for
retirement purpose), Department number, Salary.
Constraints: The Employee table should have unique id for each tuple. Relational model
is conventionally chosen.
Tabular form is conventionally
chosen. Employee id cannot be NULL
value.
Employee id can take only value having data type as number and that too limited assigned
value only.
Employee name can take only value having data type as varchar and that too limited
assigned value only (ex-varchar(20)).
Employee age can take only value having data type as number and that too limited
assigned value only (ex-age(3)).
Department number can take only value having data type as number and that too
limited assigned value only.
Salary can take only value having datat ype as number and that too limited assigned value only.
Department number is a foreign key.
7) Payment Data stored: Taxi Id, base Fare, Tax Service, Other charge, Account_No.
Domain Constraint: base Fare, Tax_service and other charge can take only value having
data type as number and that too limited assigned value only.
4
Relational model is conventionally
chosen. Tabular form is conventionally
chosen.
Distance can take only value having data type as number and that too limited assigned
value only.
Arrival time, Departure time can only take data type timestamp.
Geolocation of taxi, Geolocation of passenger, Taxi id, day can take only value having data type
as varchar and that too limited assigned value only(ex-varchar(20)).
5
Functional Requirement for Taxi Management System:
1) Making sure availability of taxi of almost all type at all time. Taxi management system
should make sure that taxis could be made available to customers at all time for smooth
business. Availability of variety of taxis should also be ensured(3-seater,4-seater,6-seater).
6) Updating taxi location every 5 sec Once a travel is booked. The taxi management
system makes sure that passenger's get the live location of taxi every 5 sec. This facility is
continued till the travel is completed. Travel must be cancelled if passengers requests
cancellation. The reservation status of passenger should also be updated as per
cancellation or confirm booking.
7) Assigning work to each department and employee. The Management System should
make sure that employees like technical staffs, engineers and managers should be
appointed with a proper verification so that they could be helpful in providing facilities in a
desired manner. Employees at ground level like that for sanitation and cleanliness must
also be appointed in a different manner.
6
8) Good Communication System's Customer Care number helps customers 24*7. Hence
a good communication support system is required.
7
SCENARIOS
Updating
1) Drop location
2) Accordingly increase fare
3) Geo-location of cab and passenger
4) Passenger status
Insertion
1) Data for Taxi table
2) Data for User table
3) Data for passenger table
4) Data for driver table
5) Data for Reservation table
Retrieval
1) Details of Passenger
2) Details of Driver
3) Details of Taxi
4) Details of Tracking –> Geo-location of taxi with estimated arrival and departure time
5) Details of employee
6) Payment Receipt
7) Reservation Status and type of booking for the user
8) Department and address of employee who works for taxi management.
8
3. DESIGN
ER
DIAGRAM
9
RELATIONAL DATABASE SCHEMA
USER
USER_ID PASSWORD DOB MOBILE_NO GIVE_RATINGS TRANSACTION_ID
RESERVATION
PNR STARING DESTINATION FARE DOJ TYPE OF NO OF P_ID T_NO
POINT POINT BOOKING SEATS
PASSENGER
SERIAL_NO NAME AGE STATUS
PAYMENT
TRANSACTION_ID BASE_FARE TAX ACCOUNT_NO FACILITY_FEE USER
PAYMENT_ID
TAXI
TAXI_NO NAME MODEL_NAME LICENSE_NO STORAGE SEATS TYPE
TRACKING
DRIVER
1
EMPLOYEE
E_ID E_NAME SALARY ADDRESS EMAIL PHONE_NO DEPARTMENT AGE RATING SUPERVISOR_ID
PHONE_NO
TRACKING_TAXI_NO PHONE_NO
CONTAINS
PNR_NO SERIAL_NO
USES
TAXI_NO TRACKING_NO
DRIVES
DRIVER_ID TAXI_NO
WORKS_ON
EMPLOYEE_ID TAXI_NO
1
1
Normalisation
User
User_ID Password DOB Mobile_no Give_ratings Transaction_ID
dependencies.
In this relation, the transitive dependency is Transaction_ID → Give_ratings, to get rid of it we decompose this
relation R into:
R2 = (Transaction_ID, Give_ratings)
Transaction_ID Give_ratings
This relation is in BCNF since for every non-trivial FD A→B, A is the superkey.
Reservation
PNR Starting_ Destination_ Fare Date_of_ Type_of_ No_of_ Passenger Taxi_No Preferred_
Point Point Journey Booking Seats _ID Language
1
Functional Dependencies:
PNR → Starting_Point, Destination_Point, Date_of_Journey,
Passenger_ID PNR, Type_of_Booking → Fare, No_of_Seats, Taxi_No
Passenger_ID → Preferred_Language
Candidate Key is {PNR,
Type_of_Booking}
dependencies.
In relation R, the partial dependency is PNR → Starting_Point, Destination_Point,
Date_of_Journey, Passenger_ID, to get rid of it we decompose R into:
R4 = (Passenger_ID, Preferred_Language)
Passenger_ID Preferred_Language
This is also now in BCNF since for every non-trivial FD A→B, A is the superkey.
Payment
Transaction_ID Base_Fare Tax Account_No Facility_Fee User_Payment_ID
1
Candidate Key is {Transaction_ID}
1
The relation R is in 2NF since it doesn’t have any partial dependencies.
R2 = (User_Payment_ID, Account_No)
User_Payment_ID Account_No
R is also now in BCNF since for every non-trivial FD A→B, A is the superkey.
Tracking
Tracking_Taxi_ Geolocation_T Geolocation_ Driver_ID Departure_Time Estimated_Arrival_Time Distance
No axi Passenger
Functional Dependencies:
Tracking_Taxi_No → Geolocation_Taxi, Geolocation_Passenger, Driver_ID,
Departure_Time; Geolocation_Taxi, Geolocation_Passenger, Departure_Time → Distance;
Distance → Estimated_Arrival_Time;
Candidate Key is
{Tracking_Taxi_No}.
1
R3 = (Distance, Estimated_Arrival_Time)
1
Distance Estimated_Arrival_Time
TAXI
Taxi_ Model_Name Name License_No Year_of_Manufacture Storage Seats Type
No
Candidate key
is{Taxi_no}
R2 = (License_No, Name)
License_No Name
Now, R is also in BCNF since for every non-trivial FD A→B, A is the superkey.
1
4. DEVELOPMENT OF MODEL
User Table
Constraint
Data Inserted
2
Reservation Table
Data Inserted
2
Passenger Table
Data Inserted
2
Payment Table
Data Inserted
2
Taxi Table
Data Inserted
insert into taxi values('2001', 'abc', 'Swift', '12345', '2005', 'no', 4, 'compact');
insert into taxi values('2002', 'xyz', 'Alto', '54321', '2010', 'no', 4, 'compact');
insert into taxi values('2003', 'pqr', 'Nano', '98756', '2007', 'no', 4, 'compact');
insert into taxi values('2004', 'mno', 'Innova', '96541', '2015', 'yes', 8, 'SUV');
2
Taxi Tracking Table
Constraints
Data Inserted
insert into taxi_tracking values('2001', 'jkh', 'klj', 'D001', '5:00pm', '1hr', '7');
insert into taxi_tracking values('2002', 'pot', 'poy', 'D002', '6:30pm', '40mins', '5');
insert into taxi_tracking values('2003', 'ads', 'aps', 'D003', '2:00pm', '2hr', '13');
insert into taxi_tracking values('2004', 'lop', 'hop', 'D004', '9:00am', '1hr', '7');
2
Driver Table
Data Inserted
2
Employee Table
Data Inserted
2
Contains Table
create table contains(pnr number(5) not null, pass_id varchar2(8) not null);
Constraints
Data Inserted
2
Drives Table
Constraints
Data Inserted
create table reserves(user_id varchar2(8) not null, pnr number(5) not null);
Constraints
Data Inserted
3
Rating Table
create table rating(user_id varchar2(8) not null, driver_id varchar2(8) not null);
Constraints
Data Inserted
Before
2
After(Base_Fare of T003 changes from 500 to 400 after 20%
discount)
3
Phone no. Of Driver if only PNR is known
update driver
set ratings = ((select gives_rating from user_ where user_id
= 'U003') + ratings)/2
where driver_id = (select driver_id from rating where user_id
= 'U003');
3
Before
3
After(Ratings of D003 changes from 4 to 5)
3
Change starting point given user id
update reservation
set starting_point = 'Chennai'
where pnr = (select pnr from reserves where user_id = 'U004');
3
Before
3
After
update employee
set email = 'sam123@gmail.com'
where emp_name = (select driver_name from driver where
driver_id = 'D001')
3
Distance left given pnr
3
3
Conclusion:
This project helps the user to book a taxi by entering his address and other id information. This system keeps all the
Details of taxi booking and when coming to booking comes then he/she can check the system for available taxi and confirm
The booking if taxi is available on the booking date. This taxi management system is a very effective,efficient,reliable and
Economic web application from all aspects.
References:
1. Liu Yong. Information system analysis and design [M]. Science Press, 2002
2. Sa Shixuan, Wang Shan. Database system [M]. Higher Education Press, 2000
3. Liu Wentao. Visual Basic + Access database development and examples [M]. Tsinghua University Press, 2006
4. Liu Bingwen. Visual Basic programming tutorial [M]. Tsinghua University Press, 2006