diff --git a/sql/s1.sql b/sql/s1.sql new file mode 100644 index 0000000..a0c4605 --- /dev/null +++ b/sql/s1.sql @@ -0,0 +1,51 @@ +-- Utwórz bazę danych dla firmy szkoleniowej +CREATE DATABASE IF NOT EXISTS szkolenia CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- Wybierz bazę danych do pracy +USE szkolenia; + +-- Tabela: kategorie_kursow +-- Przechowuje informacje o poziomach kursów (np. podstawowy, średni, zaawansowany) +CREATE TABLE IF NOT EXISTS kategorie_kursow ( + id INT AUTO_INCREMENT PRIMARY KEY, + nazwa VARCHAR(50) NOT NULL UNIQUE, + opis TEXT +); + +-- Wstaw dane do tabeli kategorii +INSERT INTO kategorie_kursow (nazwa, opis) VALUES +('podstawowy', 'Kurs przeznaczony dla początkujących'), +('średni', 'Kurs dla osób mających podstawową wiedzę'), +('zaawansowany', 'Kurs dla osób posiadających zaawansowaną wiedzę'); + +-- Tabela: kursy +-- Przechowuje informacje o konkretnych kursach +CREATE TABLE IF NOT EXISTS kursy ( + id INT AUTO_INCREMENT PRIMARY KEY, + nazwa VARCHAR(255) NOT NULL, + cena DECIMAL(10, 2) NOT NULL, + id_kategorii INT, + FOREIGN KEY (id_kategorii) REFERENCES kategorie_kursow(id), + UNIQUE KEY unique_nazwa (nazwa) +); + +-- Wstaw dane do tabeli kursy (zgodnie z ilustracją 4) +INSERT INTO kursy (nazwa, cena, id_kategorii) VALUES +('Kurs HTML i CSS', 500.00, 1), -- podstawowy +('Kurs JavaScript', 700.00, 2), -- średni +('Kurs React.js', 900.00, 3); -- zaawansowany + +-- Tabela: miasta +-- Przechowuje listę miast, w których odbywają się kursy +CREATE TABLE IF NOT EXISTS miasta ( + id INT AUTO_INCREMENT PRIMARY KEY, + nazwa VARCHAR(100) NOT NULL UNIQUE +); + +-- Wstaw dane do tabeli miasta +INSERT INTO miasta (nazwa) VALUES +('Warszawa'), +('Katowice'), +('Gdańsk'); + + diff --git a/sql/s2.sql b/sql/s2.sql new file mode 100644 index 0000000..e87d631 --- /dev/null +++ b/sql/s2.sql @@ -0,0 +1,10 @@ +-- Zapytanie 3: Tworzenie użytkownika 'Marek' +CREATE USER IF NOT EXISTS 'Marek'@'localhost' IDENTIFIED BY 'M@reK'; + +-- Zapytanie 4: Nadanie uprawnień +-- Użytkownik Marek ma prawo do przeglądania i aktualizowania danych tylko w tabeli `kursy` +GRANT SELECT, UPDATE ON szkolenia.kursy TO 'Marek'@'localhost'; + +-- Odświeżenie uprawnień +FLUSH PRIVILEGES; +