· 6 years ago · May 29, 2019, 11:10 PM
1-- MySQL Workbench Forward Engineering
2
3SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
4SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
5SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
6
7-- -----------------------------------------------------
8-- Schema mydb
9-- -----------------------------------------------------
10
11-- -----------------------------------------------------
12-- Schema mydb
13-- -----------------------------------------------------
14CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 ;
15USE `mydb` ;
16
17-- -----------------------------------------------------
18-- Table `mydb`.`Zespol`
19-- -----------------------------------------------------
20DROP TABLE IF EXISTS `mydb`.`Zespol` ;
21
22CREATE TABLE IF NOT EXISTS `mydb`.`Zespol` (
23 `idZespol` INT NOT NULL AUTO_INCREMENT,
24 `NazwaZespolu` VARCHAR(45) NOT NULL,
25 `DataPowstania` DATE NOT NULL,
26 `Kraj` VARCHAR(45) NOT NULL,
27 PRIMARY KEY (`idZespol`),
28 UNIQUE INDEX `idZespoly_UNIQUE` (`idZespol` ASC))
29ENGINE = InnoDB;
30
31
32-- -----------------------------------------------------
33-- Table `mydb`.`Wytwórnia`
34-- -----------------------------------------------------
35DROP TABLE IF EXISTS `mydb`.`Wytwórnia` ;
36
37CREATE TABLE IF NOT EXISTS `mydb`.`Wytwórnia` (
38 `idWytwórnia` INT NOT NULL AUTO_INCREMENT,
39 `Nazwa` VARCHAR(45) NOT NULL,
40 `Kraj` VARCHAR(45) NOT NULL,
41 `Miasto` VARCHAR(45) NOT NULL,
42 `Ulica` VARCHAR(45) NOT NULL,
43 `NumerLokalu` SMALLINT NOT NULL,
44 PRIMARY KEY (`idWytwórnia`),
45 UNIQUE INDEX `idWytwórnie_UNIQUE` (`idWytwórnia` ASC))
46ENGINE = InnoDB;
47
48
49-- -----------------------------------------------------
50-- Table `mydb`.`Gatunek`
51-- -----------------------------------------------------
52DROP TABLE IF EXISTS `mydb`.`Gatunek` ;
53
54CREATE TABLE IF NOT EXISTS `mydb`.`Gatunek` (
55 `idGatunek` INT NOT NULL AUTO_INCREMENT,
56 `NazwaGatunku` VARCHAR(45) NOT NULL,
57 `OpisGatunku` VARCHAR(45) NULL,
58 PRIMARY KEY (`idGatunek`),
59 UNIQUE INDEX `idGatunki_UNIQUE` (`idGatunek` ASC),
60 UNIQUE INDEX `NazwaGatunku_UNIQUE` (`NazwaGatunku` ASC))
61ENGINE = InnoDB;
62
63
64-- -----------------------------------------------------
65-- Table `mydb`.`Album`
66-- -----------------------------------------------------
67DROP TABLE IF EXISTS `mydb`.`Album` ;
68
69CREATE TABLE IF NOT EXISTS `mydb`.`Album` (
70 `idAlbum` INT NOT NULL AUTO_INCREMENT,
71 `NazwaAlbumu` VARCHAR(45) NOT NULL DEFAULT '/Nie podana/',
72 `DataWydania` DATE NOT NULL,
73 `Opis` VARCHAR(200) NULL,
74 `FK_idZespol` INT NOT NULL,
75 `Wytwórnia_idWytwórnia` INT NOT NULL,
76 `Gatunki_idGatunek` INT NOT NULL,
77 PRIMARY KEY (`idAlbum`, `FK_idZespol`, `Wytwórnia_idWytwórnia`, `Gatunki_idGatunek`),
78 UNIQUE INDEX `idAlbumy_UNIQUE` (`idAlbum` ASC),
79 INDEX `fk_Albumy_Zespoly_idx` (`FK_idZespol` ASC),
80 INDEX `fk_Albumy_Wytwórnie1_idx` (`Wytwórnia_idWytwórnia` ASC),
81 INDEX `fk_Albumy_Gatunki1_idx` (`Gatunki_idGatunek` ASC),
82 CONSTRAINT `fk_Albumy_Zespoly`
83 FOREIGN KEY (`FK_idZespol`)
84 REFERENCES `mydb`.`Zespol` (`idZespol`)
85 ON DELETE NO ACTION
86 ON UPDATE NO ACTION,
87 CONSTRAINT `fk_Albumy_Wytwórnie1`
88 FOREIGN KEY (`Wytwórnia_idWytwórnia`)
89 REFERENCES `mydb`.`Wytwórnia` (`idWytwórnia`)
90 ON DELETE NO ACTION
91 ON UPDATE NO ACTION,
92 CONSTRAINT `fk_Albumy_Gatunki1`
93 FOREIGN KEY (`Gatunki_idGatunek`)
94 REFERENCES `mydb`.`Gatunek` (`idGatunek`)
95 ON DELETE NO ACTION
96 ON UPDATE NO ACTION)
97ENGINE = InnoDB;
98
99
100-- -----------------------------------------------------
101-- Table `mydb`.`Artysta`
102-- -----------------------------------------------------
103DROP TABLE IF EXISTS `mydb`.`Artysta` ;
104
105CREATE TABLE IF NOT EXISTS `mydb`.`Artysta` (
106 `idArtysta` INT NOT NULL AUTO_INCREMENT,
107 `Imie` VARCHAR(45) NOT NULL,
108 `Nazwisko` VARCHAR(45) NOT NULL,
109 `DataUrodzenia` DATE NOT NULL,
110 `DataSmierci` DATE NULL,
111 PRIMARY KEY (`idArtysta`),
112 UNIQUE INDEX `idArtysci_UNIQUE` (`idArtysta` ASC))
113ENGINE = InnoDB;
114
115
116-- -----------------------------------------------------
117-- Table `mydb`.`Utwor`
118-- -----------------------------------------------------
119DROP TABLE IF EXISTS `mydb`.`Utwor` ;
120
121CREATE TABLE IF NOT EXISTS `mydb`.`Utwor` (
122 `Nazwa` VARCHAR(45) NOT NULL,
123 `Dlugosc` VARCHAR(45) NOT NULL,
124 `Album_idAlbum` INT NOT NULL,
125 `Album_FK_idZespol` INT NOT NULL,
126 `Album_Wytwórnia_idWytwórnia` INT NOT NULL,
127 `Album_Gatunek_idGatunek` INT NOT NULL,
128 PRIMARY KEY (`Album_FK_idZespol`, `Album_Wytwórnia_idWytwórnia`, `Album_Gatunek_idGatunek`, `Album_idAlbum`),
129 CONSTRAINT `fk_Utwory_Albumy1`
130 FOREIGN KEY (`Album_idAlbum` , `Album_FK_idZespol` , `Album_Wytwórnia_idWytwórnia` , `Album_Gatunek_idGatunek`)
131 REFERENCES `mydb`.`Album` (`idAlbum` , `FK_idZespol` , `Wytwórnia_idWytwórnia` , `Gatunki_idGatunek`)
132 ON DELETE NO ACTION
133 ON UPDATE NO ACTION)
134ENGINE = InnoDB;
135
136
137-- -----------------------------------------------------
138-- Table `mydb`.`Uzytkownik`
139-- -----------------------------------------------------
140DROP TABLE IF EXISTS `mydb`.`Uzytkownik` ;
141
142CREATE TABLE IF NOT EXISTS `mydb`.`Uzytkownik` (
143 `idUzytkownik` INT NOT NULL AUTO_INCREMENT,
144 `Avatar` VARCHAR(45) NULL,
145 `Opis` VARCHAR(200) NULL,
146 PRIMARY KEY (`idUzytkownik`),
147 UNIQUE INDEX `idUzytkownicy_UNIQUE` (`idUzytkownik` ASC))
148ENGINE = InnoDB;
149
150
151-- -----------------------------------------------------
152-- Table `mydb`.`Ocena`
153-- -----------------------------------------------------
154DROP TABLE IF EXISTS `mydb`.`Ocena` ;
155
156CREATE TABLE IF NOT EXISTS `mydb`.`Ocena` (
157 `idOcena` INT NOT NULL,
158 `Ocena` TINYINT NOT NULL,
159 `Album_idAlbum` INT NOT NULL,
160 `Albumy_FK_idZespoly` INT NOT NULL,
161 `Album_Wytwórnia_idWytwórnia` INT NOT NULL,
162 `Album_Gatunek_idGatunek` INT NOT NULL,
163 `Uzytkownik_idUzytkownik` INT NOT NULL,
164 `Utwor_Album_FK_idZespol` INT NOT NULL,
165 `Utwor_Album_Wytwórnia_idWytwórnia` INT NOT NULL,
166 `Utwor_Album_Gatunek_idGatunek` INT NOT NULL,
167 `Utwor_Album_idAlbum` INT NOT NULL,
168 PRIMARY KEY (`idOcena`, `Albumy_FK_idZespoly`, `Album_Wytwórnia_idWytwórnia`, `Album_Gatunek_idGatunek`),
169 UNIQUE INDEX `idOcenyAlbumów_UNIQUE` (`idOcena` ASC),
170 INDEX `fk_OcenyAlbumów_Albumy1_idx` (`Album_idAlbum` ASC, `Albumy_FK_idZespoly` ASC, `Album_Wytwórnia_idWytwórnia` ASC, `Album_Gatunek_idGatunek` ASC),
171 INDEX `fk_OcenyAlbumów_Uzytkownicy1_idx` (`Uzytkownik_idUzytkownik` ASC),
172 INDEX `fk_Ocena_Utwor1_idx` (`Utwor_Album_FK_idZespol` ASC, `Utwor_Album_Wytwórnia_idWytwórnia` ASC, `Utwor_Album_Gatunek_idGatunek` ASC, `Utwor_Album_idAlbum` ASC),
173 CONSTRAINT `fk_OcenyAlbumów_Albumy1`
174 FOREIGN KEY (`Album_idAlbum` , `Albumy_FK_idZespoly` , `Album_Wytwórnia_idWytwórnia` , `Album_Gatunek_idGatunek`)
175 REFERENCES `mydb`.`Album` (`idAlbum` , `FK_idZespol` , `Wytwórnia_idWytwórnia` , `Gatunki_idGatunek`)
176 ON DELETE NO ACTION
177 ON UPDATE NO ACTION,
178 CONSTRAINT `fk_OcenyAlbumów_Uzytkownicy1`
179 FOREIGN KEY (`Uzytkownik_idUzytkownik`)
180 REFERENCES `mydb`.`Uzytkownik` (`idUzytkownik`)
181 ON DELETE NO ACTION
182 ON UPDATE NO ACTION,
183 CONSTRAINT `fk_Ocena_Utwor1`
184 FOREIGN KEY (`Utwor_Album_FK_idZespol` , `Utwor_Album_Wytwórnia_idWytwórnia` , `Utwor_Album_Gatunek_idGatunek` , `Utwor_Album_idAlbum`)
185 REFERENCES `mydb`.`Utwor` (`Album_FK_idZespol` , `Album_Wytwórnia_idWytwórnia` , `Album_Gatunek_idGatunek` , `Album_idAlbum`)
186 ON DELETE NO ACTION
187 ON UPDATE NO ACTION)
188ENGINE = InnoDB;
189
190
191-- -----------------------------------------------------
192-- Table `mydb`.`DanaLogowania`
193-- -----------------------------------------------------
194DROP TABLE IF EXISTS `mydb`.`DanaLogowania` ;
195
196CREATE TABLE IF NOT EXISTS `mydb`.`DanaLogowania` (
197 `idDaneLogowan` INT NOT NULL,
198 `Login` VARCHAR(45) NOT NULL,
199 `Hasło` VARCHAR(45) NOT NULL,
200 `Uzytkownik_idUzytkownik` INT NOT NULL,
201 PRIMARY KEY (`idDaneLogowan`, `Uzytkownik_idUzytkownik`),
202 UNIQUE INDEX `Login_UNIQUE` (`Login` ASC),
203 INDEX `fk_DaneLogowan_Uzytkownicy1_idx` (`Uzytkownik_idUzytkownik` ASC),
204 CONSTRAINT `fk_DaneLogowan_Uzytkownicy1`
205 FOREIGN KEY (`Uzytkownik_idUzytkownik`)
206 REFERENCES `mydb`.`Uzytkownik` (`idUzytkownik`)
207 ON DELETE NO ACTION
208 ON UPDATE NO ACTION)
209ENGINE = InnoDB;
210
211
212-- -----------------------------------------------------
213-- Table `mydb`.`Uprawnienie`
214-- -----------------------------------------------------
215DROP TABLE IF EXISTS `mydb`.`Uprawnienie` ;
216
217CREATE TABLE IF NOT EXISTS `mydb`.`Uprawnienie` (
218 `idUprawnienie` INT NOT NULL AUTO_INCREMENT,
219 `DodanieKom` TINYINT NOT NULL,
220 `UsuniecieKom` TINYINT NOT NULL,
221 `UsuniecieUz` TINYINT NOT NULL,
222 `ModyfBazy` TINYINT NOT NULL,
223 PRIMARY KEY (`idUprawnienie`),
224 UNIQUE INDEX `idUprawnienia_UNIQUE` (`idUprawnienie` ASC))
225ENGINE = InnoDB;
226
227
228-- -----------------------------------------------------
229-- Table `mydb`.`Komentarz`
230-- -----------------------------------------------------
231DROP TABLE IF EXISTS `mydb`.`Komentarz` ;
232
233CREATE TABLE IF NOT EXISTS `mydb`.`Komentarz` (
234 `idKomentarz` INT NOT NULL AUTO_INCREMENT,
235 `Tresc` VARCHAR(45) NULL,
236 `Uzytkownicy_idUzytkownicy` INT NOT NULL,
237 PRIMARY KEY (`idKomentarz`),
238 UNIQUE INDEX `idKomentarze_UNIQUE` (`idKomentarz` ASC),
239 INDEX `fk_Komentarze_Uzytkownicy1_idx` (`Uzytkownicy_idUzytkownicy` ASC),
240 CONSTRAINT `fk_Komentarze_Uzytkownicy1`
241 FOREIGN KEY (`Uzytkownicy_idUzytkownicy`)
242 REFERENCES `mydb`.`Uzytkownik` (`idUzytkownik`)
243 ON DELETE NO ACTION
244 ON UPDATE NO ACTION)
245ENGINE = InnoDB;
246
247
248-- -----------------------------------------------------
249-- Table `mydb`.`Uprawnienie Uzytkownika`
250-- -----------------------------------------------------
251DROP TABLE IF EXISTS `mydb`.`Uprawnienie Uzytkownika` ;
252
253CREATE TABLE IF NOT EXISTS `mydb`.`Uprawnienie Uzytkownika` (
254 `Uprawnienie_idUprawnienie` INT NOT NULL,
255 `Uzytkownik_idUzytkownik` INT NOT NULL,
256 PRIMARY KEY (`Uprawnienie_idUprawnienie`, `Uzytkownik_idUzytkownik`),
257 INDEX `fk_Uprawnienia_has_Uzytkownicy_Uzytkownicy1_idx` (`Uzytkownik_idUzytkownik` ASC),
258 INDEX `fk_Uprawnienia_has_Uzytkownicy_Uprawnienia1_idx` (`Uprawnienie_idUprawnienie` ASC),
259 CONSTRAINT `fk_Uprawnienia_has_Uzytkownicy_Uprawnienia1`
260 FOREIGN KEY (`Uprawnienie_idUprawnienie`)
261 REFERENCES `mydb`.`Uprawnienie` (`idUprawnienie`)
262 ON DELETE NO ACTION
263 ON UPDATE NO ACTION,
264 CONSTRAINT `fk_Uprawnienia_has_Uzytkownicy_Uzytkownicy1`
265 FOREIGN KEY (`Uzytkownik_idUzytkownik`)
266 REFERENCES `mydb`.`Uzytkownik` (`idUzytkownik`)
267 ON DELETE NO ACTION
268 ON UPDATE NO ACTION)
269ENGINE = InnoDB;
270
271
272-- -----------------------------------------------------
273-- Table `mydb`.`Umowa`
274-- -----------------------------------------------------
275DROP TABLE IF EXISTS `mydb`.`Umowa` ;
276
277CREATE TABLE IF NOT EXISTS `mydb`.`Umowa` (
278 `Zespol_idZespol` INT NULL,
279 `Artysta_idArtysta` INT NOT NULL,
280 PRIMARY KEY (`Zespol_idZespol`, `Artysta_idArtysta`),
281 INDEX `fk_Zespol_has_Artysta_Artysta1_idx` (`Artysta_idArtysta` ASC),
282 INDEX `fk_Zespol_has_Artysta_Zespol1_idx` (`Zespol_idZespol` ASC),
283 CONSTRAINT `fk_Zespol_has_Artysta_Zespol1`
284 FOREIGN KEY (`Zespol_idZespol`)
285 REFERENCES `mydb`.`Zespol` (`idZespol`)
286 ON DELETE NO ACTION
287 ON UPDATE NO ACTION,
288 CONSTRAINT `fk_Zespol_has_Artysta_Artysta1`
289 FOREIGN KEY (`Artysta_idArtysta`)
290 REFERENCES `mydb`.`Artysta` (`idArtysta`)
291 ON DELETE NO ACTION
292 ON UPDATE NO ACTION)
293ENGINE = InnoDB;
294
295
296SET SQL_MODE=@OLD_SQL_MODE;
297SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
298SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;