146 lines
3.3 KiB
SQL
146 lines
3.3 KiB
SQL
CREATE TABLE IF NOT EXISTS aw_workforce.dim_workstation_user
|
|
(
|
|
host_name String,
|
|
user_login String,
|
|
user_domain String,
|
|
|
|
employee_id String,
|
|
employee_name String,
|
|
department String,
|
|
branch String,
|
|
position String,
|
|
|
|
source LowCardinality(String),
|
|
is_active UInt8 DEFAULT 1,
|
|
updated_at DateTime DEFAULT now()
|
|
)
|
|
ENGINE = ReplacingMergeTree(updated_at)
|
|
ORDER BY (host_name, user_login);
|
|
|
|
CREATE TABLE IF NOT EXISTS aw_workforce.dim_application_category
|
|
(
|
|
process_name String,
|
|
|
|
application_name String,
|
|
vendor String,
|
|
category LowCardinality(String),
|
|
productivity_class LowCardinality(String),
|
|
risk_level LowCardinality(String),
|
|
|
|
is_system UInt8 DEFAULT 0,
|
|
is_active UInt8 DEFAULT 1,
|
|
source LowCardinality(String),
|
|
comment String,
|
|
updated_at DateTime DEFAULT now()
|
|
)
|
|
ENGINE = ReplacingMergeTree(updated_at)
|
|
ORDER BY process_name;
|
|
|
|
CREATE TABLE IF NOT EXISTS aw_workforce.dim_domain_category
|
|
(
|
|
domain String,
|
|
|
|
site_name String,
|
|
category LowCardinality(String),
|
|
productivity_class LowCardinality(String),
|
|
risk_level LowCardinality(String),
|
|
business_allowed UInt8 DEFAULT 0,
|
|
|
|
source LowCardinality(String),
|
|
comment String,
|
|
is_active UInt8 DEFAULT 1,
|
|
updated_at DateTime DEFAULT now()
|
|
)
|
|
ENGINE = ReplacingMergeTree(updated_at)
|
|
ORDER BY domain;
|
|
|
|
CREATE TABLE IF NOT EXISTS aw_workforce.dim_url_rule
|
|
(
|
|
rule_id String,
|
|
domain String,
|
|
path_pattern String,
|
|
|
|
category LowCardinality(String),
|
|
productivity_class LowCardinality(String),
|
|
risk_level LowCardinality(String),
|
|
|
|
priority UInt16 DEFAULT 100,
|
|
is_active UInt8 DEFAULT 1,
|
|
comment String,
|
|
updated_at DateTime DEFAULT now()
|
|
)
|
|
ENGINE = ReplacingMergeTree(updated_at)
|
|
ORDER BY (domain, priority, rule_id);
|
|
|
|
DROP DICTIONARY IF EXISTS aw_workforce.dict_workstation_user;
|
|
|
|
CREATE DICTIONARY aw_workforce.dict_workstation_user
|
|
(
|
|
host_name String,
|
|
user_login String,
|
|
user_domain String,
|
|
|
|
employee_id String,
|
|
employee_name String,
|
|
department String,
|
|
branch String,
|
|
position String,
|
|
is_active UInt8
|
|
)
|
|
PRIMARY KEY host_name, user_login
|
|
SOURCE(CLICKHOUSE(
|
|
USER 'aw_workforce_dict'
|
|
PASSWORD ''
|
|
DB 'aw_workforce'
|
|
TABLE 'dim_workstation_user'
|
|
))
|
|
LAYOUT(COMPLEX_KEY_HASHED())
|
|
LIFETIME(MIN 3600 MAX 86400);
|
|
|
|
DROP DICTIONARY IF EXISTS aw_workforce.dict_application_category;
|
|
|
|
CREATE DICTIONARY aw_workforce.dict_application_category
|
|
(
|
|
process_name String,
|
|
|
|
application_name String,
|
|
vendor String,
|
|
category String,
|
|
productivity_class String,
|
|
risk_level String,
|
|
is_system UInt8,
|
|
is_active UInt8
|
|
)
|
|
PRIMARY KEY process_name
|
|
SOURCE(CLICKHOUSE(
|
|
USER 'aw_workforce_dict'
|
|
PASSWORD ''
|
|
DB 'aw_workforce'
|
|
TABLE 'dim_application_category'
|
|
))
|
|
LAYOUT(HASHED())
|
|
LIFETIME(MIN 3600 MAX 86400);
|
|
|
|
DROP DICTIONARY IF EXISTS aw_workforce.dict_domain_category;
|
|
|
|
CREATE DICTIONARY aw_workforce.dict_domain_category
|
|
(
|
|
domain String,
|
|
|
|
site_name String,
|
|
category String,
|
|
productivity_class String,
|
|
risk_level String,
|
|
business_allowed UInt8,
|
|
is_active UInt8
|
|
)
|
|
PRIMARY KEY domain
|
|
SOURCE(CLICKHOUSE(
|
|
USER 'aw_workforce_dict'
|
|
PASSWORD ''
|
|
DB 'aw_workforce'
|
|
TABLE 'dim_domain_category'
|
|
))
|
|
LAYOUT(HASHED())
|
|
LIFETIME(MIN 3600 MAX 86400);
|