4.1. SQL-запросы

 

4.1.1. Предварительные действия

Прежде, чем приступать к действиям, описанным далее, следует выполнить SQL-запросы к данному шагу.

 

 

4.1.2. Создание таблицы для хранения данных клиентов

CREATE TABLE t_clients

(

client_id serial NOT NULL, -- ID записи

dttmcr timestamp with time zone NOT NULL DEFAULT now(), -- Дата и время создания записи

dttmup timestamp with time zone, -- Дата и время изменения записи

dttmcl timestamp with time zone, -- Дата и время закрытия записи

userid integer, -- ID пользователя, создавшего запись

client_name text, -- Имя клиента

client_surname text, -- Фамилия клиента

CONSTRAINT pk_t_clients_client_id PRIMARY KEY (client_id)

);

COMMENT ON TABLE t_clients

IS 'Таблица для хранения информации о клиентах';

COMMENT ON COLUMN t_clients.client_id IS 'ID записи';

COMMENT ON COLUMN t_clients.dttmcr IS 'Дата и время создания записи';

COMMENT ON COLUMN t_clients.dttmup IS 'Дата и время изменения записи';

COMMENT ON COLUMN t_clients.dttmcl IS 'Дата и время закрытия записи';

COMMENT ON COLUMN t_clients.userid IS 'ID пользователя, создавшего запись';

COMMENT ON COLUMN t_clients.client_name IS 'Имя клиента';

COMMENT ON COLUMN t_clients.client_surname IS 'Фамилия клиента';

 

 

4.1.3. Создание представления для отображения данных клиентов

CREATE OR REPLACE VIEW vw_clients AS 

SELECT t_clients.client_id,

t_clients.dttmcr,

t_clients.dttmup,

t_clients.dttmcl,

t_clients.userid,

t_clients.client_name,

t_clients.client_surname,

(COALESCE(t_clients.client_name, ''::text) || ' '::text) || COALESCE(t_clients.client_surname, ''::text) AS client_fullname

FROM t_clients;

 

 

4.1.4. Создание таблицы для хранения типов статусов

CREATE TABLE t_status_types

(

status_type_id serial NOT NULL, -- ID записи

dttmcr timestamp with time zone NOT NULL DEFAULT now(), -- Дата и время создания записи

dttmup timestamp with time zone, -- Дата и время изменения записи

dttmcl timestamp with time zone, -- Дата и время закрытия записи

userid integer, -- ID пользователя, создавшего запись

status_type_name text, -- Наименование типа статуса

CONSTRAINT pk_t_status_types_status_type_id PRIMARY KEY (status_type_id)

);

COMMENT ON TABLE t_status_types

IS 'Таблица для хранения типов статусов';

COMMENT ON COLUMN t_status_types.status_type_id IS 'ID записи';

COMMENT ON COLUMN t_status_types.dttmcr IS 'Дата и время создания записи';

COMMENT ON COLUMN t_status_types.dttmup IS 'Дата и время изменения записи';

COMMENT ON COLUMN t_status_types.dttmcl IS 'Дата и время закрытия записи';

COMMENT ON COLUMN t_status_types.userid IS 'ID пользователя, создавшего запись';

COMMENT ON COLUMN t_status_types.status_type_name IS 'Наименование типа статуса';

 

 

4.1.5. Создание таблицы для хранения типов комментариев

CREATE TABLE t_comment_types

(

comment_type_id serial NOT NULL, -- ID записи

dttmcr timestamp with time zone NOT NULL DEFAULT now(), -- Дата и время создания записи

dttmup timestamp with time zone, -- Дата и время изменения записи

dttmcl timestamp with time zone, -- Дата и время закрытия записи

userid integer, -- ID пользователя, создавшего запись

comment_type_name text, -- Наименование типа комментария

CONSTRAINT pk_t_comment_types_comment_type_id PRIMARY KEY (comment_type_id)

);

COMMENT ON TABLE t_comment_types

IS 'Таблица для хранения типа комментариев';

COMMENT ON COLUMN t_comment_types.comment_type_id IS 'ID записи';

COMMENT ON COLUMN t_comment_types.dttmcr IS 'Дата и время создания записи';

COMMENT ON COLUMN t_comment_types.dttmup IS 'Дата и время изменения записи';

COMMENT ON COLUMN t_comment_types.dttmcl IS 'Дата и время закрытия записи';

COMMENT ON COLUMN t_comment_types.userid IS 'ID пользователя, создавшего запись';

COMMENT ON COLUMN t_comment_types.comment_type_name IS 'Наименование типа комментария';

 

 

4.1.6. Добавление типов статусов, используемых в системе

INSERT INTO t_status_types (dttmcr, dttmup, userid, status_type_name) VALUES 

(now(), now(), 1, 'Заявлено'),

(now(), now(), 1, 'В обработке'),

(now(), now(), 1, 'Ответ'),

(now(), now(), 1, 'Закрыто');

 

 

4.1.7. Добавление типов комментариев, используемых в системе

INSERT INTO t_comment_types (dttmcr, dttmup, userid, comment_type_name) VALUES 

(now(), now(), 1, 'Входящее письмо'),

(now(), now(), 1, 'Исходящее письмо'),

(now(), now(), 1, 'Комментарий');

 

 

4.1.8. Далее

4.2. Создание объекта 1301 Клиенты