Sie sind auf Seite 1von 25

PROJECT REPORT

ON

ONLINE CAB SYSTEM


DATABASE MANAGEMENT SYSTEM

Department of Information Technology


Faculty of Technology, Dharmsinh Desai University
College Road, Nadiad-387001
Year 2016-2017

DEVELOPED BY: GUIDED BY:

SHAH DISHANT(IT-106) Prof. R M RAVAL

SHAH RAJ(IT-111)
CERTIFICATE

This is to certify that Mr. DISHANT SHAH(IT-106) and Mr.


RAJ SHAH(IT-111) student of B.Tech–IT Semester V of
DHARAMSINH DESAI UNIVERSITY, NADIAD has
successfully completed his term project in subject DATABASE
MANAGEMENT SYSTEM during the academic year 2016-
2017.

Staff in Charge Head of Department


Date: Date:
Acknowledgement

This project being the first live one undertaken by us was an


unforgettable and educative experience. We take this opportunity to
thank all those who have generously helped us to give a proper shape to
our work.
Our sincerest appreciation must be extended to DDIT, Nadiad.
We also want to Thanks Faculties of our college; they have been very
kind & helpful to us.
We are thankful to Prof. Roshni M. Raval who had given a nice
guidance & support to us to fulfil and complete the project within
duration.
Finally, I would like to thank my Head of the Department Prof.
R.S.Chhajed for his constant guidance, encouragement and moral
support.

BY
DISHANT SHAH(IT-106)

RAJ SHAH(IT-111)
Contents of PROJECT REPORT

Content Page No.


1) Project Title 1
2) Certificate 2
3) Acknowledgement 3
4) System Overview 5
-- Current system
-- Objectives of the proposed system
5) E.R.Diagram 6
-- Entities
-- Relationships
--Mapping Constraints
6) Database Schema/Table Definition 7
-- Table Name
-- Field Name
-- Datatype
-- Field size
-- Constraint (e.g. autogenerated, primary key, foreign key)
-- Validation (e.g. not null, default value)
7) Implementation 15
-- Output

8) Conclusion 24
9) Bibliography 25
DESCRIPTION
The existence of online cab services has overcome the problems of transportation
services. For those who unable to buy their own car or vehicle, car rent services
give many benefits for them to travel for any purposes. With advanced in
technology, it creates great opportunities to implement web-based car rental system
which improves and enhances the online cab service operations. Data matching
technique applied in this web-based online cab system helps users to select the
suitable car to rent based on the important requirements. Besides that, web-based
system increases the effectiveness and efficiency of the online cab service
organization in order to run their business operations and management
E-R Diagram
O_ID O_NAME CONTACT

HIRES HEAD OWNS

CNAME
DEAL WITH VID

CNAME GENDER
CHID
VNAME
DRIVER CID CUSTOMER ADRESS VEHICLE
BOOKID VTYPE

PHONE COST
GENDER
STATUS
AGE
SALARY OID

DOB

SELECT PAYS SELECT

BILLID TAMT

CID

VID

BILLING

BIILDATE

DISCOUNT

DETAILS

BOOKID
AMOUNT

BILLIID
STATUS
BOOKING
BOOKDATE

DEPOSIT
SCHEMA DIAGRAM
Relational Tables
1) Customer
Column Name Dat a T ype Nullabl e Def ault Primar y Key
CID VARCHAR2(20) No - 1
CNAME VARCHAR2(20) No - -
GENDER VARCHAR2(1) Yes - -
ADDRESS VARCHAR2(30) No - -
EMAIL VARCHAR2(30) No - -
PHONE NUMBER Yes - -

2) Owner

Column Name Dat a T ype Nullabl e Def ault Primar y Key


OID VARCHAR2(10) No - 1
ONAME VARCHAR2(20) No - -
CONTACT VARCHAR2(30) Yes - -

3) Vehicles

Column Name Dat a T ype Nullabl e Def ault Primar y Key


