· 7 years ago · Dec 04, 2018, 10:16 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
31ADD CONSTRAINT fk_tulaz
32FOREIGN KEY (tulaz) REFERENCES tulajdonos(az);
33
34ALTER TABLE tort
35ADD CONSTRAINT fk_hajoaz
36FOREIGN KEY (hajoaz) REFERENCES hajo(az);
37
38use balatoniHajok;
39
40
41#2. Feladat
42CREATE USER 'balcsi'@'localhost';
43SET PASSWORD
44FOR 'balcsi'@'localhost' = PASSWORD("ZH2019");
45
46#3 Feladat
47GRANT ALL ON balatoniHajok. TO 'balcsi'@'localhost' WITH GRANT OPTION;
48
49#4 Feladat
50CREATE USER 'titkarno'@'localhost';
51SET PASSWORD FOR
52'titkarno'@'localhost' = PASSWORD("karavan");
53
54#5 Feladat
55CREATE USER 'titkarno'@'192.168.%';
56SET PASSWORD FOR 'titkarno'@'192.168.%' = PASSWORD("karavan");
57GRANT SELECT ON balatoniHajok.* TO 'titkarno'@'192.168.%';
58
59GRANT SELECT ON balatoniHajok.* TO 'titkarno'@'localhost';
60
61#6 Feladat
62GRANT SELECT, INSERT, ALTER ON balatoniHajok.hajo TO 'titkarno'@'localhost';
63
64use eurovizio;
65
66#7 Feladat
67Select dal.eredeti,
68 verseny.ev as 'Év',
69 dal.orszag as 'Ország',
70 dal.nyelv as 'Nyelv'
71From dal
72inner join verseny on dal.ev = verseny.ev
73Where
74 verseny.orszag = dal.orszag
75group by dal.ev;
76
77#8 Feladat
78SELECT *
79FROM nyelv
80LEFT JOIN dal ON nyelv.nyelv = dal.nyelv
81WHERE
82dal.nyelv IS NULL;
83#9 Feladat
84
85#10 Feladat
86SELECT orszag, nyelv, eredeti
87FROM dal
88WHERE id NOT IN (
89SELECT dal.id
90FROM dal, nyelv
91WHERE dal.orszag=nyelv.orszag
92AND dal.nyelv=nyelv.nyelv)
93AND nyelv<>'angol'
94AND nyelv NOT Like ",";
95
96#11 Feladat
97
98delimiter $$
99DROP PROCEDURE IF EXISTS eurovizio.verseny2000 $$
100CREATE PROCEDURE eurovizio.verseny2000()
101BEGIN
102 SELECT helyezes,orszag,nyelv,eloado,eredeti,magyar,pontszam
103 FROM dal
104 WHERE ev=2000
105 ORDER BY helyezes LIMIT 10;
106END $$
107delimiter ;
108CALL verseny2000();
109
110#12 Feladat
111delimiter $$
112DROP PROCEDURE IF EXISTS eurovizio.orszag_nyelv $$
113CREATE PROCEDURE eurovizio.orszag_nyelv(in country varchar(255), in songlang varchar(255))
114BEGIN
115 SELECT *
116 FROM dal
117 WHERE nyelv LIKE songlang AND orszag LIKE country;
118END $$
119delimiter ;
120CALL orszag_nyelv("Magyarország","magyar");
121
122#13 Feladat
123delimiter $$
124DROP PROCEDURE IF EXISTS eurovizio.orszagDalok_db $$
125CREATE PROCEDURE eurovizio.orszagDalok_db(in country varchar(255))
126BEGIN
127 SELECT COUNT(id) AS "versenyzett dalok száma"
128 FROM dal
129 WHERE orszag LIKE country;
130END $$
131delimiter ;
132CALL orszagDalok_db("Magyarország");
133
134#14 Feladat