Sprawozdanie - Bazy Danych.
Laboratorium 4
Informatyka - grupa _.
IMIE_NAZWISKO .
Zestaw 6.
Zalogować się do bazy labbd jako użytkownik admin z hasłem admin.
admin:
1 Stworzyć użytkownika user1 i nadać mu uprawnienia do przeglądania tabeli
pracownicy.
CREATE USER 'user1'@'localhost';
GRANT select ON labbd.pracownicy TO 'user1'@'localhost';
user1:
2 Obejrzeć rekordy w tabeli pracownicy. Usunąć rekordy z tabeli pracownicy. Obejrzeć
rekordy w tabeli tematy.
select * from pracownicy;
- zapytanie poprawne.
delete * from pracownicy;
- błąd brak uprawnień do kasowania.
select * from labbd.tematy;
- zapytanie błędne brak uprawnień do przeglądania tabeli tematy.
admin:
3 Nadać użytkownikowi user1 prawo do usuwania rekordów w tabeli zespoły.
GRANT delete ON labbd.zespoly TO 'user1'@'localhost';
user1:
4 Obejrzeć rekordy w tabeli zespoły. Usunąć zespół nr 1. Co się stało i dlaczego?
select * from zespoly;
- zapytanie nieprawidłowe brak uprawnień do przeglądania tabeli zespoły.
delete from labbd.zespoly where NR_ZESP = '1';
- zapytanie błędne brak możliwości wykasowania rekordu bez wcześniejszego
przeglądania odmowa dostępu.
admin:
5 Nadać użytkownikowi user1 prawo do przeglądania tabeli zespoły.
GRANT select ON labbd.zespoly TO 'user1'@'localhost';
user1:
6 Usunąć zespół nr 1. Co się stało i dlaczego?
delete from labbd.zespoly where NR_ZESP = '1';
- polecenie poprawne ponieważ użytkownik ma prawo do przeglądania I kasowania w
tabeli zespoły.
admin:
7 Stworzyć perspektywę stud zawierającą numery i nazwiska studentów kierunku
'Informatyka' (create view stud as select nr_stud,nazwisko from studenci s join
kierunki k on s.nr_kier=k.nr_kier where nazwa_kier='informatyka'). Nadać
użytkownikowi user1 prawo do przeglądania perspektywy stud.
create view stud as select nr_stud,nazwisko from studenci s join kierunki k on
s.nr_kier=k.nr_kier where nazwa_kier='informatyka';
GRANT select ON stud TO 'user1'@'localhost';
user1:
8 Obejrzeć rekordy w tabeli/widoku stud. Obejrzeć rekordy w tabeli studenci. Zmienić
nazwisko studenta TUREK na GREK. Co się stało i dlaczego?
select * from stud;
- zapytanie poprawne.
select * from studenci;
- zapytanie niepoprawne użytkownik ma dostęp do obrazu ale nie do tabeli studenci.
update stud set nazwisko ='GREK' where nazwisko ='TUREK';
- błąd brak uprawnień do modyfikacji tabeli nadano wyłącznie do przeglądania.
admin:
9 Nadać użytkownikowi user1 prawo do modyfikowania danych w perspektywie stud.
GRANT update ON stud TO 'user1'@'localhost';
user1:
10 Zmienić nazwisko studenta TUREK na GREK. Co się stało i dlaczego?
update stud set nazwisko ='GREK' where nazwisko ='TUREK';
- mimo uprawnień nadanych przez administratora do modyfikacji widoku brak
możliwości zmiany , ponieważ nadanie uprawnień do widoku nie wiąże się z nadaniem
uprawnień do modyfikacji w tabeli do której odnosi się widok.
admin:
11 Zmienić nazwisko studenta TUREK na GREK używając perspektywy stud. Co się stało
i dlaczego? Stworzyć perspektywę stud2 (create view stud2 as select nr_stud,nazwisko
from studenci). Zmienić nazwisko studenta TUREK na GREK używając perspektywy
stud2. Co się stało i dlaczego?
Nadać użytkownikowi user1 prawo do oglądania i modyfikacji widoku stud2.
update stud set nazwisko ='GREK' where nazwisko ='TUREK';
- mimo uprawnień administratora niemożliwe ponieważ widok składa się z polaczenia z
sobą więcej niż jednej tabeli .
create view stud2 as select nr_stud,nazwisko from studenci;
update stud2 set nazwisko ='GREK' where nazwisko ='TUREK';
- zmieniono nazwisko studenta , jest to możliwe ponieważ widok obejmuje tylko jedna
tabele.
GRANT select , update ON stud2 TO 'user1'@'localhost';
user1:
12 Zmienić nazwisko studenta GREK na TUREK używając perspektywy stud2. Co się
stało i dlaczego?
update stud2 set nazwisko ='TUREK' where nazwisko ='GREK';
- nazwisko zostało zmienione ponieważ użytkownik posiada uprawnienia do
przeglądani i modyfikacji.
admin:
13 Stworzyć użytkownika pom. Nadać użytkownikowi pom prawo do przeglądania tabeli
przedmioty.
CREATE USER 'pom'@'localhost';
GRANT select ON labbd.przedmioty TO 'pom'@'localhost';
pom:
14 Obejrzeć rekordy w tabeli przedmioty. Nadać użytkownikowi user1 prawo do
przeglądania tabeli przedmioty. Co się stało i dlaczego?
select * from przedmioty;
- zapytanie prawidłowe użytkownik ma uprawnienia do przeglądania tabeli.
GRANT select ON przedmioty TO 'user1'@'localhost';
- błąd użytkownik nie posiada uprawnień do nadawania uprawnień innym
użytkownikom.
admin:
15 Nadać użytkownikowi pom prawo do przeglądania tabeli przedmioty z możliwością
delegacji praw (WITH GRANT OPTION).
GRANT select ON przedmioty TO 'pom'@'localhost' WITH GRANT OPTION;
pom:
16 Nadać użytkownikowi user1 prawo do przeglądania tabeli przedmioty. Co się stało i
dlaczego?
GRANT select ON przedmioty TO 'user1'@'localhost';
- przyznano uprawnienia , ponieważ użytkownik nabył wcześniej uprawnienia do
nadawania uprawnień innym użytkownikom.
user1:
17 Obejrzeć rekordy w tabeli przedmioty.
select * from przedmioty;
admin:
18 Utworzyć więzy referencyjne (klucz obcy) gwarantujące, że nie uda się dodać oceny
studentowi, którego nie ma w tabeli studenci. Przetestować działanie.
alter table studenci add primary key (NR_STUD);
alter table oceny add foreign key (NR_STUD) references studenci(NR_STUD);
insert into oceny values (600,1,'2013-01-12 00:00:00',1,'E',4);
- brak możliwości dodania oceny studentowi który nie istnieje.
insert into oceny values (123,50,'2014-01-11 00:00:00',2,'E',3); );
- brak możliwości dodania oceny studentowi który nie istnieje.
admin:
19 Utworzyć więzy referencyjne (klucz obcy) gwarantujące, że nie uda się usunąć
przedmiotu, z którego są wystawione jakiekolwiek oceny. Przetestować działanie.
alter table przedmioty add primary key (NR_PRZEDM);
alter table oceny add foreign key (NR_PRZEDM) references przedmioty(NR_PRZEDM);
delete from przedmioty where NAZWA_PRZEDM = 'BAZY DANYCH';
- brak możliwości usunięcia przedmiotu w którym są oceny.
delete from przedmioty where NAZWA_PRZEDM = 'ARCHITEKTURA KOMPUTEROW';
- brak możliwości usunięcia przedmiotu w którym są oceny.
Wyszukiwarka
Podobne podstrony:
BAZY DANYCH Streszczenie z wykładówStrona polecenia do bazy danych2004 11 Porównanie serwerów relacyjnych baz danych Open Source [Bazy Danych]MySQL Mechanizmy wewnętrzne bazy danychBazy danych w CADPostać normalna (bazy danych) – Wikipedia, wolna encyklopediabazy danych01 Projektowanie relacyjnej bazy danych Czym jest relacyj2004 05 Rozproszone fraktale [Bazy Danych]bazy danych projekt infor w projekcieBazy danych(1)więcej podobnych podstron