Skip to content

Commit

Permalink
update entity relationship diagram
Browse files Browse the repository at this point in the history
  • Loading branch information
jonavellecuerdo committed May 1, 2024
1 parent beedd22 commit 0f5f24a
Showing 1 changed file with 13 additions and 9 deletions.
22 changes: 13 additions & 9 deletions docs/entity_relationship_diagram.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,21 @@

The Publication Email Request Service (PERS) relies on a database to keep track of the email requests that have been sent by stakeholders. Monitoring the email requests via database prevents duplication of email requests. The diagram describes the relationships between entities, or tables, in the database.

The relationships depicted in the diagram can be summarized as follows:
* A `Liaison` belongs to **one** `DLC`.
* A `DLC` is assigned to **one or more** authors.
* A `Publication (needing request)` can be associated with **one or more** `Author(s)`.
* A `Publication (needing request)` can only be included in **one** `Email`; an `Email` can include **one or more** `Publication(s)`.
* When an `Email` is created, it is assigned to **one** `Author` and **one** `Liaison`.
The entities involved in PERS are as follows:

* `DLC`: Represents a department, lab, or center at MIT and is managed by a single **liaison**. A **DLC** can comprise of many **authors**, but an author is assigned to a single **DLC**.
* `Liaison`: Represents a DLS staff member on MIT's Scholarly Communications team. **Liaisons** are assigned to one or more **DLCs**. **Liaisons** receive the email requests generated by PERS, who then send the email to authors in their assigned DLCs.
* `Author`: Represents MIT student and faculty who are registered on Symplectic Elements. An **author** is assigned to a single **DLC**. When citations are imported for an author, zero or more **Publications** may be found that require submission.
* `Publications`: Represents a publication written by one or more **Authors**.
* `Email`: Represents an email request for a publication. Many **publications** may be associated with a single **email**. The email generated by PERS will contain a list of citations for publications that need submission.

**Note:** According to Solenoid documentation, authors on a single publication will receive **at most one (1)** email for a publication. However, (TO BE CONFIRMED) this is only if, when they're data is imported, the publication appears as not having been requested yet (via a second author that was previously imported through PERS).

```mermaid
erDiagram
publication["Publication (needing request)"]{
string id PK
string publication_id PK
string author_id PK
string title
string citation
string email_id FK
Expand Down Expand Up @@ -41,8 +45,8 @@ erDiagram
richtext latest_text
date date_sent
}
liaison }o--o| dlc: "belongs to"
dlc ||--|{ author: has
liaison |o--o{ dlc: "belongs to"
dlc ||--o{ author: has
author }|--o{ publication: has
publication }o--|| email: "included in"
author ||--o{ email: receives
Expand Down

0 comments on commit 0f5f24a

Please sign in to comment.