/*Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π‘Π£ΠΠ Ρ ΠΡΠ΄Π΅Π»ΠΎΠΌ ΠΊΠ°Π΄ΡΠΎΠ² ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ², ΠΏΠ°ΡΠΈΠ΅Π½ΡΠΎΠ², Π·Π΄Π°Π½ΠΈΠΉ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ²ΡΠ·Π΅ΠΉ ΠΏΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡΠΈΠ΅Π½ΡΠΎΠ² */
DROP
DATABASE IF EXISTS mskpol;
CREATE DATABASE IF NOT EXISTS mskpol;
USE mskpol;
-- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠΎ ΠΏΠ°ΡΠΈΠ΅Π½ΡΠ°ΠΌ --
DROP
TABLE IF EXISTS patient;
CREATE TABLE IF NOT EXISTS patient (
id serial PRIMARY KEY,
id_patient bigint unsigned UNIQUE COMMENT 'ΠΠ ΠΠΠΠΠ‘',
firstname_patient varchar(50) NOT NULL COMMENT ' Π€Π°ΠΌΠΈΠ»ΠΈΡ',
lastname_patient varchar(50) NOT NULL COMMENT 'ΠΠΌΡ',
middlename_patient varchar (50) COMMENT 'ΠΡΡΠ΅ΡΡΠ²ΠΎ',
birthday DATE CHECK (birthday > '1900-01-01') COMMENT 'ΠΠ°ΡΠ° ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°ΡΠΈΠ΅Π½ΡΠ°',
oms varchar (16) UNIQUE COMMENT 'ΠΠΠ‘',
snils_patient varchar (11) UNIQUE COMMENT 'Π‘ΠΠΠΠ‘',
number1_patient varchar (10) UNIQUE COMMENT 'Π’Π΅Π»Π΅ΡΠΎΠ½ 1',
number2_patient varchar (10) UNIQUE COMMENT 'Π’Π΅Π»Π΅ΡΠΎΠ½ 2',
number3_patient varchar (10) UNIQUE COMMENT 'Π’Π΅Π»Π΅ΡΠΎΠ½ 3',
email varchar(120) UNIQUE COMMENT ' E-mail ΠΏΠ°ΡΠΈΠ΅Π½ΡΠ°' -- password_hash VARCHAR(100), -- 123456 => vzx;clvgkajrpo9udfxvsldkrn24l5456345t
) COMMENT 'ΠΠ°Π½Π½ΡΠ΅ ΠΏΠΎ ΠΏΠ°ΡΠΈΠ΅Π½ΡΠ°ΠΌ';
-- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠΎ ΡΡΠ°ΡΠ½ΠΎΠΌΡ ΡΠΎΡΡΠ°Π²Ρ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² --
DROP
TABLE IF EXISTS shtat;
CREATE TABLE IF NOT EXISTS shtat(
id serial PRIMARY KEY,
firstname_patient varchar(50) NOT NULL COMMENT 'Π€Π°ΠΌΠΈΠ»ΠΈΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°',
lastname_patient varchar(50) NOT NULL COMMENT 'ΠΠΌΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°',
middlename_patient varchar (50) COMMENT 'ΠΡΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°',
birthday DATE CHECK (birthday > '1900-01-01') COMMENT 'ΠΠ΅Π½Ρ ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°',
number1_patient varchar (20) UNIQUE CHECK (
number1_patient regexp '[+]?[0-9]{1,3} ?\\(?[0-9]{3}\\)? ?[0-9]{2}[0-9 -]+[0-9]{2}'
) COMMENT '',
number2_patient varchar (20) UNIQUE CHECK (
number2_patient regexp '[+]?[0-9]{1,3} ?\\(?[0-9]{3}\\)? ?[0-9]{2}[0-9 -]+[0-9]{2}'
) COMMENT '',
number3_patient varchar (20) UNIQUE CHECK (
number3_patient regexp '[+]?[0-9]{1,3} ?\\(?[0-9]{3}\\)? ?[0-9]{2}[0-9 -]+[0-9]{2}'
) COMMENT '',
snils varchar (20) UNIQUE CHECK (
snils regexp '[0-9]{3} ?\\(?[0-9]{3}\\)? ?[0-9]{3}[0-9 -]+[0-9]{3}+[0-9]{2}'
) COMMENT 'Π‘ΠΠΠΠ‘ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°',
email varchar(120) UNIQUE COMMENT 'Email ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°',
positions_id int,
podrazdelenie_id int,
stavka_id int,
project_id int,
FOREIGN key(positions_id) REFERENCES positions (id),
FOREIGN key(podrazdelenie_id) REFERENCES podrazdelenie (id),
FOREIGN key(project_id) REFERENCES project (id),
FOREIGN key(stavka_id) REFERENCES stavka (id),
job_is_active bit DEFAULT (0) -- password_hash VARCHAR(100), -- 123456 => vzx;clvgkajrpo9udfxvsldkrn24l5456345t
) COMMENT 'Π¨ΡΠ°Ρ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ²';
CREATE TABLE IF NOT EXISTS podrazdelenie (
id INT PRIMARY KEY AUTO_INCREMENT,
name_podrazdelenie varchar(200) NOT NULL COMMENT 'ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ'
) COMMENT 'ΠΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅';
CREATE TABLE IF NOT EXISTS positions (
id INT PRIMARY KEY AUTO_INCREMENT,
name_positions varchar(200) NOT NULL COMMENT 'ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠΈ'
) COMMENT 'ΠΠΎΠ»ΠΆΠ½ΠΎΡΡΡ';
CREATE TABLE IF NOT EXISTS stavka (
id INT PRIMARY KEY AUTO_INCREMENT, name_stavka tinyint unsigned NOT NULL COMMENT 'Π‘ΡΠ°Π²ΠΊΠΈ ΠΠ'
) COMMENT 'Π‘ΡΠ°Π²ΠΊΠ°';
-- ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΠΌΠ΅Π΄ΠΈΡΠΈΠ½ΡΠΈΠΌ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΌ --
CREATE TABLE IF NOT EXISTS medac(
id serial PRIMARY KEY,
kod_org_mgfoms int unsigned UNIQUE COMMENT 'ΠΠΎΠ΄ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π±Π΅Π· 77',
kod_org_mgfoms_2 int unsigned UNIQUE COMMENT 'ΠΠΎΠ΄ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ»Π½ΡΠΉ',
org_kr varchar(200) COMMENT 'ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΡΠΎΡΠΊΠΎ',
org_poln text COMMENT 'ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ»Π½ΠΎΠ΅'
) COMMENT 'ΠΠ΅Π΄ΠΈΡΠΈΠ½ΡΠΊΠΈΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ';
-- ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ Π²ΠΈΠ΄Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π² ΠΠ --
CREATE TABLE IF NOT EXISTS project (
id INT PRIMARY KEY AUTO_INCREMENT,
name_poject char(20) NOT NULL COMMENT 'ΠΡΠΎΠ΅ΠΊΡΡ ΠΠ'
) COMMENT 'ΠΡΠΎΠ΅ΠΊΡΡ ΠΈ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ';
-- ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ Π»ΡΠ³ΠΎΡΠ½ΠΎΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ Π²ΠΈΠ΄Ρ --
CREATE TABLE IF NOT EXISTS dlo (
id INT PRIMARY KEY AUTO_INCREMENT,
id_kod_dlo INT COMMENT 'ΠΠΎΠ΄ Π΄Π»ΠΎ',
name_dlo char(235) COMMENT 'Π Π°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ° Π»ΡΠ³ΠΎΡΠ½ΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ'
) COMMENT 'ΠΡΠ³ΠΎΡΠ½ΡΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΏΠ°ΡΠΈΠ΅Π½ΡΠΎΠ²';
-- Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
ΠΏΠΎ ΠΠΠ10 --
DROP
TABLE IF EXISTS mkb10;
CREATE TABLE IF NOT EXISTS mkb10 (
id serial PRIMARY KEY,
mkb10_ds varchar(5) COMMENT 'ΠΠΠ10 ΠΠΈΠ°Π³Π½ΠΎΠ·',
mkb10_name varchar (200) COMMENT 'ΠΠΠ10 ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ° Π΄ΠΈΠ°Π³Π½ΠΎΠ·Π°',
mkb10_rod_id int COMMENT 'ΠΠΠ10 Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ Π΄ΠΈΠ°Π³Π½ΠΎΠ·Π°'
) COMMENT 'ΠΠΠ10 ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ';
CREATE TABLE IF NOT EXISTS mkb10_2(
id serial PRIMARY KEY,
mkb10_rod varchar (8) COMMENT 'ΠΠΠ10 ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ'
) COMMENT 'ΠΠΠ10 ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ Π΄ΠΈΠ°Π³Π½ΠΎΠ·Π°';
-- Π£ΡΠ΅Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΏΠ°ΡΠΈΠ΅Π½ΡΠΎΠ² ΠΎΡ ΠΌΠ΅Π΄.ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠΎΠ² - ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ - Π²ΠΈΠ΄ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ - ΠΏΠΎΠ»ΠΈΡ ΠΎΠΌΡ ΠΏΠ°ΡΠΈΠ΅Π½ΡΠ° - ΡΠΈΠΎ - ΠΌΠΊΠ±10 --
DROP
TABLE IF EXISTS napravlenie;
CREATE TABLE IF NOT EXISTS napravlenie (
id serial PRIMARY KEY,
adder_at datetime DEFAULT CURRENT_TIMESTAMP COMMENT 'ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΠ',
oms_id int COMMENT 'ΠΠΠ‘ ΠΏΠ°ΡΠΈΠ΅Π½ΡΠ°',
fyrstname_id int COMMENT 'Π€Π°ΠΌΠΈΠ»ΠΈΡ ΠΏΠ°ΡΠΈΠ΅Π½ΡΠ°',
namber_napravlenie bigint unsigned UNIQUE COMMENT 'Π½ΠΎΠΌΠ΅Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ',
mkb10_id int COMMENT 'ΠΌΠΊΠ±',
positions_id int COMMENT 'Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΡ',
-- foreign key (mkb10_id) references mkb10 (id),
FOREIGN KEY (positions_id) REFERENCES positions (id),
-- comment 'Π€ΠΠ ΠΡΠ°ΡΠ°',
napavlenie_is_avtive bit DEFAULT (0)
) COMMENT 'ΠΠ°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠΈΠ΅Π½ΡΠΎΠ² Π² Π΄ΡΡΠ³ΠΈΠ΅ ΠΠ';
-- ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΠΏΠ°ΡΠΈΠ΅Π½ΡΠ°ΠΌ Ρ ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊΠ°Ρ ΠΠΠ (ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ) --
DROP
TABLE IF EXISTS llo_patient;
CREATE TABLE IF NOT EXISTS llo_patient (
id serial PRIMARY KEY,
adder_at datetime DEFAULT CURRENT_TIMESTAMP COMMENT 'ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΠ Π΄Π°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ ',
patientid bigint COMMENT 'ΠΠ°ΡΠΈΠ΅Π½Ρ',
dlo_id bigint COMMENT 'ΠΠΎΠ΄ Π»ΡΠ³ΠΎΡΠ½ΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ',
-- foreign key (patientid) references patient (id),
-- foreign key (dlo_id) references dlo (id),
llo_pztient_is_active bit default(0) COMMENT 'Π°ΠΊΡΠΈΠ²Π½Π° Π»ΡΠ³ΠΎΡΠ°'
) COMMENT 'ΠΡΠ³ΠΎΡΡ ΠΏΠ°ΡΠΈΠ΅Π½ΡΠΎΠ²';