From c728fa700a071ba28758ae2c0a1d6090720c5cfc Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Tue, 15 Nov 2022 19:10:19 +0100 Subject: [PATCH] Update structure --- structure/structure.puml | 323 +++++++++++++++++++++++++-------------- 1 file changed, 210 insertions(+), 113 deletions(-) diff --git a/structure/structure.puml b/structure/structure.puml index 1bae3a4..2fcacc1 100644 --- a/structure/structure.puml +++ b/structure/structure.puml @@ -3,158 +3,255 @@ hide circle namespace BaseData { - - class Country { + class country { alpha2 alpha3 - numeric + num name } - class WineType { + class currency { + id + name + symbol + } + + namespace AT { + class AT_bank { + blz + name + street + plz + okz + tel_nr + fax_nr + email_address + website + } + + class AT_bundesland { + id + short1 + short2 + name + } + + class AT_gemeinde { + gkz + land_id + name + } + + class AT_ort { + okz + gkz + name + } + + class AT_plz { + plz + okz + id + name + } + + AT_ort -> AT_gemeinde + AT_plz --> AT_ort + AT_gemeinde --> AT_bundesland + AT_bank -> AT_plz + AT_bank -> BaseData.bank + AT_plz -> BaseData.postal_code + + AT_ort --> BaseData.origin + AT_ort --> BaseData.grosslage + } + + class postal_code { + country + id + } + + class wine_variety { id name } - class WineTypeAttribute { + class quality_level { + id + name + from_oe + to_oe + } + + class origin { + id + name + parent + land_id + } + + class bank { + country + bank_id + } + + class grosslage { + id + name + } + + class grosslage_origin { + grosslage_id + origin_id + } + + grosslage_origin --> grosslage + grosslage_origin -> origin + + bank --> country + origin -> origin + origin --> BaseData.AT.AT_bundesland +} + +namespace Data { + class member { + mgnr + branch_id + given_name + family_name + year_of_birth + join_date + leave_date + } + + class contact_information { + mgnr + postal_code + street + tel_nr + mobile_nr + email_address + } + + class branch { + id + name + } + + class area_commitment { + AT_ort + parzellen + mgnr + reed_id + area + wine_variety + wine_attribute + from_year + to_year + } + + class billing_address { + mgnr + name + postal_code + street + } + + class bank_account { + mgnr + country + bank_id + account_nr + name + } + + class wine_attribute { id name short } - class QualityLevel { - + class season { + year + start_date + end_date + currency } - class Region { + class reed { id + grosslage_id name } - class Area { - id - name - } + reed -> BaseData.AT.AT_ort - class VineyardArea { - number - name - } + bank_account --> BaseData.bank - class Municipality { - number - name - } + member --> branch + member <-- area_commitment + member <-- billing_address + member <-- contact_information + member <-- bank_account - class Reed { - number - name - } + billing_address --> BaseData.postal_code + contact_information --> BaseData.postal_code - class Bank { - country - bankCode - fullName - name - street - postalCode - city - telNr - emailAddress - website - } - - Country -- Bank - Country -- Region - - Region - Area - Area - VineyardArea - VineyardArea - Municipality - Municipality - Reed + area_commitment --> BaseData.wine_variety + area_commitment --> wine_attribute + area_commitment --> BaseData.AT.AT_ort + area_commitment --> reed + area_commitment --> BaseData.wine_variety + season --> BaseData.currency } -namespace Data { - - class Member { - number - givenName - familyName - contactInformation - billingAddress - } - - class Branch { - - } - - class AreaCommitment { - - } - - class ContactInformation { - country - postalCode - city - street - telNr - mobileNr - emailAddress - } - - class BillingAddress { - name - country - postalCode - city - street - } - - class BankAccount { - country - bankCode - accountNumber - name - } - - class Delivery { +namespace Season { + class delivery { + year + nr + mgnr date - branchId - number time + branch_id } - class DeliveryPart { - delivery + class delivery_part { + year + delivery_nr + part_nr weight gradation - qualityLevel - wineType + quality_level + wine_variety } - BankAccount -- BaseData.Bank + class modifier { + year + id + name + value + } - Member -- Branch - Member -- AreaCommitment - Member -- ContactInformation - Member -- BillingAddress - Member -- BankAccount - Member -- BaseData.Country + class delivery_part_modifier { + year + delivery_nr + part_nr + modifier_id + } - BillingAddress -- BaseData.Country - ContactInformation --- BaseData.Country + delivery --> Data.season + modifier --> Data.season - AreaCommitment -- BaseData.WineType - AreaCommitment -- BaseData.WineTypeAttribute - AreaCommitment -- BaseData.Municipality - AreaCommitment -- BaseData.Reed + delivery --> Data.member + delivery --> Data.branch + delivery <- delivery_part + delivery_part --> BaseData.quality_level + delivery_part --> BaseData.wine_variety + delivery_part --> Data.wine_attribute - Delivery -- Member - Delivery -- Branch - Delivery - DeliveryPart - DeliveryPart -- BaseData.QualityLevel - DeliveryPart -- BaseData.WineType - DeliveryPart -- BaseData.WineTypeAttribute + delivery_part_modifier --> modifier + delivery_part_modifier --> delivery_part } @enduml