Files
elwig-misc/structure/structure.puml
2022-11-15 19:10:19 +01:00

258 lines
4.0 KiB
Plaintext

@startuml
hide circle
namespace BaseData {
class country {
alpha2
alpha3
num
name
}
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 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 season {
year
start_date
end_date
currency
}
class reed {
id
grosslage_id
name
}
reed -> BaseData.AT.AT_ort
bank_account --> BaseData.bank
member --> branch
member <-- area_commitment
member <-- billing_address
member <-- contact_information
member <-- bank_account
billing_address --> BaseData.postal_code
contact_information --> BaseData.postal_code
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 Season {
class delivery {
year
nr
mgnr
date
time
branch_id
}
class delivery_part {
year
delivery_nr
part_nr
weight
gradation
quality_level
wine_variety
}
class modifier {
year
id
name
value
}
class delivery_part_modifier {
year
delivery_nr
part_nr
modifier_id
}
delivery --> Data.season
modifier --> Data.season
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_part_modifier --> modifier
delivery_part_modifier --> delivery_part
}
@enduml