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`;
USE `SuperGeeks`;
DROP TABLE IF EXISTS `Parents`;
CREATE TABLE `Parents`(
parentID int(20) not null,
parentID varchar(40) not null unique,
primary key (parentID),
fname varchar(35),
lname varchar(35),
......@@ -15,15 +15,15 @@ subscribed bool,
phonenum int);
DROP TABLE IF EXISTS `Students`;
CREATE TABLE `Students`(
studentID int(20),
studentID varchar(40) not null unique,
primary key(studentID),
fname varchar(35),
lname varchar(35),
-- The UK Government Data Standards Catalogue reccomends 35 characters for each the first name and last name
bday date,
dayjoined date ,
parentsID int(20),
groupID int(20),
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
......@@ -32,7 +32,7 @@ FOREIGN KEY (parentsID) REFERENCES Parents(parentID)
DROP TABLE IF EXISTS `Volunteers`;
CREATE TABLE `Volunteers`(
VolunteerID int(20),
VolunteerID varchar(40) not null unique,
primary key(VolunteerID),
fname varchar(35),
lname varchar(35),
......@@ -43,30 +43,30 @@ CREATE TABLE `Volunteers`(
);
DROP TABLE IF EXISTS `Sessions`;
CREATE TABLE `Sessions`(
sessionID int(20),
sessionID varchar(40) not null unique,
primary key (sessionID),
leaderID int(20),
leaderID varchar(40),
location varchar(55),
duration int(10),
FOREIGN KEY (leaderID) REFERENCES Volunteers(VolunteerID),
maxAttendees int(10),
groupid int(20),
groupid varchar(40),
Nohelpers int(10));
DROP TABLE IF EXISTS `Badge`;
CREATE TABLE `Badge`(
BadgeID int(20),
BadgeID varchar(40) not null unique,
primary key(BadgeID),
badgeName varchar(35),
badgeDesc varchar(255),
RequirementID int(20)
RequirementID varchar(40)
);
DROP TABLE IF EXISTS `BadgeAwarded`;
CREATE TABLE `BadgeAwarded`(
awardedID int(20),
awardedID int(20) not null unique,
primary key(awardedID),
awardedto int(20),
awardedby int(20),
Badgeawarded int(20),
awardedto varchar(40),
awardedby varchar(40),
Badgeawarded varchar(40),
dateAwarded date,
FOREIGN KEY (awardedto) REFERENCES Students(studentID),
FOREIGN KEY (awardedby) REFERENCES Volunteers(VolunteerID),
......@@ -74,19 +74,33 @@ CREATE TABLE `BadgeAwarded`(
);
-- DROP TABLE IF EXISTS `Badgereqs`;
CREATE TABLE `Badgereqs`(
RequirementID int(20),
RequirementID varchar(40) not null unique,
primary key(RequirementID),
mustbecompleted int(20),
tocomplete int(20),
mustbecompleted varchar(40),
tocomplete varchar(40),
FOREIGN KEY (mustbecompleted) REFERENCES Badge(BadgeID),
FOREIGN KEY (tocomplete) REFERENCES Badge(BadgeID)
);
DROP TABLE IF EXISTS `StudentAttendance`;
CREATE TABLE `StudentAttendance`(
studentID int(20),
sessionID int(20),
studentID varchar(40),
sessionID varchar(40),
FOREIGN KEY (studentID) REFERENCES Students(studentID),
FOREIGN KEY (sessionID) REFERENCES Sessions(SessionID)
);
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.
Please register or to comment