This repository was archived by the owner on Feb 9, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprepareDatabase.sql
More file actions
135 lines (116 loc) · 6.38 KB
/
prepareDatabase.sql
File metadata and controls
135 lines (116 loc) · 6.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
-- MySQL Script generated by MySQL Workbench
-- Thu Apr 29 22:07:04 2021
-- Model: Dětský koutek Version: 1.0
-- Rezervační systém dětského koutku při Technické univerzitě v Liberci na Fakultě přírodovědně-humanitní a pedagogické, vytvářený jako bakalářská práce na Fakultě mechatroinky, informatiky a mezioborových studií Technické univerzity v Liberci
-- MySQL Workbench Forward Engineering
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
-- -----------------------------------------------------
-- Schema detskykoutek
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema detskykoutek
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `detskykoutek` DEFAULT CHARACTER SET utf8 ;
USE `detskykoutek` ;
-- -----------------------------------------------------
-- Table `detskykoutek`.`users`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `detskykoutek`.`users` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT 'ID uživatele',
`liane_ID` VARCHAR(45) NOT NULL COMMENT 'ID přidelěné systémem LIANE',
`role` ENUM('parent', 'admin', 'assistant') NOT NULL DEFAULT 'parent' COMMENT 'Role uživatele v systému',
`name` VARCHAR(45) NULL COMMENT 'Jméno rodiče',
`surname` VARCHAR(45) NULL COMMENT 'Příjmení rodiče',
`contact` VARCHAR(45) NULL COMMENT 'Telefonní čísla na rodiče / personál',
PRIMARY KEY (`id`),
UNIQUE INDEX `id_UNIQUE` (`id` ASC))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `detskykoutek`.`children`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `detskykoutek`.`children` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT 'ID dítěte',
`user_id` INT NOT NULL COMMENT 'ID uživatele, kterému dítě patří',
`name` VARCHAR(45) NOT NULL COMMENT 'Jméno dítěte',
`surname` VARCHAR(45) NOT NULL COMMENT 'Příjmení dítěte',
`birthdate` DATE NOT NULL COMMENT 'Datum narození dítěte',
`parent_note` TINYTEXT NULL COMMENT 'Poznámka rodičů viditelná pro personál',
`staff_note` TINYTEXT NULL COMMENT 'Poznámka personálu viditelná pouze pro personál',
PRIMARY KEY (`id`, `user_id`),
UNIQUE INDEX `id_UNIQUE` (`id` ASC),
INDEX `fk_children_users_idx` (`user_id` ASC),
CONSTRAINT `fk_deti_uzivatele`
FOREIGN KEY (`user_id`)
REFERENCES `detskykoutek`.`users` (`id`)
ON DELETE RESTRICT
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `detskykoutek`.`available_times`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `detskykoutek`.`available_times` (
`id` INT NOT NULL AUTO_INCREMENT,
`user_id` INT NOT NULL COMMENT 'ID pedagoga, který má volný čas',
`time_from` DATETIME NOT NULL COMMENT 'Čas akce od kdy je asistent k dispozici',
`time_to` DATETIME NOT NULL COMMENT 'Čas akce do kdy je asistent k dispozici',
`repeating_from` DATE NULL COMMENT 'V případě pravidelného opakování akce, od kdy se bude akce opakovat',
`repeating_to` DATE NULL COMMENT 'V případě pravidelného opakování akce, do kdy se bude akce opakovat',
PRIMARY KEY (`id`, `user_id`),
INDEX `fk_available_times_users_idx` (`user_id` ASC),
UNIQUE INDEX `id_UNIQUE` (`id` ASC),
CONSTRAINT `fk_volnecasy_uzivatele1`
FOREIGN KEY (`user_id`)
REFERENCES `detskykoutek`.`users` (`id`)
ON DELETE CASCADE
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `detskykoutek`.`child_reservations`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `detskykoutek`.`child_reservations` (
`id` INT NOT NULL AUTO_INCREMENT,
`child_id` INT NOT NULL COMMENT 'ID přiřazeného dítěte do daného času',
`time_from` DATETIME NOT NULL COMMENT 'Čas od kdy bude dítě v tomto termínu zarezervováno',
`time_to` DATETIME NOT NULL COMMENT 'Čas do kdy bude dítě v tomto termínu zarezervováno',
`user_id` INT NULL COMMENT 'ID uživatele, který bude asistentem dítěte. Pokud neexistuje, není asistent zatím přidělen',
PRIMARY KEY (`id`, `child_id`),
INDEX `fk_child_reservations_children_idx` (`child_id` ASC),
INDEX `fk_children_reservations_users_idx` (`user_id` ASC),
UNIQUE INDEX `id_UNIQUE` (`id` ASC),
CONSTRAINT `fk_volnecasy_has_deti_deti1`
FOREIGN KEY (`child_id`)
REFERENCES `detskykoutek`.`children` (`id`)
ON DELETE CASCADE
ON UPDATE NO ACTION,
CONSTRAINT `fk_volnecasy_obsazene_detmi_uzivatele1`
FOREIGN KEY (`user_id`)
REFERENCES `detskykoutek`.`users` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `detskykoutek`.`settings`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `detskykoutek`.`settings` (
`setting` VARCHAR(45) NOT NULL DEFAULT 'Položka nastavení',
`value` MEDIUMTEXT NULL DEFAULT 'Hodnota nastavení',
PRIMARY KEY (`setting`),
UNIQUE INDEX `setting_UNIQUE` (`setting` ASC))
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
-- -----------------------------------------------------
-- Data for table `detskykoutek`.`settings`
-- -----------------------------------------------------
START TRANSACTION;
USE `detskykoutek`;
INSERT INTO `detskykoutek`.`settings` (`setting`, `value`) VALUES ('price', '40');
INSERT INTO `detskykoutek`.`settings` (`setting`, `value`) VALUES ('current_info', NULL);
INSERT INTO `detskykoutek`.`settings` (`setting`, `value`) VALUES ('alert_header', NULL);
INSERT INTO `detskykoutek`.`settings` (`setting`, `value`) VALUES ('alert_text', NULL);
INSERT INTO `detskykoutek`.`settings` (`setting`, `value`) VALUES ('alert_type', 'warning');
INSERT INTO `detskykoutek`.`settings` (`setting`, `value`) VALUES ('alert_enable', 'false');
COMMIT;