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

not null unique + md5 ready

parent 5b5b8977
No related branches found
No related tags found
No related merge requests found
...@@ -3,7 +3,7 @@ CREATE SCHEMA `SuperGeeks`; ...@@ -3,7 +3,7 @@ CREATE SCHEMA `SuperGeeks`;
USE `SuperGeeks`; USE `SuperGeeks`;
DROP TABLE IF EXISTS `Parents`; DROP TABLE IF EXISTS `Parents`;
CREATE TABLE `Parents`( CREATE TABLE `Parents`(
parentID int(20) not null, parentID varchar(40) not null unique,
primary key (parentID), primary key (parentID),
fname varchar(35), fname varchar(35),
lname varchar(35), lname varchar(35),
...@@ -15,15 +15,15 @@ subscribed bool, ...@@ -15,15 +15,15 @@ subscribed bool,
phonenum int); phonenum int);
DROP TABLE IF EXISTS `Students`; DROP TABLE IF EXISTS `Students`;
CREATE TABLE `Students`( CREATE TABLE `Students`(
studentID int(20), studentID varchar(40) not null unique,
primary key(studentID), primary key(studentID),
fname varchar(35), fname varchar(35),
lname varchar(35), lname varchar(35),
-- The UK Government Data Standards Catalogue reccomends 35 characters for each the first name and last name -- The UK Government Data Standards Catalogue reccomends 35 characters for each the first name and last name
bday date, bday date,
dayjoined date , dayjoined date ,
parentsID int(20), parentsID varchar(40),
groupID int(20), groupID varchar(40),
FOREIGN KEY (parentsID) REFERENCES Parents(parentID) 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 -- 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 -- and not one child can have many parents. A child may have multiple parents irl but they would share an
...@@ -32,7 +32,7 @@ FOREIGN KEY (parentsID) REFERENCES Parents(parentID) ...@@ -32,7 +32,7 @@ FOREIGN KEY (parentsID) REFERENCES Parents(parentID)
DROP TABLE IF EXISTS `Volunteers`; DROP TABLE IF EXISTS `Volunteers`;
CREATE TABLE `Volunteers`( CREATE TABLE `Volunteers`(
VolunteerID int(20), VolunteerID varchar(40) not null unique,
primary key(VolunteerID), primary key(VolunteerID),
fname varchar(35), fname varchar(35),
lname varchar(35), lname varchar(35),
...@@ -43,30 +43,30 @@ CREATE TABLE `Volunteers`( ...@@ -43,30 +43,30 @@ CREATE TABLE `Volunteers`(
); );
DROP TABLE IF EXISTS `Sessions`; DROP TABLE IF EXISTS `Sessions`;
CREATE TABLE `Sessions`( CREATE TABLE `Sessions`(
sessionID int(20), sessionID varchar(40) not null unique,
primary key (sessionID), primary key (sessionID),
leaderID int(20), leaderID varchar(40),
location varchar(55), location varchar(55),
duration int(10), duration int(10),
FOREIGN KEY (leaderID) REFERENCES Volunteers(VolunteerID), FOREIGN KEY (leaderID) REFERENCES Volunteers(VolunteerID),
maxAttendees int(10), maxAttendees int(10),
groupid int(20), groupid varchar(40),
Nohelpers int(10)); Nohelpers int(10));
DROP TABLE IF EXISTS `Badge`; DROP TABLE IF EXISTS `Badge`;
CREATE TABLE `Badge`( CREATE TABLE `Badge`(
BadgeID int(20), BadgeID varchar(40) not null unique,
primary key(BadgeID), primary key(BadgeID),
badgeName varchar(35), badgeName varchar(35),
badgeDesc varchar(255), badgeDesc varchar(255),
RequirementID int(20) RequirementID varchar(40)
); );
DROP TABLE IF EXISTS `BadgeAwarded`; DROP TABLE IF EXISTS `BadgeAwarded`;
CREATE TABLE `BadgeAwarded`( CREATE TABLE `BadgeAwarded`(
awardedID int(20), awardedID int(20) not null unique,
primary key(awardedID), primary key(awardedID),
awardedto int(20), awardedto varchar(40),
awardedby int(20), awardedby varchar(40),
Badgeawarded int(20), Badgeawarded varchar(40),
dateAwarded date, dateAwarded date,
FOREIGN KEY (awardedto) REFERENCES Students(studentID), FOREIGN KEY (awardedto) REFERENCES Students(studentID),
FOREIGN KEY (awardedby) REFERENCES Volunteers(VolunteerID), FOREIGN KEY (awardedby) REFERENCES Volunteers(VolunteerID),
...@@ -74,19 +74,33 @@ CREATE TABLE `BadgeAwarded`( ...@@ -74,19 +74,33 @@ CREATE TABLE `BadgeAwarded`(
); );
-- DROP TABLE IF EXISTS `Badgereqs`; -- DROP TABLE IF EXISTS `Badgereqs`;
CREATE TABLE `Badgereqs`( CREATE TABLE `Badgereqs`(
RequirementID int(20), RequirementID varchar(40) not null unique,
primary key(RequirementID), primary key(RequirementID),
mustbecompleted int(20), mustbecompleted varchar(40),
tocomplete int(20), tocomplete varchar(40),
FOREIGN KEY (mustbecompleted) REFERENCES Badge(BadgeID), FOREIGN KEY (mustbecompleted) REFERENCES Badge(BadgeID),
FOREIGN KEY (tocomplete) REFERENCES Badge(BadgeID) FOREIGN KEY (tocomplete) REFERENCES Badge(BadgeID)
); );
DROP TABLE IF EXISTS `StudentAttendance`; DROP TABLE IF EXISTS `StudentAttendance`;
CREATE TABLE `StudentAttendance`( CREATE TABLE `StudentAttendance`(
studentID int(20), studentID varchar(40),
sessionID int(20), sessionID varchar(40),
FOREIGN KEY (studentID) REFERENCES Students(studentID), FOREIGN KEY (studentID) REFERENCES Students(studentID),
FOREIGN KEY (sessionID) REFERENCES Sessions(SessionID) FOREIGN KEY (sessionID) REFERENCES Sessions(SessionID)
); );
Alter table `Badge`ADD FOREIGN KEY (RequirementID) REFERENCES Badgereqs(RequirementID); Alter table `Badge`ADD FOREIGN KEY (RequirementID) REFERENCES Badgereqs(RequirementID);
select * from StudentAttendance;
\ No newline at end of file
-- procedures
DELIMITER ^^
-- error handling
CREATE PROCEDURE CreateParent(IN accNum INT,IN firstname VARCHAR(25),IN accBalance float)
BEGIN
DECLARE CONTINUE HANDLER FOR 1062
SELECT 'Duplicate account number' AS MESSAGE;
INSERT INTO accounts (accNo, fname, balance) VALUES (accNum, firstname, accBalance);
END^^
DELIMITER ;
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