Professional Documents
Culture Documents
A Country Bus Company owns a number of buses. Each bus is allocated to a particular
route, although some routes may have several buses. Each route passes through a number
of towns. One driver is allocated to each route, which corresponds to a journey through
some or all of the towns on a route. Some of the towns have a garage where busses are
kept and each of the buses is identified by the registration number and can carry different
numbers of passengers, since the vehicles vary in size and can be single or double
decked. Each route is identified by a route number and information is available on the
average number of passengers carried per day for each route. Drivers have an employee
number, name, address, and sometimes a telephone number. This database also serves for
customer route enquiries.
ER DIAGRAM
1
TRANSFORMING ENTITY RELATIONSHIP DIAGRAM TO
TABLES
POSTGRESQL
DDL COMMANDS
2
DECK CHAR(1) CHECK(DECK IN('S','D','T')),NO_OF_PASS INT,GNO
VARCHAR(10) REFERENCES GARAGE(GNO),RNO VARCHAR(10)
REFERENCES ROUTE(RNO));
FUNCTIONS
3
C:=C+1;
RAISE NOTICE '%) % ',C, TMP;
END LOOP;
END;
$$
LANGUAGE PLPGSQL;
OUTPUT:
(1 row)
4
END LOOP;
END;
$$
LANGUAGE PLPGSQL;
OUTPUT:
(1 row)
5
END;
$$
LANGUAGE PLPGSQL;
OUTPUT:
(1 row)
TRIGGERS
6
$$
LANGUAGE PLPGSQL;
CREATE FUNCTION
CREATE TRIGGER
OUTPUT:
OUTPUT:
7
MYSQL
DDL COMMANDS
FUNCTIONS
8
IF STATE=0 THEN
INSERT INTO STR VALUES("INVALID BUS NUMBER");
END IF;
WHILE STATE<>0 DO
SET CNT=CNT+1;
SET TWN=(SELECT NAME FROM TOWN WHERE TNO=TN);
INSERT INTO STR VALUES(CONCAT(CAST(CNT AS
CHAR),RPAD(')',3,' ') ,TWN));
FETCH PTR INTO TN;
END WHILE;
SELECT * FROM STR;
END//
OUTPUT:
9
WRITE A FUNCTION TO DISPLAY THE GARAGE NAME AND THE
NUMBER OF BUSES IN EACH GARAGE
OUTPUT:
10
WRITE A FUNCTION TO DISPLAY THE BUSES FROM A GIVEN SOURCE
TO DESTINATION
OUTPUT:
11
Query OK, 0 rows affected (0.03 sec)
TRIGGERS
OUTPUT:
12
WRITE A TRIGGER TO CHECK WHETHER THE SOURCE AND
DESTINATION OF THE ROUTE ARE AVAILABLE IN TOWN NAME.
OUTPUT:
INGRES
DDL COMMANDS
13
CREATE TABLE DRIVER(ENO VARCHAR(10) PRIMARY KEY,NAME
VARCHAR(30),ADDR VARCHAR(50),PHONE BIGINT,RNO VARCHAR(10)
REFERENCES ROUTE(RNO));
FUNCTIONS
OUTPUT:
+-------------+------------------------------+
|result_column|result_column1 |
+-------------+------------------------------+
| 1|BROADWAY |
| 2|SECRETARIAT |
| 3|CHEPAUK |
| 4|QMC |
| 5|FORE SHORE ESTATE |
| 6|AMS HOSPITAL |
| 7|ADYAR |
| 8|ENGINEERING COLLEGE |
14
| 9|GUINDY |
| 10|ST THOMAS MOUNT PO |
| 11|MEENAMBAKKAM/CARGO AIRPORT |
| 12|TIRUSULAM/AIRPORT |
| 13|PALLAVARAM |
| 14|CHROMEPET |
| 15|TAMBARAM SANATORIUM |
| 16|TAMBARAM |
| 17|IRUMBULIYUR |
| 18|PERUNGULATHUR |
| 19|VANDALUR |
| 20|VANDALUR ZOO |
| 21|URAPAKKAM SCHOOL |
| 22|PALAKKA COMPANY |
| 23|GUDUVANCHERI |
+-------------+------------------------------+
(23 rows)
End of Request
OUTPUT:
+------------------------------+-------------+
|result_column0 |result_column|
+------------------------------+-------------+
|TAMBARAM | 1|
|GUINDY | 2|
|BROADWAY | 2|
|ADYAR | 3|
|ICF | 2|
15
+------------------------------+-------------+
(5 rows)
End of Request
OUTPUT:
+-------------+--------------------------------------------------+
|result_column|result_column1 |
+-------------+--------------------------------------------------+
| 1|PP21 FROM BROADWAY TO GUDUVANCHERI |
| 2|21E FROM BROADWAY TO NANDAMBAKKAM |
+-------------+--------------------------------------------------+
(2 rows)
End of Request
16
TRIGGERS
OUTPUT:
17
IF S IS NULL OR D IS NULL THEN
RAISE ERROR 124 'SOURCE AND|OR DESTINATION NOT VALID TOWNS';
ENDIF;
END;
OUTPUT:
18