zadania - zti.polsl.pl

Transkrypt

zadania - zti.polsl.pl
1.
Uruchomić program poprzez kolejno:
SQL DDL – plan ćwiczenia:
- uruchomienie serwera MySQL: run-server.bat
- klienta HeidiSQL: run-client.bat
2.
(domyślne połączenie: ‘-u=root -h=localhost -P=6033’użytkownik root z pustym hasłem, do localhost na porcie 6033).
Jako root wybierając bazę uczelnia utworzyć nowe tabele zesp1 oraz prac1 tak, by spełnione były następujące warunki
(obejrzeć sobie HELP w programie HeidiSQL w kategorii Data Definition, m.in. instrukcje create, drop, alter):
•
Tabela zesp1 powinna posiadać następujące kolumny:
nr_zesp smallint (6)
nazwa_zesp char (30)
nr_prac_kz int (11)
nr_inst smallint (6)
Kluczem głównym tabeli zesp1 jest nr_zesp.
• Tabela prac1 powinna posiadać następujące kolumny:
nr_prac int(11)
plec char (1)
data_ur datetime
nazwisko char (15)
Nr_zesp smallint (6)
Kluczem głównym tabeli prac1 jest nr_prac.
Dodatkowo kolumna plec nie może posiadać wartości pustych.
Na kolumnie nr_zesp tabeli prac1 powinien zostać utworzony indeks.
3.
Wpisywanie danych do tabel
(obejrzeć sobie zawartość HELP w kategorii Data Manipulation, .m.in. instrukcję insert, delete, select):
•
Wykorzystując utworzone już wcześniej w systemie tabele, wprowadzić należy do tabeli zesp1 wszystkie wiersze z tabeli
ZESPOLY oraz do tabeli prac1 wszystkie wiersze z tabeli PRACOWNICY.
•
4.
Dołożyć do tabeli prac1 nowy wiersz z wartościami (50, 'M', '1950-12-12', 'KOWALSKI', 3), a następnie go usunąć.
Tak zmodyfikować tabele, by:
•
W tabeli zesp1 kluczem obcym była kolumna nr_prac_kz, dla której kluczem głównym jest kolumna nr_prac w tabeli
prac1. Należy zapewnić, by w przypadku próby usunięcia pracownika z tabeli prac1, próba ta nie powiodła się, gdy istnieje
wiersz o tej samej wartości klucza obcego w tabeli podrzędnej zesp1.
•
Kolumna nr_zesp jest kluczem obcym w tabeli prac1 i należy zapewnić, by przy kasowaniu wierszy w tabeli nadrzędnej
zesp1 w miejsce wartości kluczy obcych odpowiadających wartości kasowanego klucza głównego wpisywane były wartości
NULL, a wiersze te nie były usuwane z tabeli.
5.
Wykonać kilka ćwiczeń sprawdzających poprawność działania więzów referencyjnych, pod kątem wprowadzania wartości
pustych, powtarzających się wartości oraz kasowania wierszy mających swych odpowiedników w tabelach podrzędnych oraz
dokonywania zmian wartości.
6.
Tworzenie użytkowników i przydzielanie im uprawnień
(obejrzeć sobie HELP w programie HeidiSQL w kategorii Account Management, m.in. instrukcje create user, grant):
•
utworzyć użytkownika userX i nadać mu uprawnienia do przeglądania tabeli prac1
podłączyć się do bazy jako userX (menu FILE->SESSION MANAGER, localhost na porcie 6033):
o Obejrzeć rekordy w tabeli prac1
o
Usunąć rekordy z tabeli prac1
o Obejrzeć rekordy w tabeli zesp1
przełączyć się na użytkownika root:
•
Nadać użytkownikowi userX prawo do usuwania rekordów w tabeli zesp1
przełączyć się na użytkownika userX:
o
o
Obejrzeć rekordy w tabeli zesp1
Usunąć zespoł nr 1
Co się stało i dlaczego?
1
przełączyć się na użytkownika root:
•
Nadać użytkownikowi userX prawo do przeglądania tabeli zespoły
przełączyć się na użytkownika userX:
o
Usunąć zespoł nr 1
Co się stało i dlaczego?
przełączyć się na użytkownika root:
•
Utworzyć perspektywę stud zawierającą numery i nazwiska studentów wraz z ich średnimi ocenami'
•
Nadać użytkownikowi userX prawo do przeglądania perspektywy stud
przełączyć się na użytkownika userX:
o Obejrzeć rekordy w tabeli/widoku stud
o
o
Obejrzeć rekordy w tabeli studenci
Zmienić nazwisko studenta TUREK na GREK (instrukcja update)
Co się stało i dlaczego?
przełączyć się na użytkownika root:
•
Nadać użytkownikowi userX prawo do modyfikowania danych w perspektywie stud
przełączyć się na użytkownika userX:
o Zmienić nazwisko studenta TUREK na GREK
Co się stało i dlaczego?
przełączyć się na użytkownika root:
•
Zmienić nazwisko studenta TUREK na GREK używając perspektywy stud
Co się stało i dlaczego?
•
Utworzyć perspektywę stud2: wypisującą nazwiska studentów.
•
Zmienić nazwisko studenta TUREK na GREK używając perspektywy stud2
Co się stało i dlaczego?
•
Nadać użytkownikowi userX prawo do oglądania i modyfikacji perspektywy stud2
przełączyć się na użytkownika userX:
o
Zmienić nazwisko studenta GREK na TUREK używając perspektywy stud2
Co się stało i dlaczego?
przełączyć się na użytkownika root:
•
Utworzyć użytkownika pomX
•
Nadać użytkownikowi pomX prawo do przeglądania tabeli przedmioty
podłączyć się do bazy jako pomX (menu FILE->SESSION MANAGER, localhost na porcie 6033):
* Obejrzeć rekordy w tabeli przedmioty
*
Nadać użytkownikowi userX prawo do przeglądania tabeli przedmioty
Co się stało i dlaczego?
przełączyć się na użytkownika root:
•
Nadać użytkownikowi pomX prawo do przeglądania tabeli przedmioty z możliwością delegacji praw (WITH GRANT
OPTION)
przełączyć się na użytkownika pomX
* Nadać użytkownikowi userX prawo do przeglądania tabeli przedmioty
Co się stało i dlaczego?
przełączyć się na użytkownika userX:
o
Obejrzeć rekordy w tabeli przedmioty
2