Zadanie 1-3. Done. Zadanie 4. a) CREATE TABLE Benefit( id_benefitu INT AUTO_INCREMENT PRIMARY KEY, nazwa VARCHAR(20) NOT NULL, cena INT, opis LONGTEXT, rodzaj ENUM('lekarz','sport','przedszkole'), ); b) CREATE TABLE Uzytkownik( id_uzytkownika INT PRIMARY KEY NOT NULL, rodzaj ENUM('pracownik','prezes','rodzina') DEFAULT 'pracownik', imie VARCHAR(32) NOT NULL, nazwisko VARCHAR(20) NOT NULL, zarobki INT UNSIGNED DEFAULT 2000, dataur DATE, id_benefitu INT, FOREIGN KEY (id_benefitu) REFERENCES Benefit(id_benefitu) ON DELETE CASCADE ); Zadanie 5. INSERT INTO Benefit(id_benefitu,nazwa,cena,opis,rodzaj) SELECT idZasobu,nazwa,waga,'brak','sport' FROM zasob; Zadanie 6. ALTER TABLE Uzytkownik MODIFY COLUMN rodzaj ENUM('pracownik','prezes','rodzina') DEFAULT 'prezes'; Zadanie 7. UPDATE Benefit SET nazwa = 'Granie' WHERE nazwa LIKE '%an%'; Zadanie 8. DELETE FROM Benefit WHERE cena > 76; Zadanie 9. a)SELECT imie,nazwisko FROM zawodnik WHERE klub IS NOT NULL AND YEAR(dataUrodzenia) BETWEEN 1990 AND 2000; b)SELECT k.nazwa, count(z.idZawodnika) FROM zawodnik z JOIN kraj k ON z.idKraju = k.idKraju WHERE YEAR(dataUrodzenia) BETWEEN 1990 AND 2000 GROUP BY k.nazwa; c)SELECT m.nazwa, avg(w.wynik) FROM wyniki w JOIN konkurencja k ON w.idKonkurencji = k.idKonkurencji JOIN miejsce_zawodow m ON k.idMiejsca = m.idMiejsca WHERE k.nazwaKonkurencji = 'bieg' GROUP BY m.nazwa; d)SELECT Year(dataUrodzenia), GROUP_CONCAT(imie,' ',nazwisko) FROM zawodnik GROUP BY YEAR(dataUrodzenia); e)SELECT CONCAT(z.imie,' ',z.nazwisko), k.nazwaKonkurencji, count(k.idKonkurencji) FROM zawodnik z JOIN wyniki w ON z.idZawodnika = w.idZawodnika JOIN konkurencja k ON w.idKonkurencji = k.idKonkurencji GROUP BY CONCAT(z.imie,' ',z.nazwisko), k.nazwaKonkurencji; f)SELECT k.nazwa FROM kraj k LEFT JOIN miejsce_zawodow m ON k.idKraju = m.idKraju WHERE m.idKraju IS NULL; g)SELECT * FROM miejsce_zawodow m JOIN kraj k ON m.idKraju = k.idKraju GROUP BY k.nazwa HAVING count(k.nazwa) = 1 ORDER BY k.nazwa;