Skip to content

Latest commit

 

History

History
152 lines (134 loc) · 3.3 KB

File metadata and controls

152 lines (134 loc) · 3.3 KB
erDiagram
    Notification {
        integer notificationID PK
        varchar title
        timestamp createTime
        integer type
    }

    Notification_Person {
        integer notificationID PK
        integer personID PK
    }

    Person {
        integer id PK
        varchar name
        varchar email
        varchar password
        varchar phone
        varchar avatar
    }

    Student {
        integer studentID PK
    }

    Class {
        integer classID PK
        varchar name
        varchar code
        varchar description
        integer eventID
    }

    Student_Class {
        integer classID PK
        integer studentID PK
    }

    Teacher {
        integer teacherID PK
    }

    Teacher_Class {
        integer classID PK
        integer teacherID PK
        varchar role
    }

    Parent {
        integer parentID PK
        integer studentID PK
    }

    GradeDetail {
        integer gradeID PK
        integer assignmentID
        integer classID
        integer studentID
        integer grade100
        varchar comment
    }

    Assignment {
        integer assignmentID PK
        integer eventID
        integer weight
        varchar title
        varchar desc
        integer notificationID
        integer attachmentID
    }

    Post {
        integer postID PK
        integer classID
        varchar title
        varchar content
        integer notificationID
        varchar comment
        integer attachmentID
    }

    Attachment {
        integer attachmentID PK
        link link
        varchar linkTitle
        file file
    }

    Event {
        integer eventID PK
        varchar title
        varchar description
        integer repeatType
        integer repeatTime
    }

    Period {
        integer periodID PK
        integer eventID PK
        timestamp startTime
        timestamp endTime
    }

    Reaction {
        integer postID PK
        integer personID PK
        integer type
    }

    Event_Person {
        integer eventID PK
        integer personID PK
    }

    Lecture {
        integer LectureID PK
        integer classID PK
        varchar title
        varchar content
        integer attachmentID
    }

    Student ||--|| Person : "studentID-id"
    Student ||--|{ Student_Class : "studentID"
    Class ||--|{ Student_Class : "classID"
    Teacher ||--|| Person : "teacherID-id"
    Teacher ||--|{ Teacher_Class : "teacherID"
    Teacher_Class }|--|| Class : "classID"
    Parent ||--|| Student : "studentID"
    Assignment ||--|{ GradeDetail : "assignmentID"
    Parent ||--|| Person : "parentID-id"
    GradeDetail }|--|| Student : "studentID"
    GradeDetail }|--|| Class : "classID"
    Post ||--|| Attachment : "attachmentID"
    Post ||--|{ Reaction : "postID"
    Reaction }|--|| Person : "personID"
    Notification ||--|{ Notification_Person : "notificationID"
    Person ||--|{ Notification_Person : "id-personID"
    Attachment ||--|| Assignment : "attachmentID"
    Notification ||--|| Post : "notificationID"
    Notification ||--|| Assignment : "notificationID"
    Assignment }|--|| Event : "eventID"
    Post }|--|| Class : "classID"
    Person ||--|{ Event_Person : "id-personID"
    Event ||--|{ Event_Person : "eventID"
    Period }|--|| Event : "eventID"
    Lecture }|--|| Class : "classID"
    Lecture ||--|| Attachment : "attachmentID"
Loading