From 78347140ae30a996d8713d865ca1b34cac9df8d5 Mon Sep 17 00:00:00 2001 From: Gulliver Date: Fri, 11 Jun 2021 00:26:30 +0200 Subject: [PATCH] added entities for users experiences splitted address into separate table added types, length and Nullable information to attributes (based on flask data model) --- doc/source/architecture/erdmodel.plantuml.txt | 109 ++++++++++-------- 1 file changed, 64 insertions(+), 45 deletions(-) diff --git a/doc/source/architecture/erdmodel.plantuml.txt b/doc/source/architecture/erdmodel.plantuml.txt index ad63d37..e7ffce5 100644 --- a/doc/source/architecture/erdmodel.plantuml.txt +++ b/doc/source/architecture/erdmodel.plantuml.txt @@ -7,98 +7,117 @@ hide circle skinparam linetype ortho entity "user" as user { - *user_id : number <> + *id : number <> -- - *nickname : text - *pronouns : text - *address_1_name: text - *address_2_additional: text - *address_4_street: text - *adress_house_number: text - *adress_city_code: text - *adress_country: text - *Ehrenaemter: text - *gravatar_email : text - *Freitext: text + *nickname : text(25) + pronouns : text(25) + fullname: text(100) + volunteerwork: text(4000) + freetext: text(4000) + *created: datetime + *updated: datetime } +entity user_address { + *id : number <> + *userid + -- + street: text(25) + house_number: text(10) + additional: text(25) + postcode: text(10) + city: text(25) + country: text(25) +} +user ||-o{ user_address : user_has_address + entity user_skill { -user_id: id -skill_id: id +*user_id: id +*skill_id: id -- level: number } entity user_language { -user_id: id -language_id: id +*user_id: id +*language_id: id -- level: number } entity skill { - skill_id + *id : number <> -- - *name: text + *name: text(25) } entity user_experience { - user_id + *id : number <> + *user_id -- description start: date end: date } +entity user_experience_experience { + *user_experience_id + *experience_id +} + +user ||--o{ user_experience : user_has_experience +user_experience ||--o{ user_experience_experience : user_experience_is_tagged_with + +entity experience { + *id : number <> + -- + *name: text(25) +} +user_experience_experience }o--|| experience + + entity user_search_topic { -user_id -topic_id + *user_id + *topic_id +-- } entity user_contact { -user_id -contact_type_id + *id : number <> + *user_id + *contact_type_id -- -content_: text + *content: text(200) } entity topic { - topic_id + *id : number <> -- *name: text } entity language { - id + *id : number <> -- - name: text + *name: text(25) } -entity experience { - id - -- - name: text -} - -entity contact_types { - id +entity contact_type { + *id : number <> -- - name + *name: text(25) } user ||--o{ user_skill : user_has_skills -user_skill ||-o{ skill +user_skill ||--o{ skill -user ||--o{ user_experience : user_has_experience -user_experience ||-o{ experience : user_experience_is_tagged_with +user ||--o{ user_language : user_speaks_language +user_language||--{ language -user ||-o{ user_language : user_speaks_language -user_language||-{ language - -user ||-o{ user_search_topic -user_search_topic ||-o{ topic +user ||--o{ user_search_topic +user_search_topic ||--o{ topic user ||-o{ user_contact -user_contact ||-o{ contact_types +user_contact ||-o{ contact_type @enduml