BD-1st-2.4-lab14.tresc-1.1-Slajd4

Z Studia Informatyczne
Wersja z dnia 09:16, 10 sie 2006 autorstwa PKrzyzagorski (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Użytkownicy i schematy (2)

Użytkownicy i schematy (2)


Na rysunku przedstawiono bazę danych o nazwie „ZESP99”. Baza składa się z dwóch schematów o nazwach „ALA” i „OLEK”, załóżmy, że w każdym ze schematów utworzono relacje, które używamy do ćwiczeń (relacje PRACOWNICY, ZESPOLY i ETATY). Właścicielami schematów „ALA” i „OLEK” jest dwoje użytkowników, odpowiednio ALA i OLEK. Domyślnie każdy z użytkowników ma możliwość wykonywania operacji na danych, przechowywanych w relacjach schematu, którego jest właścicielem. I tak użytkownik ALA wykonuje zapytanie do relacji ZESPOLY w schemacie „ALA”, wskazując w klauzuli FROM zapytania wprost relację ZESPOLY. Podobnie użytkownik OLEK wykonuje zapytanie do relacji ZESPOLY, utworzonej w schemacie „OLEK”, którego jest właścicielem. Załóżmy teraz, że użytkownik ALA chciałaby odczytać dane relacji ZESPOLY ze schematu użytkownika OLEK. W takim przypadku w klauzuli FROM zapytania musi umieścić przed nazwą relacji nazwę schematu, a więc posłużyć się konstrukcją „OLEK.ZESPOLY”. Aby odczyt się powiódł, użytkownik OLEK musi pozwolić użytkownikowi ALA na dostęp do relacji z jego schematu.

Reasumując, użytkownicy, wykonując dostęp do obiektów z własnych schematów, podają w poleceniach SQL nazwy obiektów bezpośrednio (mogą umieścić przed nazwą obiektu nazwę swojego schematu, jednak nie jest to konieczne). Jeśli jednak użytkownik chce wykonać dostęp do obiektów, umieszczonych w schemacie innym niż jego własny, musi poprzedzić nazwę obiektu nazwą schematu. Dostęp zakończy się sukcesem, jeśli właściciel schematu pozwoli użytkownikowi na dostęp do obiektów, których jest właścicielem.


<< Poprzedni slajd | Spis treści | Następny slajd >>