POLITECHNIKA OPOLSKA
WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI
BAZY DANYCH I
LABORATORIUM
Kierunek
studiów:
Informatyka
Rok studiów:
III
Numer grupy:
L4
Rok akademicki: 2012/2013
Semestr:
V
Temat:
Ćwiczenie 6
Lp.
Nr indeksu
Imię i nazwisko
1.
78202
Kurasz Arkadiusz
Termin zajęć:
Prowadzący:
dzień:
Wtorek
mgr inż. Alina Stefanowska-Kędzia
godzina:
10:05
POLITECHNIKA OPOLSKA
WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI
strona 1
Ćwiczenie zostało przeprowadzone na lokalnie zainstalowanej bazie Oracle Database 10g
Express Edition. Dodatkowo utworzono
użytkowników stud1, stud2 oraz danio.
Zad.1.
W bazie danych zostało utworzonych 2 użytkowników stud1 i stud2. Jako użytkownik stud2
utworzyć relacje prac_stud2 zawierającą dane z relacji prac. Użytkownik stud1 może
wyświetlać zawartość tej relacji poleceniem:
select * from stud2.prac_stud2;
Jako użytkownik stud2 wykonujemy:
create table prac_stud2 as select * from prac;
grant select on prac_stud2 to stud1;
Jako użytkownik stud1 wybieramy wszystkie rekordy z tabeli prac_stud2.
Zad. 2.
Illustration 1:
Wybieranie rekordów z tabeli prac_stud2 przez użytkownika stud1
POLITECHNIKA OPOLSKA
WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI
strona 2
Zmodyfikować prawa użytkownika stud1 do relacji prac_stud2 tak, aby mógł wykonywać na
niej wszystkie operacje DML i DDL oraz nadawać przywileje innym użytkownikom do tej
relacji.
Zapytanie:
grant all on prac_stud2 to stud1 with grant option;
Jako użytkownik stud1 możemy dodawać rekordy do tabeli prac_stud2.
Jako użytkownik stud1 możemy nadawać przywileje na tabele prac_stud2 innym
użytkownikom.
Illustration 2: Dodawanie rekordu do tabeli prac_stud2 przez użytkownika stud1.
Illustration 3: Nadawanie przywileju przez użytkownika
stud1 na tabele prac_stud2 użytkownikowi danio.
POLITECHNIKA OPOLSKA
WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI
strona 3
Jako użytkownik danio możemy wybrać rekordy z tabeli prac_stud2.
Jako użytkownik stud2 możemy usuwać rekordy z tabeli prac_stud2.
Illustration 4:
Wybieranie rekordów z tabeli prac_stud2 przez użytkownika danio.
Illustration 5: Usuwanie rekordu z tabeli
prac_stud2 przez użytkownika stud1.
POLITECHNIKA OPOLSKA
WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI
strona 4
Zad. 3.
Utworzyć unikalny indeks na atrybucie nazwisko relacji prac. Co się stanie po wykonaniu
poleceń.
Zapytanie:
create unique index nazw_index on prac(nazwisko);
Wynik zapytania:
Zad.4.
Zdefiniować indeksy na odpowiednich atrybutach tak, aby przyspieszyć wykonanie
poniższego polecenia:
select p.nazwisko, p.zatrudniony, s.nazwisko, s.zatrudniony
from prac p, prac s
where p.szef=s.id_prac
and p.placa_pod>s.placa_pod;
Illustration 6: Tworzenie indeksu na atrybucie
nazwisko relacji prac.
Illustration 7: Tworzenie indeksu na atrybucie
zatrudniony relacji prac.