background image

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: 

 

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 

 

background image

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

 

background image

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.

 

background image

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.

 

background image

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.