Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Exercise 1
Code:
-- Lab 5
-- Exercise 1
-- Step 1
create table University_Campus.Campus(
CampusID int(5) not null,
CampusName varchar(30) not null,
CampusAddress varchar(50) null,
Country varchar(20) null,
City varchar(20) null,
isOpen bit not null,
primary key(CampusID));
-- Step 2
create table University_Campus.Building(
BuildingID int(5) not null,
BuildingName varchar(30) null,
Address varchar(30) null,
primary key(BuildingID));
-- Step 3
alter table University_Campus.Building
add column F_CampusID int(5) null,
add foreign key(F_CampusID) references University_Campus.Campus(CampusID)
on delete set null
on update cascade;
-- Step 4
insert into University_Campus.Campus(CampusID, CampusName, CampusAddress, Country, City,
isOpen)
values
(1, 'Main', 'G.T.Road', 'Pakistan', 'Lahore', 0b1),
(2, 'Old', 'Neelum Block', 'Pakistan', 'Lahore', 0b1),
(3, 'Shadbagh', 'Shadbagh', 'Pakistan', 'Lahore', 0b1),
(4, 'Noon Avenue', 'Muslim Town', 'Pakistan', 'Lahore', 0b1),
(5, 'New', 'Gulberg', 'Pakistan', 'Lahore', 0b1);
insert into University_Campus.Building(BuildingID, BuildingName, Address, F_CampusID)
values
(1, 'Research Department', 'G.T.Road', 1),
(2, 'EE Department', 'G.T.Road', 1),
(3, 'Students Service Centre', 'G.T.Road', 1),
(4, 'ME Department', 'G.T.Road', 1),
(5, 'EE Department', 'G.T.Road', 2);
-- Step 5
select 'Campus Table' as '';
select * from University_Campus.Campus;
select 'Building Table' as '';
select * from University_Campus.Building;
-- Step 6
-- There are already at least two buildings belonging to the same campus.
select 'All Buildings of Campus 1' as '';
select * from University_Campus.Building where F_CampusID = 1;
-- Step 7
update University_Campus.Campus
set CampusName = replace(CampusName, 'Main', 'myCampus');
select 'Campus Table on Replacing "Main" with "myCampus"' as '';
select * from University_Campus.Campus;
-- Step 8
delete from University_Campus.Campus where CampusName = 'myCampus';
select 'Campus Table after deleting "myCampus"' as '';
select * from University_Campus.Campus;
select 'University Table after deleting "myCampus"' as '';
select * from University_Campus.Building;
Output:
Exercise 2
Code:
-- Lab 5
-- Exercise 2
-- Gym Table
create table Gym_Record.Gym(
gymName varchar(30) not null,
gymOwner varchar(20) null,
gymStreet int(5) null,
primary key(gymName));
-- Customer Table
create table Gym_Record.Customer(
customerName varchar(20) not null,
customerStreet int(5) null,
customerAge int(3) null,
primary key(customerName));
-- Frequents Table
create table Gym_Record.Frequents(
F_customerName varchar(20) not null,
F_gymName varchar(30) not null,
primary key(F_customerName, F_gymName),
foreign key(F_gymName) references Gym_Record.Gym(gymName) on delete restrict on update cascade,
foreign key(F_customerName) references Gym_Record.Customer(customerName) on delete restrict on
update cascade);
-- Task 1
select 'Gyms that Usman Frequents' as '';
select F_gymName from Gym_Record.Frequents where F_customerName = 'Usman';
-- Task 2
select 'Customers who frequent only gyms on the same street that (s)he lives on' as '';
select F_customerName
from Gym_Record.Frequents
inner join Gym_Record.Gym on F_gymName = gymName
inner join Gym_Record.Customer on F_customerName = customerName
where customerStreet = gymStreet;
Output: