Инициирующий коммит
Скопировал код с моего ноута, он, собственно, везде и используется.
This commit is contained in:
commit
a0c6196482
5 changed files with 95 additions and 0 deletions
58
organizational_structure/organizational_structure.sql
Normal file
58
organizational_structure/organizational_structure.sql
Normal file
|
@ -0,0 +1,58 @@
|
|||
-- SQL Схема организационной структуры
|
||||
/* Создал Зажигин Богдан Алексеевич под СУБД
|
||||
SQLite версии 3.32.3. В основном, идентификатор
|
||||
таблиц — rowid. */
|
||||
|
||||
|
||||
|
||||
CREATE TABLE channels ( -- Каналы общения организации
|
||||
ch_participation_uri VARCHAR UNIQUE NOT NULL -- Универсальный идентификатор ресурса (канала общения)
|
||||
/* С помощью функции subsrt() можно будет определить,
|
||||
является ли канал общения групповым чатом по протоколу
|
||||
Telegram, или комнатой в некотором доме Санкт-Петебурга. */
|
||||
);
|
||||
|
||||
CREATE TABLE projects ( -- Проекты организации
|
||||
proj_name VARCHAR UNIQUE NOT NULL, -- Название проекта
|
||||
proj_ch_rowid INT UNIQUE -- Идентификатор канала общения участников проекта.
|
||||
REFERENCES channels (rowid),
|
||||
proj_website VARCHAR UNIQUE -- Копроративный сайт проекта
|
||||
);
|
||||
|
||||
CREATE TABLE divisions ( -- Структурные подразделения организации
|
||||
div_name VARCHAR NOT NULL UNIQUE, -- Название подразделения
|
||||
div_ch_rowid INT NOT NULL UNIQUE -- Идентификатор канала общения для участников подразделения.
|
||||
REFERENCES channels (rowid),
|
||||
div_proj_rowid INT DEFAULT NULL -- Идентификатор проекта, над которым работает подразделение.
|
||||
REFERENCES projects (rowid),
|
||||
div_status BOOLEAN DEFAULT NULL, -- Статус подразделения
|
||||
/* 0 — ликвидировано
|
||||
1 — активно */
|
||||
div_admin VARCHAR DEFAULT NULL -- Контроллирующие подразделение
|
||||
REFERENCES divisions (rowid)
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE people ( -- Зарегистрированные в организации люди, стали клиентами или рабочими
|
||||
per_name VARCHAR NOT NULL, -- Полное имя человека
|
||||
per_tel VARCHAR(11) UNIQUE, -- Личный телефонный номер человека
|
||||
per_email VARCHAR UNIQUE, -- Личная электропочта человека
|
||||
per_tin INT(12) UNIQUE, -- Идентификационный номер налогоплательщика (человека)
|
||||
per_snils INT(9) UNIQUE, -- Страховой номер индивидуального лицевого счёта человека
|
||||
per_dob DATE, -- Дата рождения человека
|
||||
per_gender BOOLEAN -- Половые признаки человека
|
||||
/* 0 — мужские
|
||||
1 — женские */
|
||||
);
|
||||
|
||||
CREATE TABLE employments ( -- Трудоустройство персонала организации
|
||||
emp_per_rowid INT NOT NULL -- Идентификатор рабочего трудоустройста
|
||||
REFERENCES people (rowid),
|
||||
emp_div_rowid INT NOT NULL -- Подразделение работы рабочего
|
||||
REFERENCES divisions (rowid),
|
||||
emp_okpdtr VARCHAR(18) NOT NULL, -- Код информационного блока ОКПДТР рабочего
|
||||
emp_beginning DATE NOT NULL, -- Дата начала трудоустройста
|
||||
emp_ch_rowid VARCHAR -- Копроративная электропочта рабочего данного трудоустройста
|
||||
REFERENCES channels (rowid),
|
||||
emp_ending DATE DEFAULT NULL -- Дата конца трудоустройста
|
||||
);
|
24
organizational_structure/sample_data.sql
Normal file
24
organizational_structure/sample_data.sql
Normal file
|
@ -0,0 +1,24 @@
|
|||
INSERT INTO communication_channels VALUES
|
||||
(1, "tg://join?invite=EBIdIqMZb3lhNWYy");
|
||||
INSERT INTO communication_channels VALUES
|
||||
(2, "tg://join?invite=I3jgOBd5vYg4Zjhi");
|
||||
|
||||
INSERT INTO projects VALUES
|
||||
(1, "Портал проектов", "https://site.zaboal.ru/", 1);
|
||||
INSERT INTO projects VALUES
|
||||
(2, "Сервис аутсорсинга администрирования сайтов", "https://site.aas.zaboal.ru", 2);
|
||||
INSERT INTO projects VALUES
|
||||
(3, "Поощрительная рассылка", "https://site.club.zaboal.ru", NULL);
|
||||
|
||||
INSERT INTO divisions VALUES
|
||||
(1, "Проектное бюро", 1, 2, 1);
|
||||
|
||||
INSERT INTO people VALUES
|
||||
(1, "Зажигин Богдан Алексеевич", "+7 992 195-51-27", "za.boal@vk.com", NULL, NULL, 15012007, 0, "59.831453, 30.327681");
|
||||
INSERT INTO people VALUES
|
||||
(2, "Хисуми", NULL, "hisumimegu.one", NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO employment_cycles VALUES
|
||||
(1, 1, 1, 2149501121004, 21102022, NULL, "zaboal@zaboal.ru");
|
||||
INSERT INTO employment_cycles VALUES
|
||||
(2, 2, 1, 4006782252204, 21102022, NULL, "hisumi@zaboal.ru");
|
1
organizational_structure/sqlite_pragmas.sql
Normal file
1
organizational_structure/sqlite_pragmas.sql
Normal file
|
@ -0,0 +1 @@
|
|||
PRAGMA foreign_keys = ON;
|
|
@ -0,0 +1,5 @@
|
|||
CREATE TABLE users (
|
||||
user_per_rowid INT NOT NULL
|
||||
REFERENCES people (rowid),
|
||||
user_id INT NOT NULL
|
||||
);
|
7
vacancies.sql
Normal file
7
vacancies.sql
Normal file
|
@ -0,0 +1,7 @@
|
|||
CREATE TABLE vacancies (
|
||||
vac_div_rowid INT NOT NULL -- Подразделение открывшее вакансию
|
||||
REFERENCES divisions (rowid),
|
||||
vac_okpdtr VARCHAR(18) NOT NULL, -- Код информационного блока ОКПДТР вакансии
|
||||
vac_per_rowid INT -- Человек, проходящий собеседование по ваканасии
|
||||
REFERENCES people (rowid)
|
||||
);
|
Loading…
Add table
Reference in a new issue