VID VARCHAR2(10) No - 1
VTYPE VARCHAR2(10) No - -
VNAME VARCHAR2(10) No - -
STATUS VARCHAR2(2) Yes - -
READING NUMBER Yes - -
COST NUMBER No - -
OID VARCHAR2(5) Yes - -

4) Billing

Column Name Dat a T ype Nullabl e Def ault Primar y Key


BILLID VARCHAR2(10) No - 1
CID VARCHAR2(10) Yes - -
VID VARCHAR2(10) Yes - -
BILLDATE DATE No - -
DISCOUNT NUMBER Yes - -
TAMOUNT NUMBER No - -
ADVANCE NUMBER No - -

5) Book details
Column Name Dat a T ype Nullabl e Def ault Primar y Key
BOOKID VARCHAR2(10) No - 1
BILLID VARCHAR2(10) Yes - -
BOOKDATE DATE No - -
READING NUMBER No - -
DEPOSIT NUMBER Yes - -
DISCOUNTID VARCHAR2(10) Yes - -
AMOUNT NUMBER No - -
STATUS VARCHAR2(1) Yes - -

6) Discount

Column Name Dat a T ype Nullabl e Def ault Primar y Key


DID VARCHAR2(10) No - 1
DAMOUNT NUMBER No - -
CID VARCHAR2(10) No - -
CTYPE VARCHAR2(10) Yes - -
BILLID VARCHAR2(10) Yes - -

7) Driver
Column Name Dat a T ype Nullabl e Def ault Primar y Key
CHID VARCHAR2(10) No - 1
CHNAME VARCHAR2(20) No - -
BOOKID VARCHAR2(10) Yes - -
GENDER VARCHAR2(1) Yes - -
SALARY NUMBER No - -
DOB DATE No - -
AGE NUMBER Yes - -
PHONE NUMBER No - -
OID VARCHAR2(5) Yes - -
1. CREATE TABLE CUSTOMERS
CREATE TABLE CUSTOMERS

(CNAME VARCHAR2(20) NOT NULL,

CID VARCHAR2(20) PRIMARY KEY,

GENDER VARCHAR(1),

ADDRESS VARCHAR2(30) NOT NULL,

EMAIL VARCHAR2(30) NOT NULL UNIQUE,

PHONE NUMBER);

2. INSERT DATA INTO CUSTOMERS


INSERT INTO CUSTOMERS

VALUES('AMAL PATEL','C01','M','GUNJAN VAPI','aP@gmail.com',0);

INSERT INTO CUSTOMERS

VALUES('DHRUVIL PATEL','C02','M','BALESHWAR SURAT','dp@gmail.com',0);

INSERT INTO CUSTOMERS

VALUES('DEEP BHATU','C03','M','THALTEJ AHMEDABAD','db@gmail.com',0);

INSERT INTO CUSTOMERS

VALUES('GOKUL NATH','C04','M','ANDHERI E MUMBAI','gn@aol.com',0);

INSERT INTO CUSTOMERS

VALUES('LAKSH NAYAK','C05','M','VRINDAVAN SILVASSA','ln@yahoo.com',0);

INSERT INTO CUSTOMERS

