@startuml
left to right direction
'top to bottom direction
hide circle
'avoide "." issues:
set namespaceSeparator none


skinparam class {
  BackgroundColor White
  BackgroundColor<<FN>> Yellow
  BackgroundColor<<FS>> Yellow
  BackgroundColor<<FT>> LightGray
  BackgroundColor<<IF>> Yellow
  BackgroundColor<<IS>> Yellow
  BackgroundColor<<P>> Aqua
  BackgroundColor<<PC>> Aqua
  BackgroundColor<<SN>> Yellow
  BackgroundColor<<SO>> SlateBlue
  BackgroundColor<<TF>> LightGray
  BackgroundColor<<TR>> Tomato
  BackgroundColor<<U>> White
  BackgroundColor<<V>> WhiteSmoke
  BackgroundColor<<X>> Aqua
  BackgroundColor<<external>> AliceBlue
}


entity "puml-link:dhw:sqldb:logs.usp_executionlog_insert.adoc[]" as logs.usp_ExecutionLog_insert << P >> {
  --
}

entity "puml-link:dhw:sqldb:property.repoobjectcolumnproperty.adoc[]" as property.RepoObjectColumnProperty << U >> {
  - **RepoObjectColumnProperty_id** : (int)
  inheritance : (tinyint)
  - property_name : (nvarchar(128))
  - property_value : (nvarchar(max))
  - RepoObjectColumn_guid : (uniqueidentifier)
  ~ property_bigint : (bigint)
  ~ property_float : (float)
  ~ property_int : (int)
  ~ property_money : (money)
  ~ property_real : (real)
  --
}

entity "puml-link:dhw:sqldb:property.repoobjectcolumnproperty_sys_repo.adoc[]" as property.RepoObjectColumnProperty_sys_repo << V >> {
  - **RepoObjectColumn_guid** : (uniqueidentifier)
  - **property_name** : (sysname)
  property_value : (sql_variant)
  RepoObjectColumnProperty_id : (int)
  RepoObjectColumnProperty_property_value : (nvarchar(max))
  SysObject_name : (nvarchar(128))
  SysObject_schema_name : (nvarchar(128))
  SysObjectColumn_name : (nvarchar(128))
  --
}

entity "puml-link:dhw:sqldb:property.repoobjectproperty.adoc[]" as property.RepoObjectProperty << U >> {
  - **RepoObjectProperty_id** : (int)
  inheritance : (tinyint)
  - property_name : (nvarchar(128))
  property_value : (nvarchar(max))
  - RepoObject_guid : (uniqueidentifier)
  ~ property_bigint : (bigint)
  ~ property_float : (float)
  ~ property_int : (int)
  ~ property_money : (money)
  ~ property_real : (real)
  --
}

entity "puml-link:dhw:sqldb:property.repoobjectproperty_sys_repo.adoc[]" as property.RepoObjectProperty_sys_repo << V >> {
  - **RepoObject_guid** : (uniqueidentifier)
  - **property_name** : (sysname)
  property_value : (sql_variant)
  RepoObjectProperty_id : (int)
  RepoObjectProperty_property_value : (nvarchar(max))
  SysObject_name : (nvarchar(128))
  SysObject_schema_name : (nvarchar(128))
  --
}

entity "puml-link:dhw:sqldb:property.usp_sync_extendedproperties_sys2repo_insertupdate.adoc[]" as property.usp_sync_ExtendedProperties_Sys2Repo_InsertUpdate << P >> {
  --
}

entity "puml-link:dhw:sqldb:repo.reposchema.adoc[]" as repo.RepoSchema << U >> {
  - **RepoSchema_guid** : (uniqueidentifier)
  - is_ssas : (bit)
  is_SysSchema_missing : (bit)
  - MeasuresRepoObjekt_guid : (uniqueidentifier)
  RepoSchema_ms_description : (nvarchar(4000))
  - RepoSchema_name : (nvarchar(128))
  SysSchema_id : (int)
  - SysSchema_name : (nvarchar(128))
  ~ has_different_sys_names : (bit)
  # is_RepoSchema_name_uniqueidentifier : (int)
  # is_SysSchema_name_uniqueidentifier : (int)
  # MeasuresRepoObjekt_name : (varchar(9))
  --
}

entity "puml-link:dhw:sqldb:repo_sys.extendedproperties.adoc[]" as repo_sys.ExtendedProperties << V >> {
  - class : (tinyint)
  class_desc : (nvarchar(60))
  entity_column_name : (nvarchar(128))
  entity_index_name : (nvarchar(128))
  entity_parameter_name : (nvarchar(128))
  level2type : (varchar(9))
  - major_id : (int)
  - minor_id : (int)
  minor_name : (nvarchar(128))
  parent_name : (sysname)
  parent_object_id : (int)
  parent_type : (char(2))
  property_basetype : (sql_variant)
  - property_name : (sysname)
  property_nvarchar : (nvarchar(4000))
  property_value : (sql_variant)
  SysObject_name : (nvarchar(128))
  SysObject_schema_name : (nvarchar(128))
  --
}

logs.usp_ExecutionLog_insert <.. property.usp_sync_ExtendedProperties_Sys2Repo_InsertUpdate
property.RepoObjectColumnProperty <.. property.usp_sync_ExtendedProperties_Sys2Repo_InsertUpdate
property.RepoObjectColumnProperty_sys_repo <.. property.usp_sync_ExtendedProperties_Sys2Repo_InsertUpdate
property.RepoObjectProperty <.. property.usp_sync_ExtendedProperties_Sys2Repo_InsertUpdate
property.RepoObjectProperty_sys_repo <.. property.usp_sync_ExtendedProperties_Sys2Repo_InsertUpdate
repo.RepoSchema <.. property.usp_sync_ExtendedProperties_Sys2Repo_InsertUpdate
repo_sys.ExtendedProperties <.. property.usp_sync_ExtendedProperties_Sys2Repo_InsertUpdate
footer The diagram is interactive and contains links.
@enduml

