left to right 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
}


entity 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)
}

entity repo_sys.ExtendedProperties_ParameterForAddUpdateDrop << V >> {
  --
  * class : tinyint
  class_desc : nvarchar(60)
  level0name : nvarchar(128)
  * level0type : varchar(6)
  level1name : nvarchar(128)
  level1type : varchar(9)
  level2name : nvarchar(128)
  level2type : varchar(10)
  * minor_id : int
  * property_name : sysname
  property_value : sql_variant
  type : char(2)
  type_level1type : varchar(9)
  type_level2type : varchar(10)
}

entity repo_sys.SysObject << V >> {
  --
  * create_date : datetime
  history_table_id : int
  * is_ms_shipped : bit
  * is_published : bit
  * is_schema_published : bit
  max_column_id_used : int
  * modify_date : datetime
  * parent_object_id : int
  principal_id : int
  * schema_id : int
  sql_modules_definition : nvarchar(max)
  * SysObject_fullname : nvarchar(517)
  * SysObject_fullname2 : nvarchar(257)
  * SysObject_id : int
  * SysObject_name : sysname
  SysObject_RepoObject_guid : uniqueidentifier
  SysObject_schema_name : sysname
  temporal_type : tinyint
  temporal_type_desc : nvarchar(60)
  type : char(2)
  type_desc : nvarchar(60)
}

entity sys_dwh.objects << SN >> {
  --
}

repo_sys.ExtendedProperties <.. repo_sys.SysObject
repo_sys.ExtendedProperties <.. repo_sys.ExtendedProperties_ParameterForAddUpdateDrop
sys_dwh.objects <.. repo_sys.ExtendedProperties
sys_dwh.objects <.. repo_sys.ExtendedProperties_ParameterForAddUpdateDrop
sys_dwh.objects <.. repo_sys.SysObject
repo_sys.ExtendedProperties::class <-- repo_sys.ExtendedProperties_ParameterForAddUpdateDrop::class
repo_sys.ExtendedProperties::class_desc <-- repo_sys.ExtendedProperties_ParameterForAddUpdateDrop::class_desc
repo_sys.ExtendedProperties::minor_id <-- repo_sys.ExtendedProperties_ParameterForAddUpdateDrop::minor_id
repo_sys.ExtendedProperties::property_name <-- repo_sys.ExtendedProperties_ParameterForAddUpdateDrop::property_name
repo_sys.ExtendedProperties::property_value <-- repo_sys.ExtendedProperties_ParameterForAddUpdateDrop::property_value
