T7846: akonadi > MySQL ERD Review

Pablo Sanchez noreply at phabricator.kde.org
Wed Jan 31 20:09:37 GMT 2018


pablo created this task.
pablo triaged this task as "Normal" priority.

TASK DESCRIPTION
  This is an initial review of the Akonadi/MySQL Entity-Relationship Diagram (ERD).
  
  **Model Notation**
  Crow's Foot <https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model#Crow's_foot_notation>
  
  **Crow's Foot Refresher**
  The symbols at the end of each relationship define the minimum and maximum cardinality:
  
  - | - one
  - o = zero
  - < = many
  
  For example given the following:
  
    [parent]-------o<[child]
  
  
  
  - Each **[parent]** may have //zero to many// **[child]**'s
  - Each **[child]** may have //one and only// one **[parent]**
  
  **Observations**
  
  - There are many standalone entities (e.g. **[collectionpimitemrelation]**, **[tagtypetable]**, **[parttable]**, etc).  I would think that //somehow// they would be related to some other entity.
  - Perhaps this is my own ignorance of Akonadi but at first blush, I see several //islands// of relationships.  For example, here are couple:
    1. **[resourcetable]/[tagremoteidresourcerelationtable]**
    2. **[collectiontable]/[pimitemtable]/[relationtable]/[pimitemtagrelation]/[mimetypetable]**
  - The relationship **[mimetypetable]/[pimitemtable]** is defined such that we can have a **[pimitemtable]** row with no **[mimetypetable]** defined.  I suspect that this is per specification but I want to be sure.  :)
  - //Minor// - personally, I don't like to embed the type of object in the name of the object.  For example, //collection**table**//.  This is admittedly a nitpick.  ;)
  - //Minor// - personally, it would be great to use underscores to separate names.  I find it far easier to read **[tag_remote_id_resource_relationship_table]** than **[tagremoteidresourcerelationshiptable]**  This is yet-another-nitpick.
  
  F5685689: akonadi-mysql.pdf <https://phabricator.kde.org/F5685689>

TASK DETAIL
  https://phabricator.kde.org/T7846

To: pablo
Cc: kde-pim, pablo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20180131/08eb98f1/attachment.html>


More information about the kde-pim mailing list