Clyde/Documents/proto/messaging_extension/ERD.md
2023-12-13 22:57:37 +01:00

1.2 KiB

Entity relational diagram

Messaging extension

erDiagram

%% General
Users

%% Messages
Discussions{
    Integer id PK
    String name
}

Messages{
    Integer id PK
    Integer response FK "Messages"
    String content
}

Discussions ||--o{ Messages: "" 
Discussions ||--o{ Users: ""

Messages o|--o{ Messages: "answers"

%% Forums
Forums{
    Integer id PK
    String name
}

Topics{
    Integer id PK
    String subject
    String content
    Boolean locked
}
Answers{
    Integer id PK
    String content
    Boolean anonymous
    TimeStamp creation_time 
}

Polls{
    Integer id PK
    enum PollType "ALLOW_NEW_OPTIONS ALLOW_MULTIPLE CHOICE"
}
Options{
    Integer id PK
    String name
}

Forums ||--o{ Users: "Registered"
Forums ||--|| Teacher: "Owner"
Forums ||--|| Course: ""
Forums ||--o{ Topics: ""
Forums ||--o{ Polls: ""

Topics ||--|| Teacher: "Author"
Topics ||--|| Users: "Author"
Topics ||--o{ Answers: ""

Polls ||--o{ Options: ""

Options ||--o{ Votes : ""

Votes }o--|| Users: "Voter"


%% Appointments
Teachers
Appointments{
    Integer id PK
    TIME sent_time
    enum Status
}

Appointments ||--|| Teachers: ""
Appointments ||--|| Users: ""

Debucquoy Anthony