· 6 years ago · Apr 11, 2019, 06:42 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='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
6SET GLOBAL foreign_key_checks=0;
7
8
9
10
11
12
13-- Lyhyt alkukommennti. Skripti luotu aluksi käyttämällä mysqlworkbenchin forward engineeriä,
14-- sitten muokattu tietokantaversioon sopivaksi ja tehty lisäyksiä / poistoja tarpeen mujaan
15
16
17
18
19
20
21
22-- -----------------------------------------------------
23-- Schema mydb
24-- -----------------------------------------------------
25
26-- 1. tietokannan poisto ja luonti
27
28DROP SCHEMA IF EXISTS `mydb` ;
29
30-- -----------------------------------------------------
31-- Schema mydb
32-- -----------------------------------------------------
33CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET UTF8 ;
34
35-- 2. tietokannan käyttöönotto (USE..)
36
37USE `mydb` ;
38
39-- 3. taulujen poisto ja luonti
40-- 4. mahdollisten erillisten rajoitteiden poisto ja luonti
41
42
43-- -----------------------------------------------------
44-- Table `mydb`.`Asiakas`
45-- -----------------------------------------------------
46DROP TABLE IF EXISTS `mydb`.`Asiakas` ;
47
48CREATE TABLE IF NOT EXISTS `mydb`.`Asiakas` (
49 `idAsiakas` INT UNSIGNED NOT NULL AUTO_INCREMENT,
50 `Nimi` VARCHAR(45) NOT NULL,
51 `Osoite` VARCHAR(45) NOT NULL,
52 `Ikä` INT NULL,
53 `Sukupuoli` VARCHAR(45) NULL,
54 `Puhelinnro_asiakas` VARCHAR(45) NULL,
55 `Sähköposti` VARCHAR(45) NOT NULL,
56 `Kanta-asiakasnro` INT NULL,
57 PRIMARY KEY (`idAsiakas`))
58ENGINE = InnoDB;
59
60
61-- -----------------------------------------------------
62-- Table `mydb`.`Hotelli`
63-- -----------------------------------------------------
64DROP TABLE IF EXISTS `mydb`.`Hotelli` ;
65
66CREATE TABLE IF NOT EXISTS `mydb`.`Hotelli` (
67 `Hotelli_nimi` VARCHAR(45) NOT NULL,
68 `Sijainti` VARCHAR(45) NOT NULL,
69 `Huonemäärä` INT NOT NULL,
70 `Tähtiluokitus` INT NOT NULL,
71 `Puhelinnro_hotelli` VARCHAR(45) NOT NULL,
72 PRIMARY KEY (`Hotelli_nimi`),
73 UNIQUE INDEX `Nimi_UNIQUE` (`Hotelli_nimi` ASC) )
74ENGINE = InnoDB;
75
76
77-- -----------------------------------------------------
78-- Table `mydb`.`Huone`
79-- -----------------------------------------------------
80DROP TABLE IF EXISTS `mydb`.`Huone` ;
81
82CREATE TABLE IF NOT EXISTS `mydb`.`Huone` (
83 `Huonenumero` INT UNSIGNED NOT NULL AUTO_INCREMENT,
84 `Hotelli_Nimi` VARCHAR(45) NOT NULL,
85 `Koko` VARCHAR(45) NOT NULL,
86 `Hinta_huone` INT NOT NULL,
87 `Saatavuus` TINYINT NOT NULL,
88 PRIMARY KEY (`Huonenumero`, `Hotelli_Nimi`),
89 INDEX `fk_Huone_Hotelli1_idx` (`Hotelli_Nimi` ASC) ,
90 UNIQUE INDEX `idHuone_UNIQUE` (`Huonenumero` ASC) ,
91 CONSTRAINT `fk_Huone_Hotelli1`
92 FOREIGN KEY (`Hotelli_Nimi`)
93 REFERENCES `mydb`.`Hotelli` (`Hotelli_nimi`)
94 ON DELETE NO ACTION
95 ON UPDATE CASCADE)
96ENGINE = InnoDB;
97
98
99-- -----------------------------------------------------
100-- Table `mydb`.`Varaus`
101-- -----------------------------------------------------
102DROP TABLE IF EXISTS `mydb`.`Varaus` ;
103
104CREATE TABLE IF NOT EXISTS `mydb`.`Varaus` (
105 `idVaraus` INT UNSIGNED NOT NULL AUTO_INCREMENT,
106 `idAsiakas` INT UNSIGNED NOT NULL,
107 `Huonenumero` INT UNSIGNED NOT NULL,
108 `Hotelli_Nimi` VARCHAR(45) NOT NULL,
109 `Tulopäivä` DATE NOT NULL,
110 `Lähtöpäivä` DATE NOT NULL,
111 `Lisätiedot` VARCHAR(45) NULL,
112 PRIMARY KEY (`idVaraus`, `idAsiakas`, `Huonenumero`, `Hotelli_Nimi`),
113 INDEX `fk_Varaus_Asiakas1_idx` (`idAsiakas` ASC) ,
114 INDEX `fk_Varaus_Huone1_idx` (`Huonenumero` ASC, `Hotelli_Nimi` ASC) ,
115 CONSTRAINT `fk_Varaus_Asiakas1`
116 FOREIGN KEY (`idAsiakas`)
117 REFERENCES `mydb`.`Asiakas` (`idAsiakas`)
118 ON DELETE NO ACTION
119 ON UPDATE NO ACTION,
120 CONSTRAINT `fk_Varaus_Huone1`
121 FOREIGN KEY (`Huonenumero` , `Hotelli_Nimi`)
122 REFERENCES `mydb`.`Huone` (`Huonenumero` , `Hotelli_Nimi`)
123 ON DELETE NO ACTION
124 ON UPDATE NO ACTION)
125ENGINE = InnoDB;
126
127
128-- -----------------------------------------------------
129-- Table `mydb`.`Lasku`
130-- -----------------------------------------------------
131DROP TABLE IF EXISTS `mydb`.`Lasku` ;
132
133CREATE TABLE IF NOT EXISTS `mydb`.`Lasku` (
134 `idLasku` INT UNSIGNED NOT NULL AUTO_INCREMENT,
135 `idAsiakas` INT UNSIGNED NOT NULL,
136 `Saajan_tilinumero` VARCHAR(45) NOT NULL,
137 `Saajan_nimi` VARCHAR(45) NOT NULL,
138 `Kokonaishinta` INT NOT NULL,
139 `Erittely` VARCHAR(45) NOT NULL,
140 `Maksettu` TINYINT NULL DEFAULT 0,
141 PRIMARY KEY (`idLasku`, `idAsiakas`),
142 INDEX `fk_Lasku_Asiakas1_idx` (`idAsiakas` ASC) ,
143 UNIQUE INDEX `idLasku_UNIQUE` (`idLasku` ASC) ,
144 CONSTRAINT `fk_Lasku_Asiakas1`
145 FOREIGN KEY (`idAsiakas`)
146 REFERENCES `mydb`.`Asiakas` (`idAsiakas`)
147 ON DELETE NO ACTION
148 ON UPDATE NO ACTION)
149ENGINE = InnoDB;
150
151
152-- -----------------------------------------------------
153-- Table `mydb`.`Palaute`
154-- -----------------------------------------------------
155DROP TABLE IF EXISTS `mydb`.`Palaute` ;
156
157CREATE TABLE IF NOT EXISTS `mydb`.`Palaute` (
158 `idArvostelu` INT UNSIGNED NOT NULL AUTO_INCREMENT,
159 `idAsiakas` INT UNSIGNED NOT NULL,
160 `Hotelli_nimi` VARCHAR(45) NOT NULL,
161 `Huonenumero` INT UNSIGNED NOT NULL,
162 `Arvosana` INT NOT NULL,
163 `Pvm_palaute` DATE NOT NULL,
164 `Huonepalaute` VARCHAR(200) NULL,
165 `Palvelupalaute` VARCHAR(200) NULL,
166 CHECK (Arvosana <= 5),
167 CHECK (Arvosana >= 1),
168 PRIMARY KEY (`idArvostelu`, `idAsiakas`, `Hotelli_nimi`, `Huonenumero`),
169 INDEX `fk_Arvostelu_Asiakas1_idx` (`idAsiakas` ASC) ,
170 INDEX `fk_Palaute_Huone1_idx` (`Huonenumero` ASC, `Hotelli_nimi` ASC) ,
171 UNIQUE INDEX `idArvostelu_UNIQUE` (`idArvostelu` ASC) ,
172 CONSTRAINT `fk_Arvostelu_Asiakas1`
173 FOREIGN KEY (`idAsiakas`)
174 REFERENCES `mydb`.`Asiakas` (`idAsiakas`)
175 ON DELETE NO ACTION
176 ON UPDATE NO ACTION,
177 CONSTRAINT `fk_Palaute_Huone1`
178 FOREIGN KEY (`Huonenumero` , `Hotelli_nimi`)
179 REFERENCES `mydb`.`Huone` (`Huonenumero` , `Hotelli_Nimi`)
180 ON DELETE NO ACTION
181 ON UPDATE NO ACTION)
182ENGINE = InnoDB;
183
184
185-- -----------------------------------------------------
186-- Table `mydb`.`Lisäpalvelut`
187-- -----------------------------------------------------
188DROP TABLE IF EXISTS `mydb`.`Lisäpalvelut` ;
189
190CREATE TABLE IF NOT EXISTS `mydb`.`Lisäpalvelut` (
191 `idLisäpalvelut` INT UNSIGNED NOT NULL AUTO_INCREMENT,
192 `Sisältö_palvelu` VARCHAR(45) NOT NULL,
193 `Hinta_palvelu` INT NOT NULL,
194 PRIMARY KEY (`idLisäpalvelut`))
195ENGINE = InnoDB;
196
197
198-- -----------------------------------------------------
199-- Table `mydb`.`Tarjoukset`
200-- -----------------------------------------------------
201DROP TABLE IF EXISTS `mydb`.`Tarjoukset` ;
202
203CREATE TABLE IF NOT EXISTS `mydb`.`Tarjoukset` (
204 `idTarjoukset` INT UNSIGNED NOT NULL AUTO_INCREMENT,
205 `Nimi` VARCHAR(45) NOT NULL,
206 `Alkupäivä` DATE NOT NULL,
207 `Loppupäivä` DATE NOT NULL,
208 `Alennus` VARCHAR(45) NOT NULL,
209 `Rajoite` VARCHAR(45) NULL,
210 PRIMARY KEY (`idTarjoukset`))
211ENGINE = InnoDB;
212
213
214-- -----------------------------------------------------
215-- Table `mydb`.`Huone_has_Tarjoukset`
216-- -----------------------------------------------------
217DROP TABLE IF EXISTS `mydb`.`Huoneen_Tarjoukset` ;
218
219CREATE TABLE IF NOT EXISTS `mydb`.`Huoneen_Tarjoukset` (
220 `Tarjoukset_idTarjoukset` INT UNSIGNED NOT NULL,
221 `Huone_idHuone` INT UNSIGNED NOT NULL,
222 `Huone_Hotelli_Nimi` VARCHAR(45) NOT NULL,
223 PRIMARY KEY (`Tarjoukset_idTarjoukset`, `Huone_idHuone`, `Huone_Hotelli_Nimi`),
224 INDEX `fk_Tarjoukset_has_Huone_Tarjoukset1_idx` (`Tarjoukset_idTarjoukset` ASC) ,
225 INDEX `fk_Huonetarjoukset_Huone1_idx` (`Huone_idHuone` ASC, `Huone_Hotelli_Nimi` ASC) ,
226 CONSTRAINT `fk_Tarjoukset_has_Huone_Tarjoukset1`
227 FOREIGN KEY (`Tarjoukset_idTarjoukset`)
228 REFERENCES `mydb`.`Tarjoukset` (`idTarjoukset`)
229 ON DELETE NO ACTION
230 ON UPDATE NO ACTION,
231 CONSTRAINT `fk_Huonetarjoukset_Huone1`
232 FOREIGN KEY (`Huone_idHuone` , `Huone_Hotelli_Nimi`)
233 REFERENCES `mydb`.`Huone` (`Huonenumero` , `Hotelli_Nimi`)
234 ON DELETE NO ACTION
235 ON UPDATE NO ACTION)
236ENGINE = InnoDB;
237
238
239-- -----------------------------------------------------
240-- Table `mydb`.`Lisäpalvelut_has_Varaus`
241-- -----------------------------------------------------
242DROP TABLE IF EXISTS `mydb`.`Varatut_Lisäpalvelut` ;
243
244CREATE TABLE IF NOT EXISTS `mydb`.`Varatut_Lisäpalvelut` (
245 `Lisäpalvelut_idLisäpalvelut` INT UNSIGNED NOT NULL,
246 `Varaus_idVaraus` INT UNSIGNED NOT NULL,
247 `Varaus_idAsiakas` INT UNSIGNED NOT NULL,
248 `Varaus_Huonenumero` INT UNSIGNED NOT NULL,
249 `Varaus_Hotelli_Nimi` VARCHAR(45) NOT NULL,
250 PRIMARY KEY (`Lisäpalvelut_idLisäpalvelut`, `Varaus_idVaraus`, `Varaus_idAsiakas`, `Varaus_Huonenumero`, `Varaus_Hotelli_Nimi`),
251 INDEX `fk_Varatut_Lisäpalvelut_Varaus1_idx` (`Varaus_idVaraus` ASC, `Varaus_idAsiakas` ASC, `Varaus_Huonenumero` ASC, `Varaus_Hotelli_Nimi` ASC) ,
252 INDEX `fk_Varatut_Lisäpalvelut_Lisäpalvelut1_idx` (`Lisäpalvelut_idLisäpalvelut` ASC) ,
253 CONSTRAINT `fk_Varatut_Lisäpalvelut_Lisäpalvelut1`
254 FOREIGN KEY (`Lisäpalvelut_idLisäpalvelut`)
255 REFERENCES `mydb`.`Lisäpalvelut` (`idLisäpalvelut`)
256 ON DELETE NO ACTION
257 ON UPDATE NO ACTION,
258 CONSTRAINT `fk_Varatut_Lisäpalvelut_Varaus1`
259 FOREIGN KEY (`Varaus_idVaraus` , `Varaus_idAsiakas` , `Varaus_Huonenumero` , `Varaus_Hotelli_Nimi`)
260 REFERENCES `mydb`.`Varaus` (`idVaraus` , `idAsiakas` , `Huonenumero` , `Hotelli_Nimi`)
261 ON DELETE NO ACTION
262 ON UPDATE NO ACTION)
263ENGINE = InnoDB;
264
265
266SET SQL_MODE=@OLD_SQL_MODE;
267SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
268SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
269
270-- 5. näkymien poisto ja luonti
271
272DROP VIEW if EXISTS Asiakkaat;
273
274-- Hakee asukkaiden idt, nimet ja huonenumerot samaan tauluun.
275
276CREATE VIEW Asiakkaat AS
277SELECT asiakas.idAsiakas, asiakas.Nimi, varaus.Huonenumero
278FROM asiakas, varaus
279WHERE asiakas.idAsiakas = varaus.idAsiakas;
280
281DROP VIEW if EXISTS Arvosanat;
282
283-- Vähän hassu haku kun huoneita ei ole kuin 1 per hotelli ja kaikki aintoivat arvosanan 5, mutta ajatuksena täysin toimva.
284
285CREATE VIEW Arvosanat AS
286SELECT huone.Huonenumero, AVG(palaute.Arvosana) AS 'Keskiarvo'
287FROM huone, palaute
288WHERE huone.huonenumero = palaute.Huonenumero
289GROUP BY huone.Huonenumero
290HAVING AVG(palaute.Arvosana) > 3;
291
292-- 6. vähintään 10 datarivin lisäys jokaiseen tauluun
293
294INSERT INTO asiakas (Nimi, Osoite, Sähköposti) VALUES ('Matti1', 'Jokukatu1', 'joku1@joku.fi');
295INSERT INTO asiakas (Nimi, Osoite, Sähköposti) VALUES ('Matti2', 'Jokukatu2', 'joku2@joku.fi');
296INSERT INTO asiakas (Nimi, Osoite, Sähköposti) VALUES ('Matti3', 'Jokukatu3', 'joku3@joku.fi');
297INSERT INTO asiakas (Nimi, Osoite, Sähköposti) VALUES ('Matti4', 'Jokukatu4', 'joku4@joku.fi');
298INSERT INTO asiakas (Nimi, Osoite, Sähköposti) VALUES ('Matti5', 'Jokukatu5', 'joku5@joku.fi');
299INSERT INTO asiakas (Nimi, Osoite, Sähköposti) VALUES ('Matti6', 'Jokukatu6', 'joku6@joku.fi');
300INSERT INTO asiakas (Nimi, Osoite, Sähköposti) VALUES ('Matti7', 'Jokukatu7', 'joku7@joku.fi');
301INSERT INTO asiakas (Nimi, Osoite, Sähköposti) VALUES ('Matti8', 'Jokukatu8', 'joku8@joku.fi');
302INSERT INTO asiakas (Nimi, Osoite, Sähköposti) VALUES ('Matti9', 'Jokukatu9', 'joku@9joku.fi');
303INSERT INTO asiakas (Nimi, Osoite, Sähköposti) VALUES ('Matti10', 'Jokukatu10', 'joku10@joku.fi');
304
305INSERT INTO hotelli (Hotelli_nimi,Sijainti, Huonemäärä, Tähtiluokitus, Puhelinnro_hotelli) VALUES ('Puijonsarvi1', 'Kuopio1', 100, 5, 0401231);
306INSERT INTO hotelli (Hotelli_nimi,Sijainti, Huonemäärä, Tähtiluokitus, Puhelinnro_hotelli) VALUES ('Puijonsarvi2', 'Kuopio2', 200, 4, 0401232);
307INSERT INTO hotelli (Hotelli_nimi,Sijainti, Huonemäärä, Tähtiluokitus, Puhelinnro_hotelli) VALUES ('Puijonsarvi3', 'Kuopio3', 300, 3, 0401233);
308INSERT INTO hotelli (Hotelli_nimi,Sijainti, Huonemäärä, Tähtiluokitus, Puhelinnro_hotelli) VALUES ('Puijonsarvi4', 'Kuopio4', 400, 2, 0401234);
309INSERT INTO hotelli (Hotelli_nimi,Sijainti, Huonemäärä, Tähtiluokitus, Puhelinnro_hotelli) VALUES ('Puijonsarvi5', 'Kuopio5', 500, 1, 0401235);
310INSERT INTO hotelli (Hotelli_nimi,Sijainti, Huonemäärä, Tähtiluokitus, Puhelinnro_hotelli) VALUES ('Puijonsarvi6', 'Kuopio6', 600, 2, 0401236);
311INSERT INTO hotelli (Hotelli_nimi,Sijainti, Huonemäärä, Tähtiluokitus, Puhelinnro_hotelli) VALUES ('Puijonsarvi7', 'Kuopio7', 700, 3, 0401237);
312INSERT INTO hotelli (Hotelli_nimi,Sijainti, Huonemäärä, Tähtiluokitus, Puhelinnro_hotelli) VALUES ('Puijonsarvi8', 'Kuopio8',800, 4, 0401238);
313INSERT INTO hotelli (Hotelli_nimi,Sijainti, Huonemäärä, Tähtiluokitus, Puhelinnro_hotelli) VALUES ('Puijonsarvi9', 'Kuopio9', 900, 5, 0401239);
314INSERT INTO hotelli (Hotelli_nimi,Sijainti, Huonemäärä, Tähtiluokitus, Puhelinnro_hotelli) VALUES ('Puijonsarvi10', 'Kuopio10', 1000, 4, 04012310);
315
316INSERT INTO huone (Hotelli_nimi, Koko, Hinta_huone, Saatavuus) VALUES ('Puijonsarvi1', '1HH', 200, 1);
317INSERT INTO huone (Hotelli_nimi, Koko, Hinta_huone, Saatavuus) VALUES ('Puijonsarvi2', '2HH', 300, 0);
318INSERT INTO huone (Hotelli_nimi, Koko, Hinta_huone, Saatavuus) VALUES ('Puijonsarvi3', '3HH',400, 1);
319INSERT INTO huone (Hotelli_nimi, Koko, Hinta_huone, Saatavuus) VALUES ('Puijonsarvi4', '4HH', 500, 0);
320INSERT INTO huone (Hotelli_nimi, Koko, Hinta_huone, Saatavuus) VALUES ('Puijonsarvi5', '5HH', 600, 1);
321INSERT INTO huone (Hotelli_nimi, Koko, Hinta_huone, Saatavuus) VALUES ('Puijonsarvi6', '6HH', 700, 0);
322INSERT INTO huone (Hotelli_nimi, Koko, Hinta_huone, Saatavuus) VALUES ('Puijonsarvi7', '7HH', 800, 1);
323INSERT INTO huone (Hotelli_nimi, Koko, Hinta_huone, Saatavuus) VALUES ('Puijonsarvi8', '8HH', 900, 0);
324INSERT INTO huone (Hotelli_nimi, Koko, Hinta_huone, Saatavuus) VALUES ('Puijonsarvi9', '9HH', 1000, 1);
325INSERT INTO huone (Hotelli_nimi, Koko, Hinta_huone, Saatavuus) VALUES ('Puijonsarvi10', '10HH', 1100, 0);
326
327INSERT INTO tarjoukset (Nimi, Alkupäivä, Loppupäivä, Alennus, Rajoite) VALUES ('Joulualennus1', "2019-12-01", "2020-01-01", '10%', '1/hlö');
328INSERT INTO tarjoukset (Nimi, Alkupäivä, Loppupäivä, Alennus, Rajoite) VALUES ('Joulualennus2', "2019-12-02", "2020-01-02", '20%', '2/hlö');
329INSERT INTO tarjoukset (Nimi, Alkupäivä, Loppupäivä, Alennus, Rajoite) VALUES ('Joulualennus3', "2019-12-03", "2020-01-03", '30%', '3/hlö');
330INSERT INTO tarjoukset (Nimi, Alkupäivä, Loppupäivä, Alennus, Rajoite) VALUES ('Joulualennus4', "2019-12-04", "2020-01-04", '40%', '4/hlö');
331INSERT INTO tarjoukset (Nimi, Alkupäivä, Loppupäivä, Alennus, Rajoite) VALUES ('Joulualennus5', "2019-12-05", "2020-01-05", '50%', '5/hlö');
332INSERT INTO tarjoukset (Nimi, Alkupäivä, Loppupäivä, Alennus, Rajoite) VALUES ('Joulualennus6', "2019-12-06", "2020-01-06", '60%', '6/hlö');
333INSERT INTO tarjoukset (Nimi, Alkupäivä, Loppupäivä, Alennus, Rajoite) VALUES ('Joulualennus7', "2019-12-07", "2020-01-07", '70%', '7/hlö');
334INSERT INTO tarjoukset (Nimi, Alkupäivä, Loppupäivä, Alennus, Rajoite) VALUES ('Joulualennus8', "2019-12-08", "2020-01-08", '80%', '8/hlö');
335INSERT INTO tarjoukset (Nimi, Alkupäivä, Loppupäivä, Alennus, Rajoite) VALUES ('Joulualennus9', "2019-12-09", "2020-01-09", '90%', '9/hlö');
336INSERT INTO tarjoukset (Nimi, Alkupäivä, Loppupäivä, Alennus, Rajoite) VALUES ('Joulualennus10', "2019-12-10", "2020-01-10", '100%', '10/hlö');
337
338INSERT INTO lisäpalvelut (Sisältö_palvelu, Hinta_palvelu) VALUES ('Ruusuja1', 100);
339INSERT INTO lisäpalvelut (Sisältö_palvelu, Hinta_palvelu) VALUES ('Ruusuja2', 200);
340INSERT INTO lisäpalvelut (Sisältö_palvelu, Hinta_palvelu) VALUES ('Ruusuja3', 300);
341INSERT INTO lisäpalvelut (Sisältö_palvelu, Hinta_palvelu) VALUES ('Ruusuja4', 400);
342INSERT INTO lisäpalvelut (Sisältö_palvelu, Hinta_palvelu) VALUES ('Ruusuja5', 500);
343INSERT INTO lisäpalvelut (Sisältö_palvelu, Hinta_palvelu) VALUES ('Ruusuja6', 600);
344INSERT INTO lisäpalvelut (Sisältö_palvelu, Hinta_palvelu) VALUES ('Ruusuja7', 700);
345INSERT INTO lisäpalvelut (Sisältö_palvelu, Hinta_palvelu) VALUES ('Ruusuja8',800);
346INSERT INTO lisäpalvelut (Sisältö_palvelu, Hinta_palvelu) VALUES ('Ruusuja9', 900);
347INSERT INTO lisäpalvelut (Sisältö_palvelu, Hinta_palvelu) VALUES ('Ruusuja10', 1000);
348
349INSERT INTO varaus (idAsiakas, Huonenumero, Hotelli_Nimi, Tulopäivä, Lähtöpäivä, Lisätiedot) VALUES (1,101,'Puijonsarvi1',"2019-01-01","2019-01-07",'Myöhäinen saapuminen');
350INSERT INTO varaus (idAsiakas, Huonenumero, Hotelli_Nimi, Tulopäivä, Lähtöpäivä, Lisätiedot) VALUES (2,102,'Puijonsarvi2',"2019-01-02","2019-01-08",'Myöhäinen saapuminen');
351INSERT INTO varaus (idAsiakas, Huonenumero, Hotelli_Nimi, Tulopäivä, Lähtöpäivä, Lisätiedot) VALUES (3,103,'Puijonsarvi3',"2019-01-03","2019-01-09",'Myöhäinen saapuminen');
352INSERT INTO varaus (idAsiakas, Huonenumero, Hotelli_Nimi, Tulopäivä, Lähtöpäivä, Lisätiedot) VALUES (4,104,'Puijonsarvi4',"2019-01-04","2019-01-10",'Myöhäinen saapuminen');
353INSERT INTO varaus (idAsiakas, Huonenumero, Hotelli_Nimi, Tulopäivä, Lähtöpäivä, Lisätiedot) VALUES (5,105,'Puijonsarvi5',"2019-01-05","2019-01-11",'Myöhäinen saapuminen');
354INSERT INTO varaus (idAsiakas, Huonenumero, Hotelli_Nimi, Tulopäivä, Lähtöpäivä, Lisätiedot) VALUES (6,106,'Puijonsarvi6',"2019-01-06","2019-01-12",'Myöhäinen saapuminen');
355INSERT INTO varaus (idAsiakas, Huonenumero, Hotelli_Nimi, Tulopäivä, Lähtöpäivä, Lisätiedot) VALUES (7,107,'Puijonsarvi7',"2019-01-07","2019-01-13",'Myöhäinen saapuminen');
356INSERT INTO varaus (idAsiakas, Huonenumero, Hotelli_Nimi, Tulopäivä, Lähtöpäivä, Lisätiedot) VALUES (8,108,'Puijonsarvi8',"2019-01-08","2019-01-14",'Myöhäinen saapuminen');
357INSERT INTO varaus (idAsiakas, Huonenumero, Hotelli_Nimi, Tulopäivä, Lähtöpäivä, Lisätiedot) VALUES (9,109,'Puijonsarvi9',"2019-01-09","2019-01-15",'Myöhäinen saapuminen');
358INSERT INTO varaus (idAsiakas, Huonenumero, Hotelli_Nimi, Tulopäivä, Lähtöpäivä, Lisätiedot) VALUES (10,110,'Puijonsarvi10',"2019-01-10","2019-01-16",'Myöhäinen saapuminen');
359
360INSERT INTO palaute (idAsiakas, Hotelli_nimi, Huonenumero,Arvosana,pvm_palaute,Huonepalaute,Palvelupalaute) VALUES (1,'Puijonsarvi1',1,5,"2019-01-11",'Siistiä','Hyvä palvelu');
361INSERT INTO palaute (idAsiakas, Hotelli_nimi, Huonenumero,Arvosana,pvm_palaute,Huonepalaute,Palvelupalaute) VALUES (2,'Puijonsarvi2',1,5,"2019-01-12",'Siistiä','Hyvä palvelu');
362INSERT INTO palaute (idAsiakas, Hotelli_nimi, Huonenumero,Arvosana,pvm_palaute,Huonepalaute,Palvelupalaute) VALUES (3,'Puijonsarvi3',1,5,"2019-01-13",'Siistiä','Hyvä palvelu');
363INSERT INTO palaute (idAsiakas, Hotelli_nimi, Huonenumero,Arvosana,pvm_palaute,Huonepalaute,Palvelupalaute) VALUES (4,'Puijonsarvi4',1,5,"2019-01-14",'Siistiä','Hyvä palvelu');
364INSERT INTO palaute (idAsiakas, Hotelli_nimi, Huonenumero,Arvosana,pvm_palaute,Huonepalaute,Palvelupalaute) VALUES (5,'Puijonsarvi5',1,5,"2019-01-15",'Siistiä','Hyvä palvelu');
365INSERT INTO palaute (idAsiakas, Hotelli_nimi, Huonenumero,Arvosana,pvm_palaute,Huonepalaute,Palvelupalaute) VALUES (6,'Puijonsarvi6',1,5,"2019-01-16",'Siistiä','Hyvä palvelu');
366INSERT INTO palaute (idAsiakas, Hotelli_nimi, Huonenumero,Arvosana,pvm_palaute,Huonepalaute,Palvelupalaute) VALUES (7,'Puijonsarvi7',1,5,"2019-01-17",'Siistiä','Hyvä palvelu');
367INSERT INTO palaute (idAsiakas, Hotelli_nimi, Huonenumero,Arvosana,pvm_palaute,Huonepalaute,Palvelupalaute) VALUES (8,'Puijonsarvi8',1,5,"2019-01-18",'Siistiä','Hyvä palvelu');
368INSERT INTO palaute (idAsiakas, Hotelli_nimi, Huonenumero,Arvosana,pvm_palaute,Huonepalaute,Palvelupalaute) VALUES (9,'Puijonsarvi9',1,5,"2019-01-19",'Siistiä','Hyvä palvelu');
369INSERT INTO palaute (idAsiakas, Hotelli_nimi, Huonenumero,Arvosana,pvm_palaute,Huonepalaute,Palvelupalaute) VALUES (10,'Puijonsarvi10',1,5,"2019-01-20",'Siistiä','Hyvä palvelu');
370
371INSERT INTO lasku (idAsiakas, Saajan_tilinumero, saajan_nimi, kokonaishinta, erittely, maksettu) VALUES (1,'FI123123', 'Hotelli OY',1000,'Huone 200 Viinat 300 jne.', 0);
372INSERT INTO lasku (idAsiakas, Saajan_tilinumero, saajan_nimi, kokonaishinta, erittely, maksettu) VALUES (2,'FI123123', 'Hotelli OY',2000,'Huone 200 Viinat 300 jne.', 0);
373INSERT INTO lasku (idAsiakas, Saajan_tilinumero, saajan_nimi, kokonaishinta, erittely, maksettu) VALUES (3,'FI123123', 'Hotelli OY',3000,'Huone 200 Viinat 300 jne.', 0);
374INSERT INTO lasku (idAsiakas, Saajan_tilinumero, saajan_nimi, kokonaishinta, erittely, maksettu) VALUES (4,'FI123123', 'Hotelli OY',4000,'Huone 200 Viinat 300 jne.', 0);
375INSERT INTO lasku (idAsiakas, Saajan_tilinumero, saajan_nimi, kokonaishinta, erittely, maksettu) VALUES (5,'FI123123', 'Hotelli OY',5000,'Huone 200 Viinat 300 jne.', 0);
376INSERT INTO lasku (idAsiakas, Saajan_tilinumero, saajan_nimi, kokonaishinta, erittely, maksettu) VALUES (6,'FI123123', 'Hotelli OY',6000,'Huone 200 Viinat 300 jne.', 0);
377INSERT INTO lasku (idAsiakas, Saajan_tilinumero, saajan_nimi, kokonaishinta, erittely, maksettu) VALUES (7,'FI123123', 'Hotelli OY',7000,'Huone 200 Viinat 300 jne.', 0);
378INSERT INTO lasku (idAsiakas, Saajan_tilinumero, saajan_nimi, kokonaishinta, erittely, maksettu) VALUES (8,'FI123123', 'Hotelli OY',8000,'Huone 200 Viinat 300 jne.', 0);
379INSERT INTO lasku (idAsiakas, Saajan_tilinumero, saajan_nimi, kokonaishinta, erittely, maksettu) VALUES (9,'FI123123', 'Hotelli OY',9000,'Huone 200 Viinat 300 jne.', 0);
380INSERT INTO lasku (idAsiakas, Saajan_tilinumero, saajan_nimi, kokonaishinta, erittely, maksettu) VALUES (10,'FI123123', 'Hotelli OY',10000,'Huone 200 Viinat 300 jne.', 0);
381
382-- 7. indeksien poisto ja luonti
383
384-- En osaa sanoa onko näistä iloa, mutta toimivat.
385
386CREATE INDEX huonehinnat ON huone(hinta_huone);
387CREATE INDEX palveluhinnat ON lisäpalvelut(hinta_palvelu);
388
389-- 8. hakulause jokaista taulua ja näkymää kohti, näyttää kaiken datan
390
391SELECT * FROM asiakas;
392SELECT * FROM lasku;
393SELECT * FROM varaus;
394SELECT * FROM palaute;
395SELECT * FROM huone;
396SELECT * FROM lisäpalvelut;
397SELECT * FROM tarjoukset;
398SELECT * FROM hotelli;
399SELECT * FROM asiakkaat;
400SELECT * FROM arvosanat;
401
402
403-- Kiitos ja anteeksi :)