diff --git a/createdb.sql b/createdb.sql index acbeb46c91a82cb65eb20a185468ed11b85b2347..ab176c47ff41cce0df38f20d09a2f328948e50b3 100644 --- a/createdb.sql +++ b/createdb.sql @@ -49,13 +49,16 @@ CREATE TABLE `Sessions`( sessionID varchar(40) not null unique, primary key (sessionID), leaderID varchar(40), - location varchar(55), + location varchar(35), duration int(10), - dayofweek int(2), + occuredOn date, FOREIGN KEY (leaderID) REFERENCES Volunteers(VolunteerID), maxAttendees int(10), groupid varchar(40), - Nohelpers int(10)); + reviewOfProgression varchar(400), + reviewOfstaffSafety varchar(400), + Nohelpers int(10)); + DROP TABLE IF EXISTS `Badge`; CREATE TABLE `Badge`( BadgeID varchar(40) not null unique, @@ -105,12 +108,11 @@ CREATE TABLE `StudentAttendance`( FOREIGN KEY (studentID) REFERENCES Students(studentID), FOREIGN KEY (sessionID) REFERENCES Sessions(SessionID) ); -CREATE TABLE `SessionHistory`( - SessionHistoryID varchar(40), - heldOn date , +DROP TABLE IF EXISTS `VolunteerAttendance`; +CREATE TABLE `VolunteerAttendance`( + volunteerID varchar(40), sessionID varchar(40), - reviewOfProgression varchar(400), - reviewOfStaffSafety varchar(400), + FOREIGN KEY (VolunteerID) REFERENCES Volunteers(volunteerID), FOREIGN KEY (sessionID) REFERENCES Sessions(SessionID) ); @@ -153,9 +155,12 @@ BEGIN BEGIN SELECT 'User already exists' as ERROR ; END; + IF INSTR(email,"@") > 0 then INSERT INTO Volunteers(VolunteerID,fname,lname,email,emergencycontact) values (md5(concat(email,passwerd)),fname,lname,email,phonenum); + + end if; END$$ DELIMITER ; @@ -230,15 +235,51 @@ BEGIN INSERT INTO Students(StudentID,fname,lname,bday,parentsID) values (md5(concat(fname,lname,passwerd)),fname,lname,bday,parentsID); + END$$ DELIMITER ; +drop procedure if exists viewStudent; +delimiter $$ +CREATE PROCEDURE viewStudent( + IN studentvID varchar(40)) +BEGIN + If LENGTH(studentvID) = 0 + then + SELECT s0.StudentID , s0.studentCode, s0.fname ,s0.lname,s0.bday,(select email from parents where parentID = s0.parentsID),(select phonenum from parents where parentID = s0.parentsID) from students as s0; + else + SELECT s0.StudentID , s0.studentCode, s0.fname ,s0.lname,s0.bday,(select email from parents where parentID = s0.parentsID),(select phonenum from parents where parentID = s0.parentsID) from students as s0 where studentvID=s0.studentID; +end if; +END$$ +DELIMITER ; + + +drop procedure if exists viewVolunteer; +delimiter $$ +CREATE PROCEDURE viewVolunteer( + IN VolunteervID varchar(40)) +BEGIN + If LENGTH(volunteervID) = 0 + then + SELECT s0.VolunteerID , s0.volunteerCode, s0.fname ,s0.lname,s0.DBSlastchecked,s0.SGlastchecked,s0.emergencycontact,s0.email,(select sum(duration) from Sessions where sessionID in(select sessionID from VolunteerAttendance where volunteerID=s0.volunteerID)) from volunteers as s0; + else + SELECT s0.VolunteerID , s0.volunteerCode, s0.fname ,s0.lname,s0.DBSlastchecked,s0.SGlastchecked,s0.emergencycontact,s0.email,(select sum(duration) from Sessions where sessionID in(select sessionID from VolunteerAttendance where volunteerID=s0.volunteerID)) from volunteers as s0 where volunteerID=volunteervID; +end if; +END$$ +DELIMITER ; + + + + + call addParent("jeff","Jones","email@realemail.com","veryStrongPassw0rd",02358254); call addStudent("bobby","jones",'2012-2-11','8e301d6e513165a9c0b6b9a2b10c8305',"EXTRASTRONGPASSWORD"); call addBadge("real badge","this is a totally real badge"); call addStudent("timothy","jones",'2002-2-11','8e301d6e513165a9c0b6b9a2b10c8305',"EXTREMELYSTRONGPASSWORD"); +call addVolunteer("timothy","jones",'bob@bbc.co.uk','8e301d6e513165a9c0b6b9a2b10c8305',"0777008913"); + -select * from students; --- select * from parents; +-- select * from volunteers; +call viewVolunteer(""); diff --git a/er1.png b/er1.png new file mode 100644 index 0000000000000000000000000000000000000000..394732ed4c55c2ad5062e3138e0dbc7fe3649d88 Binary files /dev/null and b/er1.png differ