VALUES('PRATIK SOLANKI','C06','M','SATELLITE
AHMEDABAD','ps@gmail.com',0);

INSERT INTO CUSTOMERS

VALUES('SAGAR PANCHAL','C07','M','JUHU MUMBAI','sp@gmail.com',0);


3. CREATE TABLE VEHICLES
CREATE TABLE VEHICLES

(VID VARCHAR2(10) PRIMARY KEY,

VTYPE VARCHAR2(10) NOT NULL,

VNAME VARCHAR2(10) NOT NULL,

STATUS VARCHAR2(2),

READING NUMBER,

COST NUMBER NOT NULL

OID VARCHAR2(5)

FOREIGN KEY(OID) REFERENCES OWNER(OID));

4. INSERT VALUES INTO VEHICLES


INSERT INTO VEHICLES

VALUES('V01','SEDAN','HONDACIVIC','A',25000,10,1);

INSERT INTO VEHICLES

VALUES('V02','HATCHBACK','HYUNDAI i20','A',40000,8,1);

INSERT INTO VEHICLES

VALUES('V03','SUV','RANGE ROVER SPORT','A',1000,25,1);

INSERT INTO VEHICLES

VALUES('V04','LUV','BMW X1','A',15000,15,1);

INSERT INTO VEHICLES

VALUES('V05','SEDAN','SWIFT DZIRE','A',45000,8,1);

INSERT INTO VEHICLES

VALUES('V06','SEDAN','MERCEDES CLS','A',5000,20,1);
5. CREATE TABLE DRIVERS
CREATE TABLE DRIVERS

( CHNAME VARCHAR2(20) NOT NULL,

CHID VARCHAR2(10) PRIMARY KEY,

BOOKID VARCHAR2(10),

GENDER VARCHAR2(1),

SALARY NUMBER NOT NULL,

DOB DATE NOT NULL,

AGE NUMBER,

PHONE NUMBER NOT NULL

FOREIGN KEY(BOOKID) REFERENCES

BOOKDETAILS(BOOKID)

OID VARCHAR2(5)

FOREIGN KEY(OID) REFERENCES OWNER(OID));

6. INSERTING VALUES INTO DRIVERS


INSERT INTO DRIVERS VALUES

('NARAYANKARTHIKEYAN','CH001','BK01','M','20000','

05/OCT/1974',40,9624077772,1);

INSERT INTO DRIVERS VALUES

('KARUNCHANDOK','CH002','BK03','M','20000','05/NOV/1984',30,814
150772,1);

INSERT INTO DRIVERS


VALUES('STIG','CH003','BK04','M','200000','26/NOV/1990',24,8151601
231,1);

7.CREATE TABLE BILLING


CREATE TABLE BILLING

(BILLID VARCHAR2(10) PRIMARY KEY,

CID VARCHAR2(10),

VID VARCHAR2(10), BILLDATE DATE NOT NULL,

DISCOUNT NUMBER,

TAMOUNT NUMBER NOT NULL,

ADVANCE NUMBER NOT NULL,

CONSTRAINT CID_FK FOREIGN KEY (CID) REFERENCES

CUSTOMERS(CID),

CONSTRAINT VID_FK FOREIGN KEY (VID) REFERENCES

VEHICLES(VID) );

8.INSERT VALUES IN BILLING


INSERT INTO BILLING

VALUES('BL01','C01','V01','15/AUG/2015',100,1000,20);

INSERT INTO BILLING

VALUES('BL02','C02','V04','27/AUG/2015',400,4000,80);

INSERT INTO BILLING

VALUES('BL03','C05','V05','17/AUG/2015',100,2000,20);

INSERT INTO BILLING

VALUES('BL04','C03','V03','29/AUG/2015',1000,9000,0);
9.CREATE TABLE BOOKDETAILS
CREATE TABLE BOOKDETAILS

BOOKID VARCHAR2(10) PRIMARY KEY,

BILLID VARCHAR2(10),

BOOKDATE DATE NOT NULL,

READING NUMBER NOT NULL,

DEPOSIT NUMBER,

DISCOUNTID VARCHAR2(10),

AMOUNT NUMBER NOT NULL,

STATUS VARCHAR(1)

FOREIGN KEY(BILLID) REFERENCES BILLING(BILLID) );

10.INSERT VALUES IN BOOKDETAILS


INSERT INTO BOOKDETAILS

VALUES('BK01','BL01','14/AUG/2015',25000,1000,'D01',1000,'Y');

INSERT INTO BOOKDETAILS

VALUES('BK02','BL02','24/AUG/2015',15000,1000,'D02',4000,'Y');

INSERT INTO BOOKDETAILS

VALUES('BK03','BL03','14/AUG/2015',45000,1000,'D03',2000,'Y');

INSERT INTO BOOKDETAILS

VALUES('BK04','BL04','24/AUG/2015',1000,1000,'D04000,'Y');

11. CREATE TABLE OWNER


CREATE TABLE OWNER
(OID VARCHAR2(10) PRIMARY KEY,

ONAME VARCHAR2(20) NOT NULL,

CONTACT VARCHAR2(30));

12. INSERT VALUES INTO OWNERS


INSERT INTO OWNER

VALUES('1','DV CABS','helpcentre@dvcabs.com');

13. CREATE TABLE DISCOUNT


CREATE TABLE DISCOUNT

(DID VARCHAR2(10) PRIMARY KEY,

DAMOUNT NUMBER NOT NULL,

CID VARCHAR2(10) NOT NULL,

CTYPE VARCHAR2(10)

BILLID VARCHAR2(10),

FOREIGN KEY(BILLID) REFERENCES BILLING(BILLID)

FOREIGN KEY(CID) REFERENCES CUSTOMERS(CID));

14. INSERT VALUES IN DISCOUNT


INSERT INTO DISCOUNT

VALUES('D01',100 ,'C01', 'FRESH','BL01');

INSERT INTO DISCOUNT

VALUES('D02',400 ,'C02', 'SILVER’,'BL02');

INSERT INTO DISCOUNT

VALUES('D03',100 ,'C05', 'FRESH','BL03');

INSERT INTO DISCOUNT

VALUES('D04',1000 ,'C03', 'PLATINUM','BL04');


15. PROCEDURE TO GIVE QUANTITY OF AN ATTRIBUTE
DECLARE

TOTALC NUMBER;

TOTALV NUMBER;

TOTALB NUMBER;

TOTALCH NUMBER;

PROCEDURE TOTCUSTOMERS IS

BEGIN

SELECT COUNT(*) INTO TOTALC

FROM CUSTOMERS;

DBMS_OUTPUT.PUT_LINE('Total no. of Customers: ' || TOTALC);

SELECT COUNT(*) INTO TOTALV

FROM VEHICLES;

DBMS_OUTPUT.PUT_LINE('Total no. of Vehicles: ' || TOTALV);

SELECT COUNT(*) INTO TOTALB

FROM BILLING;

DBMS_OUTPUT.PUT_LINE('Total no. of Bookings: ' || TOTALB);

SELECT COUNT(*) INTO TOTALCH

FROM DRIVERS;

DBMS_OUTPUT.PUT_LINE('Total no. of Drivers: ' || TOTALCH);

END;

BEGIN
TOTCUSTOMERS();

END;

16. EXCEPTION FOR CUSTOMER NOT FOUND


DECLARE

c_id CUSTOMERS1.CID%type;

c_name CUSTOMERS.CNAME%type;

c_addr CUSTOMERS.ADDRESS%type;

c_gender CUSTOMERS.GENDER%TYPE;

BEGIN

c_id:='1';

SELECT C.CNAME, C.ADDRESS, C.GENDER INTO c_name, c_addr,


c_gender

FROM CUSTOMERS C

WHERE CID = c_id;

DBMS_OUTPUT.PUT_LINE ('Name: '|| c_name);

DBMS_OUTPUT.PUT_LINE ('Address: ' || c_addr);


DBMS_OUTPUT.PUT_LINE ('Gender: '|| c_gender);

EXCEPTION

WHEN no_data_found THEN

dbms_output.put_line('No such customer!');

END;

17. GREETING PROCEDURE

CREATE OR REPLACE PROCEDURE WELCOME

AS

BEGIN

DBMS_OUTPUT.PUT_LINE('WELCOME TO DV CABS!');

END;

EXECUTING PROCEDURE

BEGIN

WELCOME;

END;

18. AUTO INCREMENT


TRIGGER TO AUTOINCREMENT CUSTOMER ID

CREATE SEQUENCE DINC_CID;


CREATE OR REPLACE TRIGGER CID_INCD

BEFORE INSERT ON CUSTOMERS

FOR EACH ROW

BEGIN

SELECT DINC_CID.NEXTVAL

INTO :NEW.CID

FROM DUAL;

END;

TRIGGER TO AUTOINCREMENT VEHICLE ID

CREATE SEQUENCE DINC_VID;

CREATE OR REPLACE TRIGGER VID_INCD

BEFORE INSERT ON VEHICLES

FOR EACH ROW

BEGIN

SELECT DINC_VID.NEXTVAL

INTO :NEW.VID

FROM DUAL;

END;

TRIGGER TO AUTOINCREMENT BILL ID

CREATE SEQUENCE DINC_BILLID;

CREATE OR REPLACE TRIGGER BILLID_INCD

BEFORE INSERT ON BILLING

FOR EACH ROW


BEGIN

SELECT DINC_BILLID.NEXTVAL

INTO :NEW.BILLID

FROM DUAL; END;

TRIGGER TO AUTOINCREMENT BOOKING ID

CREATE SEQUENCE DINC_BOOKID;

CREATE OR REPLACE TRIGGER BOOKID_INCD

BEFORE INSERT ON BOOKDETAILS

FOR EACH ROW

BEGIN

SELECT DINC_BOOKID.NEXTVAL

INTO :NEW.BOOKID

FROM DUAL;

END;

19. CURSOR TO PRINT BOOKING DETAILS


CREATE VIEW CURSOR2

AS

SELECT B.CID,C.CNAME, V.VNAME, B.TAMOUNT

FROM CUSTOMERS C, VEHICLES V, BILLING B

WHERE C.CID=B.CID AND V.VID=B.VID;

CREATE OR REPLACE PROCEDURE GET_DETAILS(ID IN VARCHAR2) IS DUMMYNO


VARCHAR2(10);

CURSOR DET IS

SELECT CNAME, VNAME, TAMOUNT

FROM CURSOR2

WHERE CID=ID;
NAMEOFC CURSOR2.CNAME%TYPE;

NAMEOFV CURSOR2.VNAME%TYPE;

AMOUNTT CURSOR2.TAMOUNT%TYPE;

BEGIN

OPEN DET;

IF DET%ISOPEN THEN

LOOP

FETCH DET INTO NAMEOFC,NAMEOFV,AMOUNTT;

EXIT WHEN DET%NOTFOUND;

IF DET%FOUND THEN

DBMS_OUTPUT.PUT_LINE('NAME OF CUSTOMER= '||NAMEOFC);

DBMS_OUTPUT.PUT_LINE('NAME OF VEHICLE= '||NAMEOFV);

DBMS_OUTPUT.PUT_LINE('TOTAL AMOUNT= '||AMOUNTT);

END IF;

END LOOP;

ELSE

DBMS_OUTPUT.PUT_LINE('OOPS! SORRY.');

END IF;

CLOSE DET;

END;
20.FUNCTION TO CALCULATE TOTAL AMOUNT
DECLARE

VEHID NUMBER;

METER NUMBER;

COST NUMBER;

T_AMT NUMBER;

V_ID NUMBER;

FUNCTION TOT_AMT(VEHID IN NUMBER)

RETURN NUMBER IS

TOTAL_AMOUNT NUMBER;

BEGIN

V_ID:=VEHID;

SELECT READING INTO METER

FROM VEHICLES1

WHERE VID=VEHID;

SELECT COST INTO COST

FROM VEHICLES1

WHERE VID=VEHID;

TOTAL_AMOUNT:=METER*COST;

UPDATE BILLING1

SET TAMOUNT=TOTAL_AMOUNT
WHERE VID=VEHID;

RETURN TOTAL_AMOUNT;

END;

BEGIN

T_AMT:=TOT_AMT('3');

DBMS_OUTPUT.PUT_LINE('TOTAL AMOUNT IS '||T_AMT);

END;
CONCLUSION

OUR PROJECT ON CAR RENTAL SYSTEM IS FOR


COMPUTERIZING IN A ONLINE CAB COMPANY. THE SOFTWARE
IS VERY EASY TO USE AND CALCULATE EFFICIENTLY ALL THE
TERMS MENTIONED IN A PROJECT. NOW OUR PL/SQL
FUNDAMENTALS AND LOGICS ARE VERY STRONG FOR
DATABASE.

Das könnte Ihnen auch gefallen