Skip to content

Commit aa24a4b

Browse files
author
Rohit Eyyunni
committed
fixes to schema and operations 1-15 (need testing)
1 parent 762e574 commit aa24a4b

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

operations.sql

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
CREATE OR REPLACE FUNCTION createAccount(
44
arg_username VARCHAR(30),
55
arg_passkey VARCHAR(30),
6-
arg_p_role olympics.participant_roles
6+
arg_p_role olympics.role
77
) RETURNS VOID as $$
88
DECLARE
99
date_time TIMESTAMP;
1010
BEGIN
11-
INSERT INTO olympics.ACCOUNT (username, passkey, participant_role, last_login)
11+
INSERT INTO olympics.ACCOUNT (username, passkey, role, last_login)
1212
VALUES(arg_username, arg_passkey, arg_p_role, date_time);
1313
END;
1414
$$ language plpgsql;
@@ -211,4 +211,3 @@ BEGIN
211211
END;
212212
$$ language plpgsql;
213213

214-

schema.sql

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ DROP TABLE IF EXISTS VENUE CASCADE;
1818
DROP TABLE IF EXISTS MEDAL CASCADE;
1919
DROP TABLE IF EXISTS PLACEMENT CASCADE;
2020

21+
2122
/*
2223
Domains:
2324
- athlete_gender: 'M' or 'F'
@@ -26,9 +27,14 @@ Domains:
2627
- medal_type: 'Gold', 'Silver', 'Bronze'
2728
*/
2829

30+
DROP DOMAIN IF EXISTS athlete_gender CASCADE;
31+
DROP DOMAIN IF EXISTS team_gender CASCADE;
32+
DROP DOMAIN IF EXISTS role CASCADE;
33+
DROP DOMAIN IF EXISTS medal_type CASCADE;
34+
2935
CREATE DOMAIN athlete_gender AS VARCHAR(1) CHECK (VALUE IN ('M', 'F'));
3036
CREATE DOMAIN team_gender AS VARCHAR(1) CHECK (VALUE IN ('M', 'F', 'X'));
31-
CREATE DOMAIN participant_roles AS VARCHAR(12) CHECK (VALUE IN ('Organizer', 'Participant', 'Guest'));
37+
CREATE DOMAIN role AS VARCHAR(12) CHECK (VALUE IN ('Organizer', 'Participant', 'Guest'));
3238
CREATE DOMAIN medal_type AS VARCHAR(6) CHECK (VALUE IN ('Gold', 'Silver', 'Bronze'));
3339

3440

@@ -67,7 +73,7 @@ Format: (sport_id, sport_name, sport_description, team_size, date_added)
6773
CREATE TABLE SPORT (
6874
sport_id SERIAL,
6975
sport_name VARCHAR(30) NOT NULL,
70-
sport_description VARCHAR(30),
76+
description VARCHAR(30),
7177
team_size INT NOT NULL,
7278
date_added TIMESTAMP NOT NULL,
7379
CONSTRAINT sport_pk PRIMARY KEY (sport_id), --checks that the sport id is unique and not null
@@ -82,7 +88,7 @@ CREATE TABLE ACCOUNT (
8288
account_id SERIAL,
8389
username VARCHAR(30) NOT NULL,
8490
passkey VARCHAR(30) NOT NULL,
85-
participant_role participant_roles NOT NULL,
91+
role role NOT NULL,
8692
last_login TIMESTAMP,
8793
CONSTRAINT account_pk PRIMARY KEY (account_id) --checks that the account id is unique and not null
8894
);
@@ -94,9 +100,9 @@ Format: (participant_id, acount, first_name, middle_name, last_name, birth_count
94100
CREATE TABLE PARTICIPANT (
95101
participant_id SERIAL,
96102
account INT NOT NULL, --account username for reference to account table (identified by account_id)
97-
first_name VARCHAR(30),
98-
middle_name VARCHAR(30), --leaving these open bc some countries have different naming conventions (e.g. brazil can have many last names or only one name)
99-
last_name VARCHAR(30),
103+
first VARCHAR(30),
104+
middle VARCHAR(30), --leaving these open bc some countries have different naming conventions (e.g. brazil can have many last names or only one name)
105+
last VARCHAR(30),
100106
birth_country CHAR(3) NOT NULL, --country code for reference to country table
101107
dob TIMESTAMP,
102108
gender athlete_gender NOT NULL,
@@ -116,7 +122,7 @@ CREATE TABLE TEAM (
116122
sport INT NOT NULL, --sport id for reference to sport table (identified by sport_id)
117123
coach INT NOT NULL, --participant id for reference to participant table (identified by participant_id)
118124
country CHAR(3) NOT NULL, --country code for reference to country,
119-
gender athlete_gender,
125+
gender team_gender,
120126
eligible BOOLEAN,
121127
CONSTRAINT team_pk PRIMARY KEY (team_id), --checks that the team id is unique and not null
122128
CONSTRAINT team_olympiad_fk FOREIGN KEY (olympiad) REFERENCES OLYMPIAD(olympiad_num) ON DELETE CASCADE, --checks that the olympiad number is a valid olympiad number

0 commit comments

Comments
 (0)