ER Diagram - LexiconNETGrupp2/LMS GitHub Wiki

erDiagram
    DOCUMENT_TYPE {
        guid Id PK
        string Name
    }

    DOCUMENT {
        guid Id PK
        string Type FK
        string Title
        string Description
        datetime UploadTime
        guid UploadedById FK
        guid CourseId FK
        guid ModuleId FK
        guid ActivityId FK
    }

    USER {
        guid Id PK
        string Username
        string Email
        string FirstName
        string LastName
    }

    COURSE {
        guid Id PK
        string Name
        string Description
        datetime StartDate
        datetime EndDate
    }

    MODULE {
        guid Id PK
        string Name
        string Description
        datetime StartDate
        datetime EndDate
    }

    ACTIVITY {
        guid Id PK
        string Name
        string Type
        string Description
        datetime StartTime
        datetime EndTime
    }

    ACTIVITY_TYPE {
        guid Id PK
        string Name
    }

    DOCUMENT_TYPE ||--o{ DOCUMENT : "has type"
    USER ||--o{ DOCUMENT : "uploads"
    COURSE ||--o{ DOCUMENT : "owns"
    MODULE ||--o{ DOCUMENT : "owns"
    ACTIVITY ||--o{ DOCUMENT : "owns"

    COURSE ||--o{ MODULE : "contains"
    MODULE ||--o{ ACTIVITY : "contains"
    ACTIVITY ||--o| ACTIVITY_TYPE : "has type"

    USER }o--o| COURSE : "participates"