Sei sulla pagina 1di 6

TRAINS INFORMATION

This set of sample tables is used to provide information about trains, stations where trains stop
and passengers.
The following are the table used in this.
TRAINS table
Contains information about trains.
Name DataType Description Constraints
Train
No.
numeric(4) Train Number primary key
Name varchar2(20) Train Name Not Null
Froms varchar2(20) Starting station -
Tos varchar2(20) Destination station -
Type char(1) Type of train 'p'- passenger, 'e' -express,'s'-superfast Check
Freq varchar2(6)
On which days the train runs. If it is 'D',it means train runs
daily. Otherwise numbers realted to weeks on which train
runs are placed. For example, 15 means Sunday(1) and
Thursday (5)
-
TRAINSTATUS
Contains information about berths that are available in various classes.
Name DataType Description Constraints
Train No. numeric(4) Train Number Forign key - references trains.trainno
JDate Date Journey date -
Class char(2) Travelling Class -
TotBerths numeric(4) Total No. of Berths -
AvaBerths numeric(4) Available Berths -
STATIONS
Contains information about at what time trains reach stations and stay for how much time.
Name DataType Description Constraints
Train
No.
numeric(4) Train Number
Foreign key
(Trains.trainno),pkey
Station varchar2(20) Station Name -
Haltno numeric(2) Halting No -
Arrtime char(4) Arrival Time -
Depttime char(4) Depacture Time -
Nomin numeric(2)
How many mintues the train stays at
the station
-
PASSENGERS
Contains information about passengers.
Name DataType Description Constraints
PNR no. numeric(5)
A unique number to identifiy each
passenger
Primary key
Train
No
numeric(4) Train Number
Foreign
Key(Trains.trainno)
Name varchar2(20) Passenger name -
Age numeric(3) Passenger age -
JDate date Journey Date -
Class char(2) Traveling class -
Coachno char(3) Coach number -
Berthno char(2) Berth Number -
Gender char(1) Gender - M/F -
SQL Commands to create tables
The following sql commands can be used to create tables related to this applicaion.
REM ******* Drop all tables first *************

DROP TABLE PASSENGERS CASCADE CONSTRAINTS;
DROP TABLE TRAINSTATUS CASCADE CONSTRAINTS;
DROP TABLE STATIONS CASCADE CONSTRAINTS;
DROP TABLE TRAINS CASCADE CONSTRAINTS;

rem ********* TRAINS ****************

CREATE TABLE TRAINS
(
TRAINNO NUMBER(4) CONSTRAINT TRAINS_PK PRIMARY KEY,
NAME VARCHAR2(20) CONSTRAINT TRAINS_NAME_NN NOT NULL,
FROMS VARCHAR2(20),
TOS VARCHAR2(20),
TYPE CHAR(1) CONSTRAINT TRAINS_TYPE_CHK CHECK ( TYPE IN
('P','E','S')),
FREQ VARCHAR2(6)
);


rem ********* TRAINSTATUS **************

CREATE TABLE TRAINSTATUS
(
TRAINNO NUMBER(4) CONSTRAINT TRAINSTATUS_TRAINNO_FK REFERENCES
TRAINS(TRAINNO),
JDATE DATE,
CLASS CHAR(2) CONSTRAINT TRAINSTATUS_CLASS_CHK
CHECK( CLASS IN ('A1','A2','A3','CC','S1','S2','S3')
),
TOTBERTHS NUMBER(4),
AVABERTHS NUMBER(4),
CONSTRAINT TRAINSTAUS_PK PRIMARY KEY(TRAINNO,JDATE,CLASS),
CONSTRAINT TRAINSTATUS_BERTHS_CHK CHECK ( TOTBERTHS >= AVABERTHS)
);


rem ********* STATIONS **************

create table STATIONS
(
TRAINNO NUMBER(4) CONSTRAINT STATIONS_TRAINNO_FK REFERENCES
TRAINS(TRAINNO),
STATION VARCHAR2(20),
HALTNO NUMBER(2),
ARRTIME CHAR(4),
DEPTTIME CHAR(4),
NOMIN NUMBER(2),
CONSTRAINT STATIONS_PK PRIMARY KEY (TRAINNO,HALTNO)
);


rem ********* PASSENGERS **************


