Skip to content
This repository was archived by the owner on Dec 27, 2024. It is now read-only.

Commit b512d08

Browse files
Doc/diagram Добавил Диаграммы и вопросы (#6)
* dev/diagram/ Добавил актуальную схему бд * dev/diagram/ Добавил вопрос * dev/diagram/ Вопрос про таблицы групп
1 parent 4227352 commit b512d08

File tree

6 files changed

+79
-1
lines changed

6 files changed

+79
-1
lines changed

docs/assets/db_new.png

54.5 KB
Loading

docs/dataModel/db_schema.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,4 @@ t_cf_users:
3838

3939
# Примерная схема (не самая красивая)
4040

41-
![context](../assets/db_base_schema.png)
41+
![context](../assets/db_old.png)

docs/diagram/diagram.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Итоговая база данных
2+
1. Решил разделить группы четко на 2 вида: группы команд и группа пользователей
3+
2. Жестко принимаю, что в команде может быть до 3 человек (потому что на командных олимпиадах можно участвовать максимум
4+
втроем).
5+
3. По хорошему стоило сделать дополнительные таблицы, может быть, объединить t_cf_users_groups и
6+
t_cf_users_team_groups в одну таблицу. Однако я не до конца придумал, как обработать все случаи в таком виде. При
7+
этом у меня небольшое приложение, и считаю что текущее разбиение вполне подходит. Большая нормализация усложнит проект.
8+
![db](../assets/db_new.png)

docs/diagram/sources.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Итоговая база данных
2+
```PlantUML
3+
@startuml
4+
5+
' Указываем пакеты для схем
6+
package "security" {
7+
class t_users {
8+
+id: BIGSERIAL
9+
+c_name: TEXT
10+
+c_login: TEXT [UNIQUE]
11+
+c_hashed_password: TEXT
12+
+c_role: TEXT
13+
}
14+
15+
class t_tokens {
16+
+id: BIGSERIAL
17+
+c_token: TEXT
18+
+c_revoked: BOOLEAN
19+
+c_user_id: BIGINT
20+
}
21+
22+
t_users --> t_tokens: "1 -> N"
23+
}
24+
25+
package "codeforces" {
26+
class t_cf_users_teams_groups {
27+
+id: BIGSERIAL
28+
+c_name: TEXT
29+
+c_description: TEXT
30+
+c_user_id: BIGINT
31+
}
32+
33+
class t_cf_teams {
34+
+id: BIGSERIAL
35+
+c_name: TEXT
36+
+c_description: TEXT
37+
+c_first_user_login: TEXT
38+
+c_second_user_login: TEXT
39+
+c_third_user_login: TEXT
40+
+c_group_id: BIGINT
41+
}
42+
43+
class t_cf_users_groups {
44+
+id: BIGSERIAL
45+
+c_name: TEXT
46+
+c_description: TEXT
47+
+c_user_id: BIGINT
48+
}
49+
50+
class cf_users {
51+
+id: BIGSERIAL
52+
+c_name: TEXT
53+
+c_description: TEXT
54+
+c_group_id: BIGINT
55+
}
56+
57+
t_cf_users_teams_groups --> t_cf_teams: "1 -> N"
58+
t_cf_users_groups --> cf_users: "1 -> N"
59+
}
60+
61+
' Внешние ключи между схемами
62+
security.t_users --> codeforces.t_cf_users_teams_groups: "1 -> N"
63+
security.t_users --> codeforces.t_cf_users_groups: "1 -> N"
64+
65+
@enduml
66+
67+
```

docs/other/question.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Небольшой список вопрос
2+
1. Может не хранить токен в бд? По идее мы не должны отвечать за хранение токена. За это отвечает пользователь.
3+
2. Как в итоге быть с таблицами по группам? Оставить как есть, или что-то поменять?

0 commit comments

Comments
 (0)