SQLize Online / PHPize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
/*Создание СУБД с Отделом кадров сотрудников, пациентов, зданий и создание связей по направлением пациентов */ 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 'Льготы пациентов';

Stuck with a problem? Got Error? Ask ChatGPT!

Copy Clear