|
| 1 | +create table membersignup |
| 2 | +( |
| 3 | +name varchar(25) not null, |
| 4 | +sapid varchar(9) check (sapid = '5000%'), |
| 5 | +password varchar(12) ###Check to be applied using userdefined function in python, |
| 6 | +registration_num varchar(12) not null, |
| 7 | +stuchapterID varchar(10) ###to be automatically generated using sapid using userdefined function in python!!!!!, |
| 8 | +branch varchar(15) not null, |
| 9 | +yearofstudy number check (yearofstudy in (1,2,3,4)) not null, |
| 10 | +gender varchar(1) check (gender in (m,M,F,f,o,O)) not null, |
| 11 | +memberfee int check (fee in (500,1000,2000)) not null, |
| 12 | +primary key (sapid,password) |
| 13 | +); |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | +create table committee |
| 18 | +( |
| 19 | +comm_name varchar (20) primary key, |
| 20 | +founder_name varchar (25), |
| 21 | +president_name varcahr (25), |
| 22 | +foreign key (founder_name) references membersignup(name), |
| 23 | +foreign key (president_name) references membersignup(name) |
| 24 | +); |
| 25 | + |
| 26 | + |
| 27 | + |
| 28 | +create table goals |
| 29 | +( |
| 30 | +comm_name varchar(20), |
| 31 | +goals varchar(100) primary key, |
| 32 | +foreign key (comm_name) references committee(comm_name) |
| 33 | +); |
| 34 | + |
| 35 | + |
| 36 | +create table positions |
| 37 | +( |
| 38 | +position varchar(15) primary key |
| 39 | +); |
| 40 | + |
| 41 | + |
| 42 | +create table committee_members |
| 43 | +( |
| 44 | +comm_name varchar(20), |
| 45 | +member_name varchar(25), |
| 46 | +position varchar(15), |
| 47 | +primary key (comm_name,member_name,position), |
| 48 | +foreign key (comm_name) references committee(comm_name), |
| 49 | +foreign key(member_name) references membersignup(name), |
| 50 | +foreign key (position) references positions(position) |
| 51 | +); |
| 52 | + |
| 53 | + |
| 54 | +create table events |
| 55 | +( |
| 56 | +event_name varchar(20) primary key, |
| 57 | +judge varchar(20), |
| 58 | +start_date date, |
| 59 | +end_date date, |
| 60 | +prize_money decimal (5,2), |
| 61 | +conducting_comm varchar(20), |
| 62 | +foreign key (conducting_comm) references committee(comm_name) |
| 63 | +); |
| 64 | + |
| 65 | + |
| 66 | +create table participation |
| 67 | +( |
| 68 | +event_name varchar(20), |
| 69 | +group_name varchar(20) primary key, |
| 70 | +fees decimal(5,2) ###to be assigned after checking number of participants and whether they are in student chapter or not, |
| 71 | +foreign key (event_name) references events(event_name) |
| 72 | +); |
| 73 | + |
| 74 | + |
| 75 | +create table participation_members |
| 76 | +( |
| 77 | +group_name varchar(20), |
| 78 | +member_name varchar(25), |
| 79 | +member_sapid varchar(9), |
| 80 | +foreign key (group_name) references participation(group_name) |
| 81 | +); |
0 commit comments