analysis of the gareth walsh rovers database
DESCRIPTION
Analysis of the Gareth Walsh Rovers Database. Stephen Taylor Anthony Ung. Database Purpose and Contents. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/1.jpg)
Stephen Taylor
Anthony Ung
![Page 2: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/2.jpg)
This database is designed to catalogue the admission of new members into the Australian Scouting organisation the Rovers. The database stores information regarding the new members as well as which group they have joined.
Additional tables also store data regarding the crews and badges which can be earned by the various members.
The activities table also keeps track of all Rover related activities.
![Page 3: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/3.jpg)
![Page 4: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/4.jpg)
![Page 5: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/5.jpg)
SELECT MEMFirstName, MEMLastNameFROM WalshRovers05Member;
memfirstname Memlastname
Gareth Walsh
Garth Nagle
Alison McKay
![Page 6: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/6.jpg)
SELECT *FROM WalshRovers05FeesWHERE FeesDatepaid Is Not Null;
memcrewid feesdatedue
feesdatepaid feesamount
1 2005-06-05 2005-08-24 12
2 2005-06-05 2005-10-26 100
3 2005-06-05 2005-04-14 100
4 2005-06-05 2005-03-05 12
![Page 7: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/7.jpg)
SELECT memcrewid, feesamountFROM WalshRovers05FeesWHERE FeesDatepaid Is Not Null;
memcrewid feesamount
1 12
2 100
3 100
4 12
5 12
6 100
7 100
![Page 8: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/8.jpg)
SELECT MEMFirstName, MEMLastName FROM WalshRovers05MemberWHERE MEMKnightingDate Is Null;
Memfirstname memlastname
Jenna Hall
Karina Hammond
Shaun Sproule
George Smith
![Page 9: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/9.jpg)
SELECT MEMFirstName, MEMLastName FROM WalshRovers05MemberWHERE MEMResigneddate Is Not Null;
memfirstname memlastname
Alison Mckay
Jenna Hall
![Page 10: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/10.jpg)
SELECT MEMFirstName, MEMLastName FROM WalshRovers05MemberWHERE MEMCrewID In (1,2,3);
Memfirstname memlastname
Gareth Walsh
Garth Nagle
Alison Mckay
![Page 11: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/11.jpg)
SELECT MEMFirstName, MEMLastName FROM WalshRovers05MemberWHERE MEMCrewID Not In (1,2,3);
Memfirstname memlastname
Lloyd Schrader
Kent Palmer
Jenna Hall
![Page 12: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/12.jpg)
SELECT MEMFirstName, MEMLastName
FROM WalshRovers05Member;
SELECT MEMLastName, MEMFirstName
FROM WalshRovers05Member;
Memfirstname memlastname
Gareth Walsh
Garth Nagle
Alison Mckay
memlastname Memfirstname
Walsh Gareth
Nagle Garth
Mckay Alison
![Page 13: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/13.jpg)
SELECT MEMFirstName, MEMLastName FROM WalshRovers05MemberORDER BY MEMLastName;
memlastname Memfirstname
Brent Butler
Jenna Hall
Karina Hammond
Tim Hammond
Russell Lyons
![Page 14: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/14.jpg)
SELECT memcrewid*feesamount AS random_no
FROM Walshrovers05fees ;random_n
o
12
200
400
500
600
700
800
![Page 15: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/15.jpg)
When Counting by a specific column Null Values are not counted
SELECT COUNT(MEMResignedDate)FROM WalshRovers05Member;
Count
2
![Page 16: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/16.jpg)
Count All will count all rows which have a value within the table
SELECT COUNT(*)FROM WalshRovers05Member;
Count
13
![Page 17: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/17.jpg)
SELECT avg(feesamount)FROM walshrovers05fees;
AVG
83.2380952380952381
![Page 18: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/18.jpg)
SELECT sum(feesamount) as TOTAL_FEESFROM walshrovers05fees;
total_fees
1748
![Page 19: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/19.jpg)
SELECT min(feesamount)FROM walshrovers05fees ;
min
12
![Page 20: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/20.jpg)
SELECT max(feesamount)FROM walshrovers05fees ;
max
100
![Page 21: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/21.jpg)
SELECT memcrewid,memscoutid,memfirstname,memlastname
FROM walshrovers05member WHERE memfirstname LIKE 'Gar%';
memcrewid
memscoutid memfirstname memlastname
1 136369 Gareth Walsh
2 136368 Garth Nagle
![Page 22: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/22.jpg)
SELECT memcrewid,memscoutid,memfirstname,memlastname
FROM walshrovers05member WHERE memfirstname LIKE '_ar%';
memcrewid
memscoutid memfirstname memlastname
1 136369 Gareth Walsh
2 136368 Garth Nagle
7 987654 Karina Hammond
![Page 23: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/23.jpg)
Distinct Ensures no rows of identical values are displayed
The same crewid appears many times in the activity table but distinct displays it only once
SELECT DISTINCT memcrewidFROM walshrovers05memberactivityWHERE memcrewid = 1;
memcrewid
1
![Page 24: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/24.jpg)
INSERT INTO WalshRovers05MemberActivity VALUES( 8,'Kiddy Moot', '2005/09/30' );
memcrewid activityname activitystartdate
8 Kiddy Moot 2005/09/30
![Page 25: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/25.jpg)
![Page 26: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/26.jpg)
SELECT MEMFirstName, MEMLastName
FROM WalshRovers05Member NATURAL JOIN WalshRovers05Position
WHERE PosTitle = 'Secretary'
GROUP BY MEMFirstName, MEMLastName;
Memfirstname
Memlastname
Jenna Hall
![Page 27: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/27.jpg)
SELECT MEMFirstName, MEMLastName
FROM WalshRovers05Member, WalshRovers05Position
WHERE WalshRovers05Member.MEMCrewID =WalshRovers05Position.MEMCrewID
AND PosTitle = 'Secretary‘;
Memfirstname
Memlastname count
Jenna Hall 5
![Page 28: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/28.jpg)
![Page 29: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/29.jpg)
SELECT MEMFirstName,MEMLastName
FROM WalshRovers05Member
WHERE MEMCrewID = 1;
SELECT *
FROM WalshRovers05Fees
WHERE MEMCrewID = 1;
Memfirstname memlastname
Gareth Walsh
memcrewid
feesdatedue
feesdatepaid
feesamount
1 2005-06-05 2005-08-24 12
1 2004-06-05 2004-08-24 12
![Page 30: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/30.jpg)
There is a many-to-many relationship between the members and activities table which is separated into two one-to-many relationships. There can be many members in each activity and each member can be in many activities.
SELECT *
FROM WalshRovers05MemberActivity
WHERE MEMCrewID = 1;
memcrewid activityname activitystartdate
1 Kiddy Moot 2005-09-30
1 Jota 2005-10-14
1 Bushdance 2005-09-17
![Page 31: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/31.jpg)
SELECT *
FROM WalshRovers05MemberActivity
WHERE ActivityName = 'Bushdance';
memcrewid activityname activitystartdate
1 Bushdance 2005-09-17
2 Bushdance 2005-09-17
7 Bushdance 2005-09-17
![Page 32: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/32.jpg)
![Page 33: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/33.jpg)
SELECT MEMFirstName, MEMLastName, Count(ActivityName)
FROM WalshRovers05MemberActivity NATURAL JOIN WalshRovers05Member NATURAL JOIN WalshRovers05Position
WHERE PosTitle = 'Crew Leader'
GROUP BY MEMFirstName, MEMLastName;
memfirstname memlastname count
Garth Nagle 7
Tim Hammond 5
Gareth Walsh 7
![Page 34: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/34.jpg)
SELECT MEMFirstName, MEMLastName, Count(ActivityName)
FROM WalshRovers05MemberActivity NATURAL JOIN WalshRovers05Member NATURAL JOIN WalshRovers05Position
WHERE PosTitle = 'Crew Leader'
GROUP BY MEMFirstName, MEMLastName
HAVING Count(ActivityName) > 5;
memfirstname memlastname count
Garth Nagle 7
Gareth Walsh 7
![Page 35: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/35.jpg)
SELECT MEMFirstName, MEMLastName
FROM WalshRovers05Member
WHERE MEMCrewID = (SELECT avg(MEMCrewID)
FROM WalshRovers05MemberActivity
WHERE ActivityName = 'Bushdance');
memfirstname memlastname
Jenna Hall
![Page 36: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/36.jpg)
SELECT MEMFirstName, MEMLastName
FROM WalshRovers05Member
WHERE MEMCrewID = (SELECT max(MEMCrewID)
FROM WalshRovers05MemberActivity
WHERE ActivityName = 'Bushdance');
memfirstname memlastname
Brent Butler
![Page 37: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/37.jpg)
SELECT MEMFirstName, MEMLastName
FROM WalshRovers05Member
WHERE MEMCrewID = Any (SELECT MEMCrewID
FROM WalshRovers05MemberActivity
WHERE ActivityName = 'Bushdance');
memfirstname memlastname
Gareth Walsh
Garth Nagle
Karina Hammond
Tim Hammond
Brent Butler
![Page 38: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/38.jpg)
SELECT MEMFirstName, MEMLastName
FROM WalshRovers05Member
WHERE MEMCrewID IN (SELECT MEMCrewID
FROM WalshRovers05MemberActivity
WHERE ActivityName = 'Bushdance');
memfirstname memlastname
Gareth Walsh
Garth Nagle
Karina Hammond
Tim Hammond
Brent Butler
![Page 39: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/39.jpg)
SELECT WalshRovers05Member.memcrewid, Postitle
FROM WalshRovers05Member Left Join WalshRovers05Position Using (memcrewid);
Memcrewid postitle
1 Crew Leader
2 Crew Leader
3 NULL
4 NULL
![Page 40: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/40.jpg)
SELECT WalshRovers05Member.memcrewid, Postitle
FROM WalshRovers05Member Right Join WalshRovers05Position Using (memcrewid);
Memcrewid postitle
1 Crew Leader
8 Crew Leader
2 Crew Leader
5 Treasurer
![Page 41: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/41.jpg)
SELECT squires.MEMSquiringDate as investature_date , squires.MEMFirstName AS Squire_FirstName,
squires.MEMLastName AS Squire_LastName, rovers.MEMFirstName AS Rover_FirstName, rovers.MEMLastName AS
Rover_LastName
FROM WalshRovers05Member squires, WalshRovers05Member rovers
WHERE squires.MEMSquiringDate = rovers.MEMKnightingDate;
Investature_date
Squire_firstname
Squire_lastname
Rover_firstname
Rover_Lastname
2003-04-18 Jenna Hall Brent Butler
2003-04-18 Jenna Hall Alison Mckay
![Page 42: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/42.jpg)
![Page 43: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/43.jpg)
Create TABLE WalshRovers05Member
(
MEMCrewID INTEGER,
CONSTRAINT WalshRovers05Member_PK PRIMARY KEY (MEMCrewID),
Create TABLE WalshRovers05Position
(
MEMCrewID INTEGER,
CONSTRAINT WalshRovers05Position_MEMCrewID_FK FOREIGN KEY (MEMCrewID) REFERENCES WalshRovers05Member
ON DELETE RESTRICT
![Page 44: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/44.jpg)
CONSTRAINT ValidGender CHECK ( MEMGender = 'M' OR MEMGender = 'F'),
CONSTRAINT ValidDOB CHECK ( MEMDOB BETWEEN '1900-01-01' AND '2005-01-01'),
CONSTRAINT ValidMEMJoiningDate CHECK ( MEMJoiningDate BETWEEN '1900-01-01' AND '2006-01-01'),
CONSTRAINT ValidMEMSquiringDate CHECK ( MEMSquiringDate BETWEEN '1900-01-01' AND '2006-01-01'),
CONSTRAINT ValidMEMKnightingDate CHECK ( MEMKnightingDate BETWEEN '1900-01-01' AND '2006-01-01')
![Page 45: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/45.jpg)
CONSTRAINT WalshRovers05Fees_MEMCrewID_FK FOREIGN KEY (MEMCrewID) REFERENCES WalshRovers05Member
ON DELETE RESTRICT
![Page 46: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/46.jpg)
CONSTRAINT WalshRovers05Badge_MEMCrewID_FK FOREIGN KEY (MEMCrewID) REFERENCES WalshRovers05Member
ON DELETE CASCADE
![Page 47: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/47.jpg)
(removed from this case study, as normalization was not done well.)
![Page 48: Analysis of the Gareth Walsh Rovers Database](https://reader031.vdocuments.mx/reader031/viewer/2022032806/56813484550346895d9b64f5/html5/thumbnails/48.jpg)
CREATE VIEW fees1 (memcrewid, FeesDatedue, FeesDatePaid, FeesAmount)
AS SELECT *
FROM WalshRovers05Fees;
SELECT * FROM Fees1;
memcrewid feesdatedue feesdatepaid feesamount
1 2005-06-05 2005-08-24 12
2 2005-06-05 2005-10-26 100