CREATE TABLE PASSENGERS
(
PNR NUMBER(5) CONSTRAINT PASSENGERS_PK PRIMARY KEY,
TRAINNO NUMBER(4) CONSTRAINT PASSENGERS_TRAINNO_FK REFERENCES
TRAINS(TRAINNO),
NAME VARCHAR2(20),
AGE NUMBER(3),
JDATE DATE,
CLASS CHAR(2),
BOGNO CHAR(3),
BERTHNO NUMBER(2),
GENDER CHAR(1) CONSTRAINT PASSENGERS_GENDER CHECK ( GENDER IN ('M','F'))
);
Insert data into sample tables
REM ********* DELETE ALL ROWS BEFORE INSERTING NEW ROWS ************

DELETE FROM STATIONS;
DELETE FROM TRAINSTATUS;
DELETE FROM PASSENGERS;
DELETE FROM TRAINS;


REM ****** TRAINS ******

INSERT INTO TRAINS VALUES(7007,'GODAVARI','VSKP','HYD','E','D');
INSERT INTO TRAINS VALUES(287, 'RATNACHAL','VSKP','VJW','S','D');
INSERT INTO TRAINS VALUES(1020,'KONARK','BNSR','MUM','E','D');
INSERT INTO TRAINS VALUES(6003,'HOWRAH MAIL','HWR','CHENNAI','E','D');
INSERT INTO TRAINS VALUES(6004,'CHENNAI MAIL','CHENNAI','HWR','E','D');
INSERT INTO TRAINS VALUES(7488,'TIRUMALA','VSKP','TPT','E','D');
INSERT INTO TRAINS VALUES(8563,'PRASANTHI','VSKP','BANG','S','D');
INSERT INTO TRAINS VALUES(2703,'PALAKNAMA','HWR','SEC','S','D');
INSERT INTO TRAINS VALUES(2704,'PALAKNAMA','SEC','HWR','S','D');



REM ************ STATIONS ***************

INSERT INTO STATIONS VALUES(7007,'VSKP',1,NULL,'1700',NULL);
INSERT INTO STATIONS VALUES(7007,'RAJ',2,'2130','2145',15);
INSERT INTO STATIONS VALUES(7007,'VJW',3,'0130','0145',15);
INSERT INTO STATIONS VALUES(7007,'KZP',4,'0430','0445',15);
INSERT INTO STATIONS VALUES(7007,'HYD',5,'0630', NULL,NULL);

INSERT INTO STATIONS VALUES(7488,'VSKP',1, NULL,'1430',NULL);
INSERT INTO STATIONS VALUES(7488,'SMKT',2,'1730','1745',15);
INSERT INTO STATIONS VALUES(7488,'RAJ',3, '1830','1845',15);
INSERT INTO STATIONS VALUES(7488,'VJW',4, '1230','1245',15);
INSERT INTO STATIONS VALUES(7488,'GDR',5, '0430','0445',15);
INSERT INTO STATIONS VALUES(7488,'TPT',6, '0730',NULL,NULL);

INSERT INTO STATIONS VALUES(2704,'SEC',1,'1630',NULL,NULL);
INSERT INTO STATIONS VALUES(2704,'VJW',2,'2230','2245',15);
INSERT INTO STATIONS VALUES(2704,'RAJ',3,'0330','345',15);
INSERT INTO STATIONS VALUES(2704,'VSKP',4,'0530','0600',30);
INSERT INTO STATIONS VALUES(2704,'HWR',5,'1330',NULL,NULL);

INSERT INTO STATIONS VALUES(1020,'BNSR',1,'1630','NULL',NULL);
INSERT INTO STATIONS VALUES(1020,'VZM',2,'1830','1845',15);
INSERT INTO STATIONS VALUES(1020,'VSKP',3,'2130','2200',30);
INSERT INTO STATIONS VALUES(1020,'VJW',4,'0230','0300',30);
INSERT INTO STATIONS VALUES(1020,'MUM',5,'1130','NULL',NULL);

REM ************ TRAINSTATUS ***************

INSERT INTO TRAINSTATUS VALUES(7007,'2-APR-2002','S2',500,20);
INSERT INTO TRAINSTATUS VALUES(7007,'2-APR-2002','S1',50,30);
INSERT INTO TRAINSTATUS VALUES(7007,'2-APR-2002','S3',30,0);
INSERT INTO TRAINSTATUS VALUES(6003,'1-APR-2002','A2',60,10);
INSERT INTO TRAINSTATUS VALUES(7007,'4-APR-2002','S2',500,20);
INSERT INTO TRAINSTATUS VALUES(7007,'3-APR-2002','S1',50,30);
INSERT INTO TRAINSTATUS VALUES(7007,'3-APR-2002','A1',30,0);

INSERT INTO TRAINSTATUS VALUES(6003,'1-APR-2002','S2',60,10);
INSERT INTO TRAINSTATUS VALUES(6003,'1-APR-2002','S1',60,10);
INSERT INTO TRAINSTATUS VALUES(6003,'1-APR-2002','A1',60,10);

INSERT INTO TRAINSTATUS VALUES(7488,'30-MAY-2002','A2',60,10);
INSERT INTO TRAINSTATUS VALUES(7488,'1-APR-2002','S2',150,90);
INSERT INTO TRAINSTATUS VALUES(7488,'1-APR-2002','S1',60,10);

INSERT INTO TRAINSTATUS VALUES(2704,'2-APR-2002','S1',70,30);
INSERT INTO TRAINSTATUS VALUES(2704,'2-APR-2002','A2',40,20);
INSERT INTO TRAINSTATUS VALUES(2704,'2-APR-2002','S2',50,20);

INSERT INTO TRAINSTATUS VALUES(1020,'1-APR-2002','S1',60,30);
INSERT INTO TRAINSTATUS VALUES(1020,'1-APR-2002','S2',60,30);
INSERT INTO TRAINSTATUS VALUES(1020,'1-APR-2002','A1',60,30);




REM ************ PASSENGERS ***************

INSERT INTO PASSENGERS VALUES(1,7007,'GEORGE KOCH',57,'1-APR-
2002','A1','H1',2,'M');

INSERT INTO PASSENGERS VALUES(2,7488,'KEVIN LONEY',45,'2-APR-
2002','A1','H1',12,'M');

INSERT INTO PASSENGERS VALUES(3,1020,'ERIC NAGALER',57,'1-APR-
2002','A1','S6',32,'M');

INSERT INTO PASSENGERS VALUES(4,8563,'ROBERT LAFORE',45,'2-APR-
2002','S1','S10',20,'M');

INSERT INTO PASSENGERS VALUES(5,6004,'PETER NORTON',50,'30-MAY-
2002','S2','S3',18,'M');

INSERT INTO PASSENGERS VALUES(6,2704,'STEVE BOBROWSKI',35,'11-APR-
2002','A1','H2',30,'M');

INSERT INTO PASSENGERS VALUES(7,6003,'BALAGURU SWAMY',45,'21-APR-
2002','A1','H2',13,'M');

INSERT INTO PASSENGERS VALUES(8,8563,'KANITKAR',45,'10-MAY-
2002','A2','H1',23,'M');

INSERT INTO PASSENGERS VALUES(9,1020,'AL STEVENS',50,'19-APR-
2002','A1','H2',43,'M');

INSERT INTO PASSENGERS VALUES(10,8563,'LAURA LEMAY',43,'25-APR-
2002','S5','S10',32,'M');

INSERT INTO PASSENGERS VALUES(11,7488,'ROGERS CADENHEAD',45,'19-APR-
2002','A1','H1',43,'M');

INSERT INTO PASSENGERS VALUES(12,6003,'STEPHEN WALTHER',55,'19-APR-
2002','A1','H1',43,'M');

INSERT INTO PASSENGERS VALUES(13,6003,'RAMA VALPURI',40,'12-APR-
2002','A2','H1',33,'M');

INSERT INTO PASSENGERS VALUES(14,6003,'MARK GRUBER',45,'19-APR-
2002','A1','H1',40,'M');

INSERT INTO PASSENGERS VALUES(15,6003,'JASON HUNTER',45,'11-MAY-
2002','A3','H2',53,'M');

INSERT INTO PASSENGERS VALUES(16,6003,'DAN APPLEMAN',40,'10-JUN-
2002','A2','H1',41,'M');


COMMIT;

Potrebbero piacerti anche