· 6 years ago · Mar 25, 2019, 09:32 PM
1-- MySQL Script generated by MySQL Workbench
2-- pon, 25 mar 2019, 22:27:19
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='TRADITIONAL,ALLOW_INVALID_DATES';
9
10-- -----------------------------------------------------
11-- Schema linie_lotnicze
12-- -----------------------------------------------------
13
14-- -----------------------------------------------------
15-- Schema linie_lotnicze
16-- -----------------------------------------------------
17CREATE SCHEMA IF NOT EXISTS `linie_lotnicze` DEFAULT CHARACTER SET utf8 ;
18USE `linie_lotnicze` ;
19
20-- -----------------------------------------------------
21-- Table `linie_lotnicze`.`rodzaj_samolotu`
22-- -----------------------------------------------------
23CREATE TABLE IF NOT EXISTS `linie_lotnicze`.`rodzaj_samolotu` (
24 `rodzaj` VARCHAR(45) NOT NULL,
25 `producent` VARCHAR(45) NOT NULL,
26 `kraj_pochodzenia` VARCHAR(45) NOT NULL,
27 PRIMARY KEY (`rodzaj`),
28 UNIQUE INDEX `rodzaj_UNIQUE` (`rodzaj` ASC))
29ENGINE = InnoDB;
30
31
32-- -----------------------------------------------------
33-- Table `linie_lotnicze`.`loty`
34-- -----------------------------------------------------
35CREATE TABLE IF NOT EXISTS `linie_lotnicze`.`loty` (
36 `nazwa` VARCHAR(45) NOT NULL,
37 `koszt` INT NOT NULL,
38 `data_` DATE NOT NULL,
39 `start` VARCHAR(45) NOT NULL,
40 `cel` VARCHAR(45) NOT NULL,
41 `czas_h` FLOAT NOT NULL,
42 `ilosc_km` INT NOT NULL,
43 `rodzaj_samolotu_rodzaj` VARCHAR(45) NOT NULL,
44 PRIMARY KEY (`nazwa`, `rodzaj_samolotu_rodzaj`),
45 UNIQUE INDEX `id_zamowienia_UNIQUE` (`nazwa` ASC),
46 INDEX `fk_loty_rodzaj_samolotu1_idx` (`rodzaj_samolotu_rodzaj` ASC),
47 CONSTRAINT `fk_loty_rodzaj_samolotu1`
48 FOREIGN KEY (`rodzaj_samolotu_rodzaj`)
49 REFERENCES `linie_lotnicze`.`rodzaj_samolotu` (`rodzaj`)
50 ON DELETE NO ACTION
51 ON UPDATE NO ACTION)
52ENGINE = InnoDB;
53
54
55-- -----------------------------------------------------
56-- Table `linie_lotnicze`.`piloci`
57-- -----------------------------------------------------
58CREATE TABLE IF NOT EXISTS `linie_lotnicze`.`piloci` (
59 `id_pilota` INT NOT NULL,
60 `imie` VARCHAR(15) NOT NULL,
61 `nazwisko` VARCHAR(15) NOT NULL,
62 `data_zatrudnienia` DATE NOT NULL,
63 `pensja` INT(11) NOT NULL,
64 `ilosc_lotow` INT NOT NULL,
65 `loty_id_zamowienia` INT NOT NULL,
66 PRIMARY KEY (`id_pilota`, `loty_id_zamowienia`),
67 INDEX `fk_piloci_loty_idx` (`loty_id_zamowienia` ASC),
68 UNIQUE INDEX `id_pilota_UNIQUE` (`id_pilota` ASC),
69 CONSTRAINT `fk_piloci_loty`
70 FOREIGN KEY (`loty_id_zamowienia`)
71 REFERENCES `linie_lotnicze`.`loty` (`nazwa`)
72 ON DELETE NO ACTION
73 ON UPDATE NO ACTION)
74ENGINE = InnoDB;
75
76
77-- -----------------------------------------------------
78-- Table `linie_lotnicze`.`karty_klientow`
79-- -----------------------------------------------------
80CREATE TABLE IF NOT EXISTS `linie_lotnicze`.`karty_klientow` (
81 `numer` INT NOT NULL,
82 `stan_konta` INT(11) NOT NULL,
83 `data_waznosci` DATE NOT NULL,
84 `ilosc_przelotow` INT(11) NOT NULL,
85 PRIMARY KEY (`numer`),
86 UNIQUE INDEX `numer_UNIQUE` (`numer` ASC))
87ENGINE = InnoDB;
88
89
90-- -----------------------------------------------------
91-- Table `linie_lotnicze`.`klienci`
92-- -----------------------------------------------------
93CREATE TABLE IF NOT EXISTS `linie_lotnicze`.`klienci` (
94 `id_klienta` INT NOT NULL,
95 `adres` VARCHAR(45) NOT NULL,
96 `kraj` VARCHAR(45) NOT NULL,
97 `prestiz` VARCHAR(45) NOT NULL,
98 `karty_klientow_numer` INT NOT NULL,
99 PRIMARY KEY (`id_klienta`, `karty_klientow_numer`),
100 UNIQUE INDEX `id_klienta_UNIQUE` (`id_klienta` ASC),
101 INDEX `fk_klienci_karty_klientow1_idx` (`karty_klientow_numer` ASC),
102 CONSTRAINT `fk_klienci_karty_klientow1`
103 FOREIGN KEY (`karty_klientow_numer`)
104 REFERENCES `linie_lotnicze`.`karty_klientow` (`numer`)
105 ON DELETE NO ACTION
106 ON UPDATE NO ACTION)
107ENGINE = InnoDB;
108
109
110-- -----------------------------------------------------
111-- Table `linie_lotnicze`.`uzytkownicy`
112-- -----------------------------------------------------
113CREATE TABLE IF NOT EXISTS `linie_lotnicze`.`uzytkownicy` (
114 `login` VARCHAR(20) NOT NULL,
115 `haslo` VARCHAR(45) NOT NULL,
116 `imie` VARCHAR(20) NOT NULL,
117 `nazwisko` VARCHAR(20) NOT NULL,
118 `mail` VARCHAR(35) NOT NULL,
119 `nr_tel` INT(9) NOT NULL,
120 `data_rejestracji` DATE NOT NULL,
121 `klienci_id_klienta` INT NOT NULL,
122 PRIMARY KEY (`login`, `klienci_id_klienta`),
123 UNIQUE INDEX `login_UNIQUE` (`login` ASC),
124 INDEX `fk_uzytkownicy_klienci1_idx` (`klienci_id_klienta` ASC),
125 CONSTRAINT `fk_uzytkownicy_klienci1`
126 FOREIGN KEY (`klienci_id_klienta`)
127 REFERENCES `linie_lotnicze`.`klienci` (`id_klienta`)
128 ON DELETE NO ACTION
129 ON UPDATE NO ACTION)
130ENGINE = InnoDB;
131
132
133-- -----------------------------------------------------
134-- Table `linie_lotnicze`.`administratorzy`
135-- -----------------------------------------------------
136CREATE TABLE IF NOT EXISTS `linie_lotnicze`.`administratorzy` (
137 `id_admin` INT NOT NULL,
138 `pensja` INT(4) NOT NULL,
139 `od_kiedy` DATE NOT NULL,
140 `uzytkownicy_login` VARCHAR(20) NULL,
141 PRIMARY KEY (`id_admin`),
142 UNIQUE INDEX `id_admin_UNIQUE` (`id_admin` ASC),
143 INDEX `fk_administratorzy_uzytkownicy1_idx` (`uzytkownicy_login` ASC),
144 CONSTRAINT `fk_administratorzy_uzytkownicy1`
145 FOREIGN KEY (`uzytkownicy_login`)
146 REFERENCES `linie_lotnicze`.`uzytkownicy` (`login`)
147 ON DELETE NO ACTION
148 ON UPDATE NO ACTION)
149ENGINE = InnoDB;
150
151
152-- -----------------------------------------------------
153-- Table `linie_lotnicze`.`samoloty`
154-- -----------------------------------------------------
155CREATE TABLE IF NOT EXISTS `linie_lotnicze`.`samoloty` (
156 `nr_samolotu` INT NOT NULL,
157 `model` VARCHAR(45) NOT NULL,
158 `rok_produkcji` INT NOT NULL,
159 `moc_km` INT NOT NULL,
160 `ilosc_miejsc` INT NOT NULL,
161 `ilosc_lotow` INT NOT NULL,
162 `rodzaj_samolotu_rodzaj` VARCHAR(45) NOT NULL,
163 PRIMARY KEY (`nr_samolotu`, `rodzaj_samolotu_rodzaj`),
164 UNIQUE INDEX `nr_samolotu_UNIQUE` (`nr_samolotu` ASC),
165 INDEX `fk_samoloty_rodzaj_samolotu1_idx` (`rodzaj_samolotu_rodzaj` ASC),
166 CONSTRAINT `fk_samoloty_rodzaj_samolotu1`
167 FOREIGN KEY (`rodzaj_samolotu_rodzaj`)
168 REFERENCES `linie_lotnicze`.`rodzaj_samolotu` (`rodzaj`)
169 ON DELETE NO ACTION
170 ON UPDATE NO ACTION)
171ENGINE = InnoDB;
172
173
174-- -----------------------------------------------------
175-- Table `linie_lotnicze`.`loty_has_uzytkownicy`
176-- -----------------------------------------------------
177CREATE TABLE IF NOT EXISTS `linie_lotnicze`.`loty_has_uzytkownicy` (
178 `loty_nazwa` VARCHAR(45) NOT NULL,
179 `uzytkownicy_login` VARCHAR(20) NOT NULL,
180 `uzytkownicy_klienci_id_klienta` INT NOT NULL,
181 PRIMARY KEY (`loty_nazwa`, `uzytkownicy_login`, `uzytkownicy_klienci_id_klienta`),
182 INDEX `fk_loty_has_uzytkownicy_uzytkownicy1_idx` (`uzytkownicy_login` ASC, `uzytkownicy_klienci_id_klienta` ASC),
183 INDEX `fk_loty_has_uzytkownicy_loty1_idx` (`loty_nazwa` ASC),
184 CONSTRAINT `fk_loty_has_uzytkownicy_loty1`
185 FOREIGN KEY (`loty_nazwa`)
186 REFERENCES `linie_lotnicze`.`loty` (`nazwa`)
187 ON DELETE NO ACTION
188 ON UPDATE NO ACTION,
189 CONSTRAINT `fk_loty_has_uzytkownicy_uzytkownicy1`
190 FOREIGN KEY (`uzytkownicy_login` , `uzytkownicy_klienci_id_klienta`)
191 REFERENCES `linie_lotnicze`.`uzytkownicy` (`login` , `klienci_id_klienta`)
192 ON DELETE NO ACTION
193 ON UPDATE NO ACTION)
194ENGINE = InnoDB;
195
196
197SET SQL_MODE=@OLD_SQL_MODE;
198SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
199SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;