Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
SUPERGEEKS-SQL
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Finlay White
SUPERGEEKS-SQL
Commits
beffe7d3
Commit
beffe7d3
authored
1 year ago
by
Finlay White
Browse files
Options
Downloads
Patches
Plain Diff
badges added
parent
9384dc51
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
createdb.sql
+77
-22
77 additions, 22 deletions
createdb.sql
with
77 additions
and
22 deletions
createdb.sql
+
77
−
22
View file @
beffe7d3
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;``
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment