189 lines
11 KiB
SQL
189 lines
11 KiB
SQL
-- Общая рекомендация - расписать use-case'ы
|
||
-- Сделать все таблицы во множественном числеalter
|
||
-- Нужно оставить либо Id, либо GUID, убрать авто-инкремент
|
||
|
||
CREATE SCHEMA `up_and_down` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
|
||
|
||
CREATE TABLE `up_and_down`.`user` (
|
||
`id` INT8 AUTO_INCREMENT NOT NULL,
|
||
`guid` CHAR(36) NOT NULL,
|
||
`login` VARCHAR(128) NOT NULL,
|
||
`hashed_password` TEXT NOT NULL,
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE INDEX `guid_UNIQUE` (`guid` ASC)
|
||
);
|
||
|
||
CREATE TABLE `up_and_down`.`mania` (
|
||
`level` INT1 NOT NULL,
|
||
`description` TEXT NOT NULL,
|
||
PRIMARY KEY (`level`)
|
||
);
|
||
|
||
CREATE TABLE `up_and_down`.`depression` (
|
||
`level` INT1 NOT NULL,
|
||
`description` TEXT NOT NULL,
|
||
PRIMARY KEY (`level`)
|
||
);
|
||
|
||
CREATE TABLE `up_and_down`.`mood` (
|
||
`level` INT1 NOT NULL,
|
||
`description` TEXT NOT NULL,
|
||
PRIMARY KEY (`level`)
|
||
);
|
||
|
||
CREATE TABLE `up_and_down`.`activity` (
|
||
`level` INT1 NOT NULL,
|
||
`description` TEXT NOT NULL,
|
||
PRIMARY KEY (`level`)
|
||
);
|
||
|
||
CREATE TABLE `up_and_down`.`appetite` (
|
||
`level` INT1 NOT NULL,
|
||
`description` TEXT NOT NULL,
|
||
PRIMARY KEY (`level`)
|
||
);
|
||
|
||
CREATE TABLE `up_and_down`.`sleep` (
|
||
`level` INT1 NOT NULL,
|
||
`description` TEXT NOT NULL,
|
||
PRIMARY KEY (`level`)
|
||
);
|
||
|
||
CREATE TABLE `up_and_down`.`anxiety` (
|
||
`level` INT1 NOT NULL,
|
||
`description` TEXT NOT NULL,
|
||
PRIMARY KEY (`level`)
|
||
);
|
||
|
||
CREATE TABLE `up_and_down`.`diaries` (
|
||
`id` INT8 NOT NULL,
|
||
`user_guid` CHAR(36) NOT NULL,
|
||
`time` DATETIME NOT NULL,
|
||
`mania_level` INT1 NOT NULL,
|
||
`depression_level` INT1 NOT NULL,
|
||
`mood_level` INT1 NOT NULL,
|
||
`activity_level` INT1 NOT NULL,
|
||
`appetite_level` INT1 NOT NULL,
|
||
`sleep_level` INT1 NOT NULL,
|
||
`anxiety_level` INT1 NOT NULL,
|
||
PRIMARY KEY (`id`),
|
||
FOREIGN KEY (`user_guid`) REFERENCES `user`(`guid`),
|
||
FOREIGN KEY (`mania_level`) REFERENCES `mania`(`level`),
|
||
FOREIGN KEY (`depression_level`) REFERENCES `depression`(`level`),
|
||
FOREIGN KEY (`mood_level`) REFERENCES `mood`(`level`),
|
||
FOREIGN KEY (`activity_level`) REFERENCES `activity`(`level`),
|
||
FOREIGN KEY (`appetite_level`) REFERENCES `appetite`(`level`),
|
||
FOREIGN KEY (`sleep_level`) REFERENCES `sleep`(`level`),
|
||
FOREIGN KEY (`anxiety_level`) REFERENCES `anxiety`(`level`),
|
||
UNIQUE INDEX `guid_UNIQUE` (`guid` ASC)
|
||
);
|
||
|
||
-- 1, Name1, 200, мкг, да, 100
|
||
-- 2, Name2, 300, мл, нет, 100
|
||
-- 3, Name3, 50, мг, нет, 101
|
||
CREATE TABLE `up_and_down`.`medications` (
|
||
`guid` CHAR(36) NOT NULL,
|
||
`name` TEXT NOT NULL,
|
||
`dose` int8 NOT NULL,
|
||
`unit` CHAR(30),
|
||
`is_urgent` BOOL NOT NULL,
|
||
`user_guid` CHAR(36) NOT NULL,
|
||
PRIMARY KEY (`guid`)
|
||
-- SCHEME_ID или GROUP_ID - посмотреть
|
||
);
|
||
|
||
|
||
-- 956, 101, 3, 30.06.2025
|
||
-- 957, 100, 2, 24.04.2024
|
||
-- Связать с diaries
|
||
CREATE TABLE `up_and_down`.`set_of_medications` (
|
||
`guid` CHAR(36) NOT NULL,
|
||
`medications_guid` CHAR(36) NOT NULL,
|
||
PRIMARY KEY (`guid`)
|
||
);
|
||
|
||
-- insert constants
|
||
INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (1, 'Полное отсутствие мании');
|
||
INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (2, 'Слегка приподнятое настроение');
|
||
INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (3, 'Хорошее настроение');
|
||
INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (4, 'Очень хорошее настроение, но в рамках разумного');
|
||
INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (5, 'Гипомания I, характерная для циклотимии - приятная эйфория, повышенная активность');
|
||
INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (6, 'Гипомания II, характерная для БАР II - все, что в предыдущем пункте + белеет в глазах');
|
||
INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (7, 'Мания I - периодический не сильный отрыв от реальности');
|
||
INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (8, 'Мания II - сопровождается бредом и галлюцинациями - неадекватная речь');
|
||
INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (9, 'Мания III - сопровождается бредом и галлюцинациями - неадекватное поведение');
|
||
INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (10, 'Мания IV - сопровождается бредом и галлюцинациями - человек опасен для себя и других');
|
||
|
||
INSERT INTO `up_and_down`.`depression` (`level`, `description`) VALUES (1, 'Депрессия I');
|
||
INSERT INTO `up_and_down`.`depression` (`level`, `description`) VALUES (2, 'Депрессия II');
|
||
INSERT INTO `up_and_down`.`depression` (`level`, `description`) VALUES (3, 'Депрессия III');
|
||
INSERT INTO `up_and_down`.`depression` (`level`, `description`) VALUES (4, 'Депрессия IV');
|
||
INSERT INTO `up_and_down`.`depression` (`level`, `description`) VALUES (5, 'Депрессия V');
|
||
INSERT INTO `up_and_down`.`depression` (`level`, `description`) VALUES (6, 'Депрессия VI');
|
||
INSERT INTO `up_and_down`.`depression` (`level`, `description`) VALUES (7, 'Депрессия VII');
|
||
INSERT INTO `up_and_down`.`depression` (`level`, `description`) VALUES (8, 'Депрессия VIII');
|
||
INSERT INTO `up_and_down`.`depression` (`level`, `description`) VALUES (9, 'Депрессия IX');
|
||
INSERT INTO `up_and_down`.`depression` (`level`, `description`) VALUES (10, 'Депрессия X');
|
||
|
||
INSERT INTO `up_and_down`.`mood` (`level`, `description`) VALUES (1, 'Настроение I');
|
||
INSERT INTO `up_and_down`.`mood` (`level`, `description`) VALUES (2, 'Настроение II');
|
||
INSERT INTO `up_and_down`.`mood` (`level`, `description`) VALUES (3, 'Настроение III');
|
||
INSERT INTO `up_and_down`.`mood` (`level`, `description`) VALUES (4, 'Настроение IV');
|
||
INSERT INTO `up_and_down`.`mood` (`level`, `description`) VALUES (5, 'Настроение V');
|
||
INSERT INTO `up_and_down`.`mood` (`level`, `description`) VALUES (6, 'Настроение VI');
|
||
INSERT INTO `up_and_down`.`mood` (`level`, `description`) VALUES (7, 'Настроение VII');
|
||
INSERT INTO `up_and_down`.`mood` (`level`, `description`) VALUES (8, 'Настроение VIII');
|
||
INSERT INTO `up_and_down`.`mood` (`level`, `description`) VALUES (9, 'Настроение IX');
|
||
INSERT INTO `up_and_down`.`mood` (`level`, `description`) VALUES (10, 'Настроение X');
|
||
|
||
INSERT INTO `up_and_down`.`activity` (`level`, `description`) VALUES (1, 'Активность I');
|
||
INSERT INTO `up_and_down`.`activity` (`level`, `description`) VALUES (2, 'Активность II');
|
||
INSERT INTO `up_and_down`.`activity` (`level`, `description`) VALUES (3, 'Активность III');
|
||
INSERT INTO `up_and_down`.`activity` (`level`, `description`) VALUES (4, 'Активность IV');
|
||
INSERT INTO `up_and_down`.`activity` (`level`, `description`) VALUES (5, 'Активность V');
|
||
INSERT INTO `up_and_down`.`activity` (`level`, `description`) VALUES (6, 'Активность VI');
|
||
INSERT INTO `up_and_down`.`activity` (`level`, `description`) VALUES (7, 'Активность VII');
|
||
INSERT INTO `up_and_down`.`activity` (`level`, `description`) VALUES (8, 'Активность VIII');
|
||
INSERT INTO `up_and_down`.`activity` (`level`, `description`) VALUES (9, 'Активность IX');
|
||
INSERT INTO `up_and_down`.`activity` (`level`, `description`) VALUES (10, 'Активность X');
|
||
|
||
INSERT INTO `up_and_down`.`appetite` (`level`, `description`) VALUES (1, 'Аппетит I');
|
||
INSERT INTO `up_and_down`.`appetite` (`level`, `description`) VALUES (2, 'Аппетит II');
|
||
INSERT INTO `up_and_down`.`appetite` (`level`, `description`) VALUES (3, 'Аппетит III');
|
||
INSERT INTO `up_and_down`.`appetite` (`level`, `description`) VALUES (4, 'Аппетит IV');
|
||
INSERT INTO `up_and_down`.`appetite` (`level`, `description`) VALUES (5, 'Аппетит V');
|
||
INSERT INTO `up_and_down`.`appetite` (`level`, `description`) VALUES (6, 'Аппетит VI');
|
||
INSERT INTO `up_and_down`.`appetite` (`level`, `description`) VALUES (7, 'Аппетит VII');
|
||
INSERT INTO `up_and_down`.`appetite` (`level`, `description`) VALUES (8, 'Аппетит VIII');
|
||
INSERT INTO `up_and_down`.`appetite` (`level`, `description`) VALUES (9, 'Аппетит IX');
|
||
INSERT INTO `up_and_down`.`appetite` (`level`, `description`) VALUES (10, 'Аппетит X');
|
||
|
||
INSERT INTO `up_and_down`.`sleep` (`level`, `description`) VALUES (1, 'Сон I');
|
||
INSERT INTO `up_and_down`.`sleep` (`level`, `description`) VALUES (2, 'Сон II');
|
||
INSERT INTO `up_and_down`.`sleep` (`level`, `description`) VALUES (3, 'Сон III');
|
||
INSERT INTO `up_and_down`.`sleep` (`level`, `description`) VALUES (4, 'Сон IV');
|
||
INSERT INTO `up_and_down`.`sleep` (`level`, `description`) VALUES (5, 'Сон V');
|
||
INSERT INTO `up_and_down`.`sleep` (`level`, `description`) VALUES (6, 'Сон VI');
|
||
INSERT INTO `up_and_down`.`sleep` (`level`, `description`) VALUES (7, 'Сон VII');
|
||
INSERT INTO `up_and_down`.`sleep` (`level`, `description`) VALUES (8, 'Сон VIII');
|
||
INSERT INTO `up_and_down`.`sleep` (`level`, `description`) VALUES (9, 'Сон IX');
|
||
INSERT INTO `up_and_down`.`sleep` (`level`, `description`) VALUES (10, 'Сон X');
|
||
|
||
INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (1, 'Тревога I');
|
||
INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (2, 'Тревога II');
|
||
INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (3, 'Тревога III');
|
||
INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (4, 'Тревога IV');
|
||
INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (5, 'Тревога V');
|
||
INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (6, 'Тревога VI');
|
||
INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (7, 'Тревога VII');
|
||
INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (8, 'Тревога VIII');
|
||
INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (9, 'Тревога IX');
|
||
INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (10, 'Тревога X');
|
||
|
||
-- Заполнение пользователями
|
||
INSERT INTO `up_and_down`.`user` (`guid`, `login`, `hashed_password`) VALUES ('ab555fcb-b9ee-45f4-9de8-8f16daa5d03b', 'login1', 'Qwerty12345');
|
||
INSERT INTO `up_and_down`.`user` (`guid`, `login`, `hashed_password`) VALUES ('56b7c993-392f-41f8-adb1-9766842dc5fd', 'login2', 'AVALON123456');
|
||
INSERT INTO `up_and_down`.`user` (`guid`, `login`, `hashed_password`) VALUES ('a243b5f2-e265-4c25-82a9-dde4cc70643f', 'login3', 'Zxcvb123456');
|
||
INSERT INTO `up_and_down`.`user` (`guid`, `login`, `hashed_password`) VALUES ('51351bb1-7563-479d-a8e9-201d0ff934c2', 'login4', 'Sadly846612');
|
||
INSERT INTO `up_and_down`.`user` (`guid`, `login`, `hashed_password`) VALUES ('c792bbe6-2bf2-4fe0-a781-ba96bfeaa3b6', 'login5', 'Qwerty12345');
|