· 5 years ago · Oct 29, 2020, 05:26 AM
1-- MySQL Script generated by MySQL Workbench
2-- Thu Oct 29 12:18:42 2020
3-- Model: New Model Version: 1.0
4-- MySQL Workbench Forward Engineering
5
6SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
7SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
8SET @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';
9
10-- -----------------------------------------------------
11-- Schema FirstLab
12-- -----------------------------------------------------
13
14-- -----------------------------------------------------
15-- Schema FirstLab
16-- -----------------------------------------------------
17CREATE SCHEMA IF NOT EXISTS `FirstLab` DEFAULT CHARACTER SET utf8 ;
18USE `FirstLab` ;
19
20-- -----------------------------------------------------
21-- Table `FirstLab`.`Больница`
22-- -----------------------------------------------------
23CREATE TABLE IF NOT EXISTS `FirstLab`.`Больница` (
24 `КодБольницы` INT NOT NULL AUTO_INCREMENT,
25 `Название` VARCHAR(150) NOT NULL,
26 `Адресс` VARCHAR(150) NOT NULL,
27 `ЧислоКоек` INT NOT NULL,
28 PRIMARY KEY (`КодБольницы`))
29ENGINE = InnoDB;
30
31
32-- -----------------------------------------------------
33-- Table `FirstLab`.`Врач`
34-- -----------------------------------------------------
35CREATE TABLE IF NOT EXISTS `FirstLab`.`Врач` (
36 `КодВрача` INT NOT NULL AUTO_INCREMENT,
37 `КодБольницы` INT NOT NULL,
38 `Фамилия` VARCHAR(45) NOT NULL,
39 `Специальность` VARCHAR(45) NOT NULL,
40 PRIMARY KEY (`КодВрача`),
41 INDEX `fk_Врач_Больница_idx` (`КодБольницы` ASC) VISIBLE,
42 CONSTRAINT `fk_Врач_Больница`
43 FOREIGN KEY (`КодБольницы`)
44 REFERENCES `FirstLab`.`Больница` (`КодБольницы`)
45 ON DELETE NO ACTION
46 ON UPDATE NO ACTION)
47ENGINE = InnoDB;
48
49
50-- -----------------------------------------------------
51-- Table `FirstLab`.`Палата`
52-- -----------------------------------------------------
53CREATE TABLE IF NOT EXISTS `FirstLab`.`Палата` (
54 `КодБольницы` INT NOT NULL,
55 `НомерПалаты` INT NOT NULL,
56 `Название` VARCHAR(150) NOT NULL,
57 `ЧислоКоек` INT NOT NULL,
58 INDEX `fk_Палата_Больница1_idx` (`КодБольницы` ASC) VISIBLE,
59 PRIMARY KEY (`КодБольницы`, `НомерПалаты`),
60 CONSTRAINT `fk_Палата_Больница1`
61 FOREIGN KEY (`КодБольницы`)
62 REFERENCES `FirstLab`.`Больница` (`КодБольницы`)
63 ON DELETE NO ACTION
64 ON UPDATE NO ACTION)
65ENGINE = InnoDB;
66
67
68-- -----------------------------------------------------
69-- Table `FirstLab`.`Пациент`
70-- -----------------------------------------------------
71CREATE TABLE IF NOT EXISTS `FirstLab`.`Пациент` (
72 `РегистрационныйНомер` INT NOT NULL,
73 `Фамилия` VARCHAR(45) NOT NULL,
74 `Адресс` VARCHAR(45) NOT NULL,
75 `ДатаРождения` DATE NOT NULL,
76 `Пол` ENUM('Мужской', 'Женский') NOT NULL,
77 `НМП` INT NOT NULL,
78 PRIMARY KEY (`РегистрационныйНомер`))
79ENGINE = InnoDB;
80
81
82-- -----------------------------------------------------
83-- Table `FirstLab`.`Лаборатория`
84-- -----------------------------------------------------
85CREATE TABLE IF NOT EXISTS `FirstLab`.`Лаборатория` (
86 `КодЛаборатории` INT NOT NULL AUTO_INCREMENT,
87 `Название` VARCHAR(150) NOT NULL,
88 `Адресс` VARCHAR(150) NOT NULL,
89 PRIMARY KEY (`КодЛаборатории`))
90ENGINE = InnoDB;
91
92
93-- -----------------------------------------------------
94-- Table `FirstLab`.`Диагноз`
95-- -----------------------------------------------------
96CREATE TABLE IF NOT EXISTS `FirstLab`.`Диагноз` (
97 `РегистрационныйНомер` INT NOT NULL,
98 `ТипДиагноза` VARCHAR(150) NOT NULL,
99 `Осложнения` LONGTEXT NULL,
100 `Предупреждающая информация` LONGTEXT NULL,
101 INDEX `fk_Диагноз_Пациент1_idx` (`РегистрационныйНомер` ASC) VISIBLE,
102 CONSTRAINT `fk_Диагноз_Пациент1`
103 FOREIGN KEY (`РегистрационныйНомер`)
104 REFERENCES `FirstLab`.`Пациент` (`РегистрационныйНомер`)
105 ON DELETE NO ACTION
106 ON UPDATE NO ACTION)
107ENGINE = InnoDB;
108
109
110-- -----------------------------------------------------
111-- Table `FirstLab`.`Анализ`
112-- -----------------------------------------------------
113CREATE TABLE IF NOT EXISTS `FirstLab`.`Анализ` (
114 `Пациент_РегистрационныйНомер` INT NOT NULL,
115 `Лаборатория_КодЛаборатории` INT NOT NULL,
116 `ТипАнализа` VARCHAR(45) NOT NULL,
117 `НазначеннаяДата` DATE NOT NULL,
118 `НазначенноеВремя` TIME NOT NULL,
119 `НомерНаправления` VARCHAR(45) NOT NULL,
120 `Состояние` VARCHAR(45) NOT NULL,
121 INDEX `fk_Анализ_Пациент1_idx` (`Пациент_РегистрационныйНомер` ASC) VISIBLE,
122 INDEX `fk_Анализ_Лаборатория1_idx` (`Лаборатория_КодЛаборатории` ASC) VISIBLE,
123 CONSTRAINT `fk_Анализ_Пациент1`
124 FOREIGN KEY (`Пациент_РегистрационныйНомер`)
125 REFERENCES `FirstLab`.`Пациент` (`РегистрационныйНомер`)
126 ON DELETE NO ACTION
127 ON UPDATE NO ACTION,
128 CONSTRAINT `fk_Анализ_Лаборатория1`
129 FOREIGN KEY (`Лаборатория_КодЛаборатории`)
130 REFERENCES `FirstLab`.`Лаборатория` (`КодЛаборатории`)
131 ON DELETE NO ACTION
132 ON UPDATE NO ACTION)
133ENGINE = InnoDB;
134
135
136-- -----------------------------------------------------
137-- Table `FirstLab`.`Персонал`
138-- -----------------------------------------------------
139CREATE TABLE IF NOT EXISTS `FirstLab`.`Персонал` (
140 `Палата_КодБольницы` INT NOT NULL,
141 `Палата_НомерПалаты` VARCHAR(45) NOT NULL,
142 `Фамилия` VARCHAR(45) NOT NULL,
143 `Должность` ENUM('Няня', 'Медсестра', 'Сиделка', 'Санитар') NOT NULL,
144 `Смена` ENUM('Утренняя', 'Вечерняя', 'Ночная') NOT NULL,
145 `Зарплата` INT NOT NULL,
146 INDEX `fk_Персонал_Палата1_idx` (`Палата_КодБольницы` ASC, `Палата_НомерПалаты` ASC) VISIBLE,
147 CONSTRAINT `fk_Персонал_Палата1`
148 FOREIGN KEY (`Палата_КодБольницы` , `Палата_НомерПалаты`)
149 REFERENCES `FirstLab`.`Палата` (`КодБольницы` , `НомерПалаты`)
150 ON DELETE NO ACTION
151 ON UPDATE NO ACTION)
152ENGINE = InnoDB;
153
154
155-- -----------------------------------------------------
156-- Table `FirstLab`.`ВрачПациент`
157-- -----------------------------------------------------
158CREATE TABLE IF NOT EXISTS `FirstLab`.`ВрачПациент` (
159 `КодВрача` INT NOT NULL,
160 `РегистрационныйНомер` INT NOT NULL,
161 PRIMARY KEY (`КодВрача`, `РегистрационныйНомер`),
162 INDEX `fk_Пациент_has_Врач_Врач1_idx` (`КодВрача` ASC) VISIBLE,
163 INDEX `fk_Пациент_has_Врач_Пациент1_idx` (`РегистрационныйНомер` ASC) VISIBLE,
164 CONSTRAINT `fk_Пациент_has_Врач_Пациент1`
165 FOREIGN KEY (`РегистрационныйНомер`)
166 REFERENCES `FirstLab`.`Пациент` (`РегистрационныйНомер`)
167 ON DELETE NO ACTION
168 ON UPDATE NO ACTION,
169 CONSTRAINT `fk_Пациент_has_Врач_Врач1`
170 FOREIGN KEY (`КодВрача`)
171 REFERENCES `FirstLab`.`Врач` (`КодВрача`)
172 ON DELETE NO ACTION
173 ON UPDATE NO ACTION)
174ENGINE = InnoDB;
175
176
177-- -----------------------------------------------------
178-- Table `FirstLab`.`Размещение`
179-- -----------------------------------------------------
180CREATE TABLE IF NOT EXISTS `FirstLab`.`Размещение` (
181 `РегистрационныйНомер` INT NOT NULL,
182 `КодБольницы` INT NOT NULL,
183 `НомерПалаты` INT NOT NULL,
184 `НомерКойки` INT NOT NULL,
185 PRIMARY KEY (`РегистрационныйНомер`, `КодБольницы`, `НомерПалаты`),
186 INDEX `fk_Пациент_has_Палата_Палата1_idx` (`КодБольницы` ASC, `НомерПалаты` ASC) VISIBLE,
187 INDEX `fk_Пациент_has_Палата_Пациент1_idx` (`РегистрационныйНомер` ASC) VISIBLE,
188 CONSTRAINT `fk_Пациент_has_Палата_Пациент1`
189 FOREIGN KEY (`РегистрационныйНомер`)
190 REFERENCES `FirstLab`.`Пациент` (`РегистрационныйНомер`)
191 ON DELETE NO ACTION
192 ON UPDATE NO ACTION,
193 CONSTRAINT `fk_Пациент_has_Палата_Палата1`
194 FOREIGN KEY (`КодБольницы` , `НомерПалаты`)
195 REFERENCES `FirstLab`.`Палата` (`КодБольницы` , `НомерПалаты`)
196 ON DELETE NO ACTION
197 ON UPDATE NO ACTION)
198ENGINE = InnoDB;
199
200
201-- -----------------------------------------------------
202-- Table `FirstLab`.`ТелефонБольницы`
203-- -----------------------------------------------------
204CREATE TABLE IF NOT EXISTS `FirstLab`.`ТелефонБольницы` (
205 `Телефон` INT NOT NULL,
206 `КодБольницы` INT NOT NULL,
207 PRIMARY KEY (`Телефон`, `КодБольницы`),
208 INDEX `fk_Телефон_Больница1_idx` (`КодБольницы` ASC) VISIBLE,
209 CONSTRAINT `fk_Телефон_Больница1`
210 FOREIGN KEY (`КодБольницы`)
211 REFERENCES `FirstLab`.`Больница` (`КодБольницы`)
212 ON DELETE NO ACTION
213 ON UPDATE NO ACTION)
214ENGINE = InnoDB;
215
216
217-- -----------------------------------------------------
218-- Table `FirstLab`.`ТелефонЛаборатории`
219-- -----------------------------------------------------
220CREATE TABLE IF NOT EXISTS `FirstLab`.`ТелефонЛаборатории` (
221 `Телефон` INT NOT NULL,
222 `КодЛаборатории` INT NOT NULL,
223 PRIMARY KEY (`Телефон`, `КодЛаборатории`),
224 INDEX `fk_ТелефонБольницы_Лаборатория1_idx` (`КодЛаборатории` ASC) VISIBLE,
225 CONSTRAINT `fk_ТелефонБольницы_Лаборатория1`
226 FOREIGN KEY (`КодЛаборатории`)
227 REFERENCES `FirstLab`.`Лаборатория` (`КодЛаборатории`)
228 ON DELETE NO ACTION
229 ON UPDATE NO ACTION)
230ENGINE = InnoDB;
231
232
233-- -----------------------------------------------------
234-- Table `FirstLab`.`ЛабораторияБольница`
235-- -----------------------------------------------------
236CREATE TABLE IF NOT EXISTS `FirstLab`.`ЛабораторияБольница` (
237 `Лаборатория_КодЛаборатории` INT NOT NULL,
238 `Больница_КодБольницы` INT NOT NULL,
239 PRIMARY KEY (`Лаборатория_КодЛаборатории`, `Больница_КодБольницы`),
240 INDEX `fk_Лаборатория_has_Больница_Больни_idx` (`Больница_КодБольницы` ASC) VISIBLE,
241 INDEX `fk_Лаборатория_has_Больница_Лабора_idx` (`Лаборатория_КодЛаборатории` ASC) VISIBLE,
242 CONSTRAINT `fk_Лаборатория_has_Больница_Лаборат1`
243 FOREIGN KEY (`Лаборатория_КодЛаборатории`)
244 REFERENCES `FirstLab`.`Лаборатория` (`КодЛаборатории`)
245 ON DELETE NO ACTION
246 ON UPDATE NO ACTION,
247 CONSTRAINT `fk_Лаборатория_has_Больница_Больниц1`
248 FOREIGN KEY (`Больница_КодБольницы`)
249 REFERENCES `FirstLab`.`Больница` (`КодБольницы`)
250 ON DELETE NO ACTION
251 ON UPDATE NO ACTION)
252ENGINE = InnoDB;
253
254
255SET SQL_MODE=@OLD_SQL_MODE;
256SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
257SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
258