-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTables.txt
118 lines (92 loc) · 3.11 KB
/
Tables.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
DataBase Schema
Account(firstname,middlename,lastname,NationalID,birthdate,grade,college,JoinDate,Gender,
lastseen,profilephoto,codeforceHandle,facebooklink,vjudgeHandle)
uniqe:NationalID,vjudge,codeforceHandle,facebooklink,email
null: facebooklink,VjudgeHandle
Trainees(id,Totalsolvedproblems,lastSubmission,campid,userid,mentorid) //all submition in last two days
uniqe:
null:campid,mentorid
PK:id
Instructor(id,UserId,
Mentor(id,userid)
uniqe:userid
notnull:userid
PK:id
Camps(id,name,year,term,durationinweeks)
uniqe:name
notnull:name,year,term,duration
PK:id
Sessions(id,Topic,instructorname,date,locationname,locationLink,campid)
uniqu:topic
notnull: Topic,instructorname,date,campid
PK:id
SessionsFeedback(sessionid,traineeid,feedback,datetime,Rate)
unique:
notnull:Rate,datetime
PK:sessionid,traineeid
feedback max(500)
MentorsOfCamp(mentorid,campid)
uniqu:(mentorid,campid)
notnull:mentorid,campid
PK:mentorid,campid
TraineesAttendence(traineeid,sessionid)
unique:(traineeid,sessionid)
notnull:traineeid,sessionid
PK:traineeid,sessionid
MentorsAttendence(mentorid,sessionid)
unique:(mentorid,sessionid)
notnull:mentorid,sessionid
PK:(mentorid,sessionid)
Sheets(id,name,numberofproblems,ProblemSheetLink,SheetOrder,campid)
unique:name
notnull:name,numberofproblems
PK:id
TraineesSheetsAccess(traineeid,sheetid,numberofproblems)
unique:(trineeid,sessionid)
notnull:trineeid,sessionid
numberofproblems->default(0)
PK:(trineeid,sessionid)
Materials(id,name,link,sheetid)
unique:name,link,sheetid
notnull:name,link,sheetid
PK:id
TraineesArchive(firstname,middlename,lastname,NationalID,birthdate,grade,college,Gender,
codeforceHandle,facebooklink,vjudgeHandle,email,CampName,phonenumber,iscompleted)
unique:NationalID,vjudge,codeforceHandle,facebooklink,email
null: facebooklink,vjudge,phonenumber
PK:NationalID
StuffArchive(firstname,middlename,lastname,NationalID,birthdate,grade,college,Gender,
codeforceHandle,facebooklink,vjudgeHandle,email,phonenumber)
unique:NationalID,vjudge,codeforceHandle,facebooklink
null:facebooklink,phonenumber,vjudgeHandle,campname
PK:NationalID
NewRegister(firstname,middlename,lastname,NationalID,birthdate,grade,college,Gender,phonenumber
codeforceHandle,facebooklink,email,profilepicture,status)
unique:NationalID,codeforcesHandle
null:phonenumber,status
PK:NationalID
OnDelete:
Trainee - camps Cascade -->should delete the account
Trainee - Mentor Restrict -->should assign trainee to another mentor/edit on migration file not fluentapi
Trainee - sheets Cascade/Restrict sheetid (TraineeSheetAccess)
Trainee - Session /Restrict sessionid (sessionfeedback)/same in (SessionFeedback) (TraineeAttendence)
Camps - Mentor /Restrict campid(Mentorofcamp)
Camps - Sessions Cascade
Session - Mentor /Restrict sessionid mentorAttendence/
Sheets - Materials Cascade
camps - HeadOfTraining setnull at headoftraining
trainee.include(i=>i.mentorid).include(j=>j.account).where(t=>t.id=id);
[resutl.mentor.account.firstname+result.mentor.account.lastname]
[Main tables]
Mentor
camp
trainee
sheet
material
session
stuffArchive
traineeArchive
NewRegisteration
-------------------------
Database Testing:
------------------------