Skip to content
Snippets Groups Projects
Commit beffe7d3 authored by Finlay White's avatar Finlay White :speech_balloon:
Browse files

badges added

parent 9384dc51
No related branches found
No related tags found
No related merge requests found
DROP SCHEMA IF EXISTS `SuperGeeks`;
CREATE SCHEMA `SuperGeeks`;
USE `SuperGeeks`;
USE `SuperGeeks`;
DROP TABLE IF EXISTS `Parents`;
CREATE TABLE `Parents`(
parentID varchar(40) not null unique,
......@@ -16,7 +16,7 @@ phonenum int(10));
DROP TABLE IF EXISTS `Students`;
CREATE TABLE `Students`(
studentID varchar(40) not null unique,
primary key(studentID),
studentCode int key auto_increment,
fname varchar(35),
lname varchar(35),
-- The UK Government Data Standards Catalogue reccomends 35 characters for each the first name and last name
......@@ -26,10 +26,10 @@ parentsID varchar(40),
groupID varchar(40),
FOREIGN KEY (parentsID) REFERENCES Parents(parentID)
-- parent ID is stored in student rather than the parents table so that one parent can have many children
-- and not one child can have many parents. A child may have multiple parents irl but they would share an
-- account
);
-- account
ALTER TABLE Students auto_increment = 30001;
DROP TABLE IF EXISTS `Volunteers`;
CREATE TABLE `Volunteers`(
VolunteerID varchar(40) not null unique,
......@@ -60,8 +60,7 @@ CREATE TABLE `Badge`(
BadgeID varchar(40) not null unique,
primary key(BadgeID),
badgeName varchar(35),
badgeDesc varchar(255),
RequirementID varchar(40)
badgeDesc varchar(255)
);
DROP TABLE IF EXISTS `BadgeAwarded`;
CREATE TABLE `BadgeAwarded`(
......@@ -77,8 +76,6 @@ CREATE TABLE `BadgeAwarded`(
);
-- DROP TABLE IF EXISTS `Badgereqs`;
CREATE TABLE `Badgereqs`(
RequirementID varchar(40) not null unique,
primary key(RequirementID),
mustbecompleted varchar(40),
tocomplete varchar(40),
FOREIGN KEY (mustbecompleted) REFERENCES Badge(BadgeID),
......@@ -99,49 +96,107 @@ Alter table `Badge`ADD FOREIGN KEY (RequirementID) REFERENCES Badgereqs(Requirem
drop procedure if exists addParent;
delimiter $$
CREATE PROCEDURE addParent(
IN fname varchar(35),
IN fname varchar(35),
IN lname varchar(35),
IN email varchar(320),
IN passwerd varchar(70),
IN phonenum int(10))
BEGIN
DECLARE EXIT HANDLER FOR 1062
DECLARE EXIT HANDLER FOR 1062
BEGIN
SELECT 'User already exists' as ERROR ;
END;
-- if (locate("@",email) = 0
-- Select "invalid email as Error";
INSERT INTO Parents(parentID,fname,lname,email,phonenum) values
INSERT INTO Parents(parentID,fname,lname,email,phonenum) values
(md5(concat(email,passwerd)),fname,lname,email,phonenum);
END$$addParent
DELIMITER ;
drop procedure if exists addVolunteer;
delimiter $$
CREATE PROCEDURE addVolunteer(
IN fname varchar(35),
IN fname varchar(35),
IN lname varchar(35),
IN email varchar(320),
IN passwerd varchar(70),
IN phonenum int(10))
BEGIN
DECLARE EXIT HANDLER FOR 1062
DECLARE EXIT HANDLER FOR 1062
BEGIN
SELECT 'User already exists' as ERROR ;
END;
INSERT INTO Volunteers(VolunteerID,fname,lname,email,emergencycontact) values
INSERT INTO Volunteers(VolunteerID,fname,lname,email,emergencycontact) values
(md5(concat(email,passwerd)),fname,lname,email,phonenum);
END$$addParent
END$$
DELIMITER ;
drop procedure if exists addBadgereq;
delimiter $$
CREATE PROCEDURE addBadgereq(
IN youNeed varchar(40),
IN toGet varchar(40))
-- I use this naming scheme as it just makes it easy to understand
-- which badge is which in this relationship
BEGIN
DECLARE EXIT HANDLER FOR 1452
BEGIN
SELECT 'Badge not found' as ERROR ;
END;
INSERT INTO Badgereqs(mustbecompleted,tocomplete) values
(youNeed,toGet) ;
END$$
DELIMITER ;
drop procedure if exists addBadge;
delimiter $$
CREATE PROCEDURE addBadge(
IN badgeName varchar(40),
IN badgeDesc varchar(255))
BEGIN
DECLARE EXIT HANDLER FOR 1062
BEGIN
SELECT ' Badge already exists' as ERROR ;
END;
INSERT INTO Badge(BadgeID,badgeName,badgeDesc) values
(md5(badgeName),badgeName,badgeDesc);
END$$
DELIMITER ;
drop procedure if exists addStudent;
delimiter $$
CREATE PROCEDURE addStudent(
IN fname varchar(35),
IN lname varchar(35),
IN bday date,
IN parentsID varchar(40),
IN passwerd varchar(70))
BEGIN
DECLARE EXIT HANDLER FOR 1062
BEGIN
SELECT 'User already exists' as ERROR ;
END;
INSERT INTO Students(StudentID,fname,lname,bday,parentsID) values
(md5(concat(fname,lname,passwerd)),fname,lname,bday,parentsID);
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',"EXTRASTRONGPASSWORD");
call addVolunteer("jeff","Jones","email@realemail.com","veryStrongPassw0rd",02358254);
call addVolunteer("jeff","Jones","sdkufhsdkfh@wshfksjdfh.com","veryStrongPassw0rd",02358254);
call addVolunteer("jeff","Jones","email@realemfvail.com","veryStrongPassw0rd",02358254);
call addVolunteer("jeff","Jones","esmail@realemail.com","veryStrongPassw0rd",02358254);
select * from volunteers;
\ No newline at end of file
select * from badge;
-- select * from parents;``
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment