DD.WellWorkover.Cloud/CreateCloud2Scheme.sql

270 lines
8.6 KiB
MySQL
Raw Normal View History

create table t_deposit
(
id serial not null
constraint t_deposit_pk
primary key,
caption varchar(255)
);
comment on table t_deposit is 'Месторождение';
alter table t_deposit
owner to postgres;
create table t_cluster
(
id serial not null
constraint t_cluster_pk
primary key,
caption varchar(255),
id_deposit integer
constraint t_cluster_t_deposit_id_fk
references t_deposit
);
comment on table t_cluster is 'Кусты';
alter table t_cluster
owner to postgres;
create table t_customer
(
id serial not null
constraint t_customer_pk
primary key,
caption varchar(255)
);
alter table t_customer
owner to postgres;
create table t_well
(
id serial not null
constraint t_well_pk
primary key,
caption varchar(255),
id_cluster integer
constraint t_well_t_cluster_id_fk
references t_cluster,
id_customer integer
constraint t_well_t_customer_id_fk
references t_customer
);
comment on table t_well is 'скважины';
alter table t_well
owner to postgres;
create table t_telemetry
(
id serial not null
constraint t_telemetry_pk
primary key,
remote_uid text,
info json,
data json,
id_well integer
constraint t_telemetry_t_well_id_fk
references t_well,
version varchar(64)
);
comment on table t_telemetry is 'таблица привязки телеметрии от комплектов к конкретной скважине.';
comment on column t_telemetry.remote_uid is 'Идентификатор передающего устройства. Может посторяться в списке, так как комплекты оборудования переезжают от скв. к скв.';
comment on column t_telemetry.info is 'Информация с панели о скважине';
comment on column t_telemetry.data is 'последние пришедшие данные со скважины в сыром виде';
comment on column t_telemetry.version is 'Версия ПО в комплекте';
alter table t_telemetry
owner to postgres;
create index t_telemetry_remote_uid_index
on t_telemetry (remote_uid);
create index t_telemetry_version_index
on t_telemetry (version);
create table t_data_saub_base
(
id serial not null
constraint t_data_saub_base_pk
primary key,
id_telemetry integer not null
constraint t_data_saub_base_t_telemetry_id_fk
references t_telemetry,
date timestamp with time zone,
mode integer,
well_depth double precision,
bit_depth double precision,
block_height double precision,
block_speed double precision,
block_speed_sp double precision,
pressure double precision,
pressure_idle double precision,
pressure_sp double precision,
pressure_delta_limit_max double precision,
axial_load double precision,
axial_load_sp double precision,
axial_load_limit_max double precision,
hook_weight double precision,
hook_weight_idle double precision,
hook_weight_limit_min double precision,
hook_weight_limit_max double precision,
rotor_torque double precision,
rotor_torque_idle double precision,
rotor_torque_sp double precision,
rotor_torque_limit_max double precision,
rotor_speed double precision,
flow double precision,
flow_idle double precision,
flow_delta_limit_max double precision
);
comment on table t_data_saub_base is 'набор основных данных по SAUB';
comment on column t_data_saub_base.date is '''2021-10-19 18:23:54+05''';
comment on column t_data_saub_base.mode is 'Режим САУБ';
comment on column t_data_saub_base.well_depth is 'Глубина забоя';
comment on column t_data_saub_base.bit_depth is 'Положение инструмента';
comment on column t_data_saub_base.block_height is 'Высота талевого блока';
comment on column t_data_saub_base.block_speed is 'Скорость талевого блока';
comment on column t_data_saub_base.block_speed_sp is 'Скорости талевого блока. Задание';
comment on column t_data_saub_base.pressure is 'Давление';
comment on column t_data_saub_base.pressure_idle is 'Давление. Холостой ход';
comment on column t_data_saub_base.pressure_sp is 'Давление. Задание';
comment on column t_data_saub_base.pressure_delta_limit_max is 'Давление дифф. Аварийное макс.';
comment on column t_data_saub_base.axial_load is 'Осевая нагрузка';
comment on column t_data_saub_base.axial_load_sp is 'Осевая нагрузка. Задание';
comment on column t_data_saub_base.axial_load_limit_max is 'Осевая нагрузка. Аварийная макс.';
comment on column t_data_saub_base.hook_weight is 'Вес на крюке';
comment on column t_data_saub_base.hook_weight_idle is 'Вес на крюке. Холостой ход';
comment on column t_data_saub_base.hook_weight_limit_min is 'Вес на крюке. Посадка';
comment on column t_data_saub_base.hook_weight_limit_max is 'Вес на крюке. Затяжка';
comment on column t_data_saub_base.rotor_torque is 'Момент на роторе';
comment on column t_data_saub_base.rotor_torque_idle is 'Момент на роторе. Холостой ход';
comment on column t_data_saub_base.rotor_torque_sp is 'Момент на роторе. Задание';
comment on column t_data_saub_base.rotor_torque_limit_max is 'Момент на роторе. Аварийный макс.';
comment on column t_data_saub_base.rotor_speed is 'Обороты ротора';
comment on column t_data_saub_base.flow is 'Расход';
comment on column t_data_saub_base.flow_idle is 'Расход. Холостой ход';
comment on column t_data_saub_base.flow_delta_limit_max is 'Расход. Аварийный макс.';
alter table t_data_saub_base
owner to postgres;
create table t_user
(
id serial not null
constraint t_user_pk
primary key,
id_customer integer
constraint t_user_t_customer_id_fk
references t_customer,
login varchar(255),
password_hash varchar(255),
state smallint,
level integer,
name varchar(255),
surname varchar(255),
patronymic varchar(255)
);
comment on table t_user is 'Пользователи облака';
comment on column t_user.password_hash is 'соленый хэш пароля.
первые 5 символов - соль';
comment on column t_user.state is 'состояние:
100 - удален';
alter table t_user
owner to postgres;
create table t_message
(
id serial not null
constraint t_messages_pk
primary key,
id_telemetry integer
constraint t_messages_t_telemetry_id_fk
references t_telemetry,
id_event integer not null,
id_user integer,
date timestamp with time zone not null,
state integer,
arg0 varchar(255),
arg1 varchar(255),
arg3 varchar(255),
arg4 varchar(255)
);
alter table t_message
owner to postgres;
create table t_event
(
id_event integer,
version varchar(64),
id_category integer,
message_template text,
constraint t_event_pk
unique (id_event, version)
);
comment on table t_event is 'Справочник сообщений. Разделение по версиям посылок телеметрии.';
alter table t_event
owner to postgres;
create table t_telemetry_user
(
id_user integer not null,
id_telemetry integer not null
constraint t_telemetry_user_t_telemetry_id_fk
references t_telemetry,
name varchar(255),
surname varchar(255),
patronymic varchar(255),
level integer,
constraint t_telemetry_user_pk
unique (id_user, id_telemetry)
);
comment on table t_telemetry_user is 'Пользователи панели САУБ. Для сообщений.';
alter table t_telemetry_user
owner to postgres;