Bazy danych w08 07

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

SQL

SQL

j

j

ę

ę

zyk DCL,

zyk DCL,

procedury sk

procedury sk

ł

ł

adowane i wyzwalacze

adowane i wyzwalacze

Wykład 8

27.11.2007

Antoni Dydejczyk

http://www.ftj.agh.edu.pl/~antek

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Plan wyk

Plan wyk

ł

ł

adu

adu

Procedury składowane w bazach danych i ich zadania

Wyzwalacze - procedury uruchamiane w zależności od
zdarzeń

Transakcje w systemie baz danych z poziomu interfejsu
języka SQL

Mechanizmy bezpieczeństwa w języku SQL

polecenia GRANT i REVOKE

Tworzenie użytkowników i grup użytkowników w systemach
baz danych

Reguły przydzielania uprawnień użytkownikom i grupom

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Poprzednie wyk

Poprzednie wyk

ł

ł

ady

ady

Polecenia DDL (Data Definition Language)

CREATE
ALTER
DROP

Polecenia DML (Data Manipulation Language)

SELECT
INSERT, UPDATE, DELETE
Łączenie tabel
Podzapytania
Perspektywy

Funkcje agregujące

COUNT(), SUM(), MIN(), MAX(), AVG()

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Poprzednie wyk

Poprzednie wyk

ł

ł

ady

ady

-

-

SQL

SQL

DDL

DML
DML

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

SQL:1999

SQL:1999

Rozszerzenie języka SQL o następujące funkcjonalności

procedury składowane
wyzwalacze

Część 4 specyfikacji języka SQL

SQL/PSM (Persistent Stored Modules)
Proceduralne rozszerzenie języka SQL.

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Procedury sk

Procedury sk

ł

ł

adowane

adowane

Czym są procedury składowane ?

Procedury składowane są to programy przechowywane

razem z bazą danych. Umożliwiają bezpośrednie
manipulowanie danymi w bazie danych bez jakiejkolwiek
interwencji klienta, bez generowania ruchu sieciowego.
Składowane procedury wykonuj
ą się całkowicie na serwerze.
Ka
żda składowana procedura jest samodzielnym modułem
kodu, który mo
że być wykonany z dowolnej aplikacji klienta,
innej procedury składowanej lub wyzwalacza.

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Wyzwalacz

Wyzwalacz

Czym jest wyzwalacz ?

Wyzwalacz podobny jest do procedury, ale

posiada jedną żnicę - jest uruchamiany automatycznie
w momencie zachodzenia okre
ślonych typów zdarzeń.
Zdarzenia te mog
ą dotyczyć całej tablicy lub wiersza
danych. Na przykład mo
żna zdefiniować wyzwalacz, który
jest wywoływany po uaktualnieniu wiersza.

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Zadania procedur sk

Zadania procedur sk

ł

ł

adowanych i wyzwalaczy

adowanych i wyzwalaczy

• Pozwalają serwerowi wykonywać złożone operacje na bazie

danych bez angażowania oprogramowania klienckiego;

• Mogą być dzielone przez wszystkich klientów mających

dostęp do bazy danych, nie potrzeba programować tej samej
logiki w każdej aplikacji klienta;

• Zmniejszają ruch sieciowy poprzez odciążenie środowisk

aplikacji i przeniesienie przetwarzania na serwer;

• Składowane procedury umożliwiają podział złożonych

zadań na mniejsze, bardziej logiczne moduły;

• Składowane procedury są szczególnie użyteczne do

wykonywania złożonych, okresowych czynności;

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Zadania procedur sk

Zadania procedur sk

ł

ł

adowanych i wyzwalaczy

adowanych i wyzwalaczy

• Procedury zapewniają lepszą współbieżność pomiędzy

klientem a serwerem;

• Wyzwalacze są podstawowym środkiem do utrzymywania

spójności bazy danych;

• Wyzwalacze są wykorzystywane do generowania wartości

klucza pierwotnego przy wstawianiu nowego rekordu;

• Wyzwalacze mogą być wykorzystane do zapisywania

informacji o statusie tablicy do innej tablicy;

• Procedury składowane oferują podniesienie bezpieczeństwa.

Mogą wykonywać operacje na tablicach, nawet jeżeli
użytkownik nie posiada odpowiednich uprawnień do danej
operacji na tablicy.

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Kiedy u

Kiedy u

ż

ż

ywamy procedur sk

ywamy procedur sk

ł

ł

adowanych ?

adowanych ?

• Jeżeli operacja może być wykonana w całości na

serwerze, bez wymogu pozyskania informacji od
użytkownika podczas trwania operacji;

• Jeżeli operacja wymaga przetworzenia dużej ilości

wierszy, co mogłoby być kosztowne w kategoriach ruchu
sieciowego;

• Jeżeli operacja musi być wykonywana okresowo lub

często;

• Jeśli operacja jest wykonywana przez wiele różnych

modułów lub procesów wewnątrz aplikacji lub przez
różne aplikacje;

• Jeśli logika często się zmienia.

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Kiedy u

Kiedy u

ż

ż

ywamy wyzwalaczy ?

ywamy wyzwalaczy ?

• Użycie wyzwalacza przed operacjami - wprowadzanie,

uaktualnianie, usuwanie:

– wyzwalacz „przed” może kontrolować spójność, poprawność i

kompletność wprowadzanych lub modyfikowanych danych;

– wyzwalacz „przed” może wypełniać kolumny;

– wyzwalacz „przed” przy zapytaniu DELETE może zwracać błąd

jeżeli istnieją powiązane rekordy, lub usunąć powiązane wiersze
przed usunięciem wierszy w tabeli nadrzędnej;

• Użycie wyzwalacza po uruchomieniu w/w operacji:

– wyzwalacz „po” może być wykorzystany do rejestrowania zmian

wiersza;

– może być wykorzystany do uaktualnienia informacji w

powiązanych tabelach.

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Przetwarzanie danych

Przetwarzanie danych

SELECT ...

INSERT ...

INSERT ...

UPDATE ...

SELECT ...

Przetwarzanie

Przetwarzanie

Przetwarzanie

Przetwarzanie

Przetwarzanie

Aplikacja klienta

Serwer

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Przetwarzanie danych

Przetwarzanie danych

EXECUTE

PROCEDURE

PROC (parm_in,

parm_out) ...

Aplikacja klienta

Serwer

Przetwarzanie

Przetwarzanie

Przetwarzanie

Przetwarzanie

INSERT ...

SELECT ...

UPDATE ...

SELECT ...

Baza danych

Procedura PROC

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Procedury sk

Procedury sk

ł

ł

adowane

adowane

CREATE PROCEDURE Nazwa_procedury

[ lista parametrów ]
RETURNS [ lista parametrów zwrotnych ]

AS

[ deklaracje zmiennych lokalnych ]

BEGIN

[ ciało procedury ]

END

[ lista parametrów ] =

( Nazwa_parametru_1 Typ_parametru,

Nazwa_parametru_2 Typ_parametru,
Nazwa_parametru_3 Typ_parametru )

[ deklaracja zmienny lokalnych ] = Zmienna_lokalna_1 Typ_zmiennej

Zmienna_lokalna_2 Typ_zmiennej

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Wyzwalacz

Wyzwalacz

CREATE TRIGGER nazwa FOR tabela

[ BEFORE | AFTER ]
[ DELETE | INSERT | UPDATE ]

AS

[ deklaracje zmiennych lokalnych ]

BEGIN

[ ciało procedury ]

END

BEFORE INSERT

- przed wstawieniem nowego rekordu

BEFORE UPDATE

- przed aktualizacją rekordu

BEFORE DELETE

- przed usunięciem rekordu

AFTER INSERT

- po wstawieniu nowego rekordu

AFTER UPDATE

- po aktualizacji rekordu

AFTER DELETE

- po usunięciu rekordu

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Procedury sk

Procedury sk

ł

ł

adowane, wyzwalacze

adowane, wyzwalacze

1. Deklarowanie zmiennych lokalnych

DECLARE VARIABLE v_kwota integer ;

2. Bloki programowe

BEGIN
...
END

3. Wyrażenia warunkowe

IF ... ELSE ...

4. Wyrażenia tworzące pętle

WHILE warunek

wyrażenie

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Przykład:

CREATE PROCEDURE p

RETURN (r INTEGER)

AS
BEGIN

r=0;
WHILE (r<5) DO

BEGIN

r=r+1;
SUSPEND;
IF (r=3) THEN
EXIT;

END

END

Procedury sk

Procedury sk

ł

ł

adowane, wyzwalacze

adowane, wyzwalacze

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Procedury sk

Procedury sk

ł

ł

adowane, wyzwalacze

adowane, wyzwalacze

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Przykład:

create procedure pnazwisko

returns (r_nazwisko varchar(30), r_miasto varchar(30))

begin

for select o.nazwisko,a.miasto

from osoba o join adres a on o.id = a.id
into :r_nazwisko,:r_miasto

do

suspend;

end

Procedury sk

Procedury sk

ł

ł

adowane, wyzwalacze

adowane, wyzwalacze

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Procedury sk

Procedury sk

ł

ł

adowane, wyzwalacze

adowane, wyzwalacze

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Procedury sk

Procedury sk

ł

ł

adowane, wyzwalacze

adowane, wyzwalacze

Przykład:

CREATE TRIGGER "SET_OSOBA" FOR "OSOBA"
ACTIVE BEFORE INSERT
AS
BEGIN

INSERT INTO opis_osoba (id) VALUES (new.id);

END

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Procedury sk

Procedury sk

ł

ł

adowane, wyzwalacze

adowane, wyzwalacze

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Procedury sk

Procedury sk

ł

ł

adowane, wyzwalacze

adowane, wyzwalacze

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Procedury sk

Procedury sk

ł

ł

adowane, wyzwalacze

adowane, wyzwalacze

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Procedury sk

Procedury sk

ł

ł

adowane, wyzwalacze

adowane, wyzwalacze

-

-

PostreSQL

PostreSQL

System zarządzania bazą danych PostgreSQL umożliwia wsparcie przetwarzania
w bazie w oparciu o różne języki programowania proceduralnego:

PL/pgSQL, PL/Tcl, PL/Perl, możliwe procedury skompilowane .obj

Przykład definicji w bazie PostgreSQL

CREATE FUNCTION nazwa ( [typ_funkcji [, ...] ] )

RETURNS typ_wyniku
AS definicja
LANGUAGE ‘nazwa_jezyka’

Np.

CREATE FUNCTION add_one(int4) AS ‘

BEGIN

RETURN $1 + 1

END;

‘ LANGUAGE ‘plpgsql’ ;

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

# CREATE FUNCTION add_one (int4) RETURNS int4 AS ‘
# BEGIN RETURN $1+1; END; ‘ LANGUAGE ‘plpgsql’;

CREATE

# SELECT add_one(2) AS answer ;

answer

------------

3

#

Wyświetlenie listingu funkcji – tabela pg_proc

# SELECT prosrc FROM pg_proc WHERE procname=‘add_one’ ;

prosrc

--------------------------------
begin ....

Procedury sk

Procedury sk

ł

ł

adowane, wyzwalacze

adowane, wyzwalacze

-

-

PostreSQL

PostreSQL

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Wyzwalacze w bazie PostgreSQL

CREATE TRIGGER nazwa { BEFORE | AFTER }

{ zdarzenie [ OR ... ] }
ON table FOR EACH { ROW | STATEMENT }
EXECUTE PROCEDURE funkcja(argumenty)

Np.

CREATE TRIGGER trig_reorder
AFTER INSERT OR UPDATE ON stock
FOR EACH ROW EXECUTE PROCEDURE reorder_trigger(3);

Procedury sk

Procedury sk

ł

ł

adowane, wyzwalacze

adowane, wyzwalacze

-

-

PostreSQL

PostreSQL

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Transakcje

Transakcje

Transakcja - jest to wykonanie pewnego programu, który odbiera od
użytkownika żądanie dokonania określonej operacji, realizuje tę
operację i zwraca wyniki użytkownikowi.

Każda transakcja jest niezależnym zbiorem operacji, które zostaną
wykonane w całości lub wcale.

Każda transakcja jest izolowana od innych transakcji
zapoczątkowanych przez innych użytkowników.

Własności transakcji (ACID)

atomowość (Atomicity)

spójność (Consistency)

izolacja (Isolation)

trwałość (Durability)

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Transakcje

Transakcje

Transakcję rozpoczyna polecenie:

BEGIN WORK, START TRANSACTION

Transakcję kończy polecenie:

COMMIT WORK, COMMIT TRANSACTION

W przypadku błędu transakcję anuluje się poleceniem:

ROLLBACK

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Transakcje

Transakcje

(1)

(1)

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Transakcje

Transakcje

(2)

(2)

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Transakcje

Transakcje

(3)

(3)

Zatwierdzenie transakcji

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Transakcje

Transakcje

(4)

(4)

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Transakcje

Transakcje

(5)

(5)

Anulowanie transakcji

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Transakcje

Transakcje

(6)

(6)

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Transakcje

Transakcje

(7)

(7)

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Transakcje

Transakcje

(

(

przyk

przyk

ł

ł

ad SQL)

ad SQL)

Transakcja obejmująca kilka poleceń SQL

BEGIN WORK

INSERT INTO TABLE A1 …

INSERT INTO TABLE A2 …

INSERT INTO TABLE A3 …

INSERT INTO TABLE LOG …

COMMIT

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Kursory

Kursory

Kursor - w systemach zarządzania bazą danych jest to tymczasowa
struktura służąca do pobierania wyniku zapytania SQL. Kursor
umożliwia pobieranie rekordów sekwencyjnie, po jednym lub więcej
na raz, a także przemieszczanie się po wynikach zapytania.

Kursor może być zdefiniowany i działać po stronie serwera baz
danych, jak i po stronie klienta. Ten drugi typ kursora jest rodzajem
iteratora umożliwiającego poruszanie się po poszczególnych rekordach
zwróconych przez serwer klientowi.

Operacje wykonywane na kursorze

Zadeklarować

Otworzyć

Pobrać dane, przemieszczać się po kolejnych wierszach

Zamknąć

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Kursory

Kursory

Deklaracja kursora

DECLARE nazwa_kursora [BINARY] [INTENSIVE] [SCROLL]

CURSOR FOR zapytanie
[ FOR { READ ONLY | UPDATE [ OF COLUMN [, ... ] ] } ]

Pobieranie wierszy z kursora

FETCH [ FORWARD | BACKWARD | RELATIVE ]

[ # | ALL | NEXT | PRIOR ]
{ IN | FROM } nazwa_kursora

Przesuwanie pozycji kursora

MOVE [ FORWARD | BACKWARD | RELATIVE ]

[ # | ALL | NEXT | PRIOR ]
{ IN | FROM } nazwa_kursora

Zamykanie kursora

CLOSE nazwa_kusora

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Kursory

Kursory

Możliwości kursora według standardu SQL

Wrażliwość kursora po pobraniu danych na zmiany w danych
oryginalnych wykonane przez inne wątki

DECLARE nazwa kursora

INSENSITIVE

CURSOR FOR

Możliwość przewijania danych zawartych w kursorze w przód i w tył
(polecenia

FETCH NEXT, FETCH PRIOR, FETCH LAST, FETCH FIRST,

FETCH RELATIVE liczba, FETCH ABSOLUTE liczba)

DECLARE nazwa kursora

SCROLL

CURSOR FOR

. . .

Możliwość zmian danych w tabeli będącej źródłem dla kursora

UPDATE tabela

SET . . . WHERE CURRENT OF CURSOR nazwa kursora;

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Bezpiecze

Bezpiecze

ń

ń

stwo baz danych

stwo baz danych

Model SQL używa warstwowego modelu bezpieczeństwa,
który udost
ępnia administratorom zróżnicowane poziomy
kontroli dost
ępu do zasobów bazy danych.
Na model bezpiecze
ństwa składają się:

przywileje
użytkownicy
zasoby.

Użytkownikom można nadać odpowiednie przywileje
pozwalaj
ące im wykonać szereg różnych zadań na zasobach.

Przykładowo użytkownik może dostać prawo do operacji
SELECT bez mo
żliwości wykonania poleceń typu INSERT,
DELETE, czy UPDATE.

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Bezpiecze

Bezpiecze

ń

ń

stwo baz danych

stwo baz danych

Bezpieczeństwo systemu baz danych wymaga opracowania
zasad, reguł i planu przyznawania praw dost
ępu .

Przykład tworzenia systemu bezpieczeństwa.

planowanie

utworzenie ról - CREATE ROLE

przypisanie uprawnień do ról - GRANT ...

tworzenie użytkowników

przypisanie użytkownikowi ról - GRANT ...

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Polityka bezpiecze

Polityka bezpiecze

ń

ń

stwa

stwa

* * * *

* - - -

o - - -

* * * *

* * * *

Sprzedawc

a

* - - -

* * * *

o - - -

* - - -

* - - -

Mechanik

* - - -

* * * *

* * * *

* - - -

* - - -

Kierownik

* - - -

* - - -

o - - -

* - - -

* - - -

Kasjer

S D I U

S D I U

S D I U

S D I U

S D I U

Stanowisk

o

Wypożyczenia

Samochody

Pracownicy

Miejsca

Klienci

Tabele

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Bezpiecze

Bezpiecze

ń

ń

stwo baz danych

stwo baz danych

Przywileje nadawane w bazach danych.

Wyrażenia

Przywileje

ALTER

Pozwala wydawać polecenia ALTER

REFERENCES

Pozwala na tworzenie kluczy obcych

INDEX

Pozwala zakładać indeksy

SELECT

Pozwala wykonywać polecenia SELECT

INSERT

Pozwala wstawiać rekordy do tabeli

UPDATE

Pozwala modyfikować rekordy tabeli

DELETE

Pozwala usuwać rekordy z tabeli

ALL

Pozwala na wszystkie operacje na danych

EXECUTE

Pozwala na wykonywanie procedur składowanych

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Bezpiecze

Bezpiecze

ń

ń

stwo baz danych

stwo baz danych

Składnia polecenia GRANT

GRANT przywilej ON obiekt TO użytkownik

Składnia polecenia REVOKE

REVOKE przywilej ON obiekt FROM użytkownik

Nadawanie użytkownikom uprawnienia GRANT

GRANT przywilej ON obiekt TO użytkownik WITH GRANT OPTION

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Role - pakiet uprawnień, warstwa abstrakcyjna stworzona pomiędzy
u
żytkownikiem a obiektami bazy danych. Rolom można przypisać dowolną
liczbę uprawnień, które będą obowiązywać każdego przypisanego do niej
u
żytkownika.

Składnia polecenia tworzącego i usuwającego role.

CREATE ROLE nazwa_roli

GRANT przywilej ON obiekt TO nazwa_roli

GRANT nazwa_roli TO użytkownik

DROP ROLE nazwa_roli

Bezpiecze

Bezpiecze

ń

ń

stwo baz danych

stwo baz danych

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

CREATE ROLE Kasjer;

GRANT SELECT ON Klienci TO Kasjer;

GRANT SELECT ON Miejsca TO Kasjer;

GRANT SELECT ON V_Pracownicy TO Kasjer;

GRANT SELECT ON Samochody TO Kasjer;

GRANT SELECT ON Wypozyczenia TO Kasjer;

CREATE ROLE Kierownik;

GRANT SELECT ON Klienci TO Kierownik;

GRANT SELECT ON Miejsca TO Kierownik;

GRANT ALL ON Pracownicy TO Kierownik;

GRANT ALL ON Samochody TO Kierownik;

GRANT SELECT ON Wypozyczenia TO Kierownik;

Bezpiecze

Bezpiecze

ń

ń

stwo baz danych

stwo baz danych

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Użytkownik w bazie danych

Tworzenie użytkowników

- polecenie CREATE USER

- z poziomu aplikacji do obsługi bazy danych

( w bazie InterBase - aplikacja IBConsole )

- w systemie PostgreSQL:

z poziomu poleceń SQL

z poziomu systemu operacyjnego

Bezpiecze

Bezpiecze

ń

ń

stwo baz danych

stwo baz danych

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Bezpiecze

Bezpiecze

ń

ń

stwo baz danych

stwo baz danych

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Bezpiecze

Bezpiecze

ń

ń

stwo baz danych

stwo baz danych

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Bezpiecze

Bezpiecze

ń

ń

stwo baz danych

stwo baz danych

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Bezpiecze

Bezpiecze

ń

ń

stwo baz danych

stwo baz danych

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Bezpiecze

Bezpiecze

ń

ń

stwo baz danych

stwo baz danych

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Tworzenie nowego użytkownika:

CREATE USER nazwa_uzytkownika

[ WITH
[SYSID uid ]
[PASSWORD ‘haslo’
[CREATEDB | NOCREATEDB ]
[CREATEUSER | NOCREATEUSER ]
[IN GROUP nazwa_grupy [, ....] ]
[VALID UNTIL ‘czas waznosci] ]

Usuwanie użytkownika

DROP USER [opcje,..] nazwa_uzytkownika

Zmiana właściwości użytkownika

ALTER USER nazwa_uzytkownika

[ WITH PASSWORD ‘haslo’]
[ CREATEDB | NOCREATEDB ][ CREATEUSER | NOCREATEUSER ]
[ VALID UNTIL ‘czas waznosci’ ]

Bezpiecze

Bezpiecze

ń

ń

stwo baz danych

stwo baz danych

-

-

PostgreSQL

PostgreSQL

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Tworzenie grupy użytkowników:

CREATE GROUP nazwa_grupy

[ WITH
[SYSID gid ]
[USER nazwa_uzytkownika, [ ,...] ] ]

Dodawanie (usuwanie) użytkownika do (z) grupy

ALTER GROUP nazwa ADD USER nazwa_uzytkownika [, .... ]
ALTER GROUP nazwa DROP USER nazwa_uzytkownika [, ... ]

Usuwanie grupy użytkowników

DROP GROUP nazwa_grupy

Bezpiecze

Bezpiecze

ń

ń

stwo baz danych

stwo baz danych

-

-

PostgreSQL

PostgreSQL

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Nadawanie uprawnień

GRANT uprawnienie [, ....] ON obiekt [, ... ]
TO { PUBLIC | GROUP nazwa_grupy | nazwa_uzytkownika }

Możliwe uprawnienia

SELECT

- odczytywanie wierszy

INSERT

- tworzenie nowych wierszy

DELETE

- usuwanie wierszy

UPDATE

- aktualizacja istniejących wierszy

RULE

- tworzenie reguł dla tabeli lub perspektywy

ALL

- daje wszystkie uprawnienia

Odbieranie uprawnień

REVOKE uprawnienie [, ... ]
ON obiekt [, ... ]
FROM { PUBLIC | GROUP nazwa_grupy | nazwa_uzytkownika }

Bezpiecze

Bezpiecze

ń

ń

stwo baz danych

stwo baz danych

-

-

PostgreSQL

PostgreSQL

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Pliki i tabele systemowe:

pg_hba.conf -

plik tekstowy, zawierający konfigurację systemu
uwierzytelnienia hostów PostgreSQL

pg_user -

tabela systemowa zawierająca użytkowników

pg_shadow -

tabela systemowa zawierająca dane
u
żytkowników z hasłami

Bezpiecze

Bezpiecze

ń

ń

stwo baz danych

stwo baz danych

-

-

PostgreSQL

PostgreSQL

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Bezpiecze

Bezpiecze

ń

ń

stwo w bazie danych

stwo w bazie danych

MS SQL

MS SQL

Permission
Validation

Udostępnia dostęp
do bazy danych;
Autoryzacja

Login

Udostępnia dostęp do
SQL Server;
Uwierzytelnienie

Dwa poziomy zabezpieczenia dostępu do serwera SQL.
Pierwszy :

Login – UserID, password

Drugi:

Permission Validation – User, Group, Role

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Bezpiecze

Bezpiecze

ń

ń

stwo w bazie danych

stwo w bazie danych

IBM DB2

IBM DB2

background image

Antoni Dydejczyk, Bazy danych, wykład 8

WFiIS, Katedra Informatyki Stosowanej, 2007

Pytania ...

Pytania ...


Wyszukiwarka

Podobne podstrony:
Bazy danych w03 07 id 81702 Nieznany
Bazy danych w02 07 id 81701 Nieznany
Bazy danych w13 07 id 81707 Nieznany
Bazy danych w12 07 id 81706 Nieznany (2)
Bazy danych w07 07 id 81703 Nieznany
Bazy danych w10 07 id 81705 Nieznany
Bazy danych w04 07
Bazy danych 07 id 81462 Nieznany (2)
15.01.'07, materiały edukacyjne, Bazy danych
Radosław Wolicki Bazy Danych 07 01 2013

więcej podobnych podstron