· 7 years ago · Dec 04, 2018, 10:00 AM
1
2#Név: Padián Ãkos
3#Naptunkód: XBOX1V
4#Csoport: L1
5#Dátum: 2018.December 4.
6
7#1
8CREATE DATABASE balatoniHajok;
9
10CREATE TABLE hajo(
11az int PRIMARY KEY AUTO_INCREMENT,
12nev varchar(150),
13tipus varchar(150),
14tulaz int,
15uzemel bool
16);
17
18CREATE TABLE tort(
19az int PRIMARY KEY AUTO_INCREMENT,
20hajoaz int,
21nev varchar(150)
22);
23
24CREATE TABLE tulajdonos(
25az int PRIMARY KEY AUTO_INCREMENT,
26nev varchar(150),
27varos varchar(150)
28);
29
30ALTER TABLE hajo ADD CONSTRAINT fk_tulaz FOREIGN KEY (tulaz) REFERENCES tulajdonos(az);
31ALTER TABLE tort ADD CONSTRAINT fk_hajoaz FOREIGN KEY (hajoaz) REFERENCES hajo(az);
32
33use balatonihajok;
34
35
36#2. Feladat
37CREATE USER 'balcsi'@'localhost';
38SET PASSWORD
39FOR 'balcsi'@'localhost' = PASSWORD("ZH2019");
40
41#3 Feladat
42GRANT ALL ON balatonihajok. TO 'balcsi'@'localhost' WITH GRANT OPTION;
43
44#4 Feladat
45CREATE USER 'titkarno'@'localhost';
46SET PASSWORD FOR
47'titkarno'@'localhost' = PASSWORD("karavan");
48
49#5 Feladat
50CREATE USER 'titkarno'@'192.168.%';
51SET PASSWORD FOR 'titkarno'@'192.168.%' = PASSWORD("karavan");
52GRANT SELECT ON balatoniHajok.* TO 'titkarno'@'192.168.%';
53
54GRANT SELECT ON balatoniHajok.* TO 'titkarno'@'localhost';
55
56#6 Feladat
57GRANT SELECT, INSERT, ALTER ON balatoniHajok.hajo TO 'titkarno'@'localhost';
58
59use eurovizio;
60
61#7 Feladat
62Select dal.eredeti,
63 verseny.ev as 'Év',
64 dal.orszag as 'Ország',
65 dal.nyelv as 'Nyelv'
66From dal
67inner join verseny on dal.ev = verseny.ev
68Where
69 verseny.orszag = dal.orszag
70group by dal.ev;
71
72#8 Feladat
73
74
75
76
77#10 Feladat
78SELECT orszag, nyelv, eredeti
79FROM dal
80WHERE id NOT IN (
81SELECT dal.id
82FROM dal, nyelv
83WHERE dal.orszag=nyelv.orszag
84AND dal.nyelv=nyelv.nyelv)
85AND nyelv<>'angol'
86AND nyelv NOT Like ",";
87
88#11 Feladat
89
90delimiter $$
91DROP PROCEDURE IF EXISTS eurovizio.verseny2000 $$
92CREATE PROCEDURE eurovizio.verseny2000()
93BEGIN
94 SELECT helyezes,orszag,nyelv,eloado,eredeti,magyar,pontszam
95 FROM dal
96 WHERE ev=2000
97 ORDER BY helyezes LIMIT 10;
98END $$
99delimiter ;
100CALL verseny2000();
101
102#12 Feladat
103
104delimiter $$
105DROP PROCEDURE IF EXISTS eurovizio.orszag_nyelv $$
106CREATE PROCEDURE eurovizio.orszag_nyelv(in country varchar(255), in songlang varchar(255))
107BEGIN
108 SELECT *
109 FROM dal
110 WHERE nyelv LIKE songlang AND orszag LIKE country;
111END $$
112delimiter ;
113CALL orszag_nyelv("Magyarország","magyar");
114
115#13 Feladat
116
117delimiter $$
118DROP PROCEDURE IF EXISTS eurovizio.orszagDalok_db $$
119CREATE PROCEDURE eurovizio.orszagDalok_db(in country varchar(255))
120BEGIN
121 SELECT COUNT(id) AS "versenyzett dalok száma"
122 FROM dal
123 WHERE orszag LIKE country;
124END $$
125delimiter ;
126CALL orszagDalok_db("Magyarország");