7. SYSTEMOWI- ASPEKTY JEŻYKA SQL
szenia nie wrażliwość i, sckwencyjności ani innych metod ochrony danych.
♦ Organizacja bazy danych (organizalion of a dalabase): Instalacja SQL2 za pośrednictwem systemu DBMS tworz.y środowisko działania SQL2. W tym środowisku elementy bazy danych, takie jak relacje, są grupowane w schematy, katalogi i klastry. Katalog stanowi zestaw schematów, a klaster jest jeszcze większą jednostką danych dostępną dla użytkownika.
♦ Systemy klient-serwer (client/ser\er Systems): Klient SQL łączy się z serwerem SQL2 i w ten sposób powstają: połączenie (między dwoma procesami) oraz sesja (ciąg działań). Kod, który wykonuje się podczas sesji, pochodzi z modułu, a wykonanie nazywa się agentem.
♦ Praw!a (j)rivileges): Dla zapewnienia ochrony danych przed niepowołanym dostępem w systemie SQL2 powstały różne typy praw dostępu do elementów1 2 3 4 5 6 bazy danych. Prawa te są następujące: select (odczyt), insert (wstawianie), dclctc (usuwanie), update (aktualizacja relacji) oraz prawa reference (odwoływania się do relacji w więzach). Prawa insert, update i references można otrzymać także na poszczególne kolumny relacji, a nie tylko na całą relację.
♦ Diagramy grant {grant diagrams): Prawa mogą nadawać ich właściciele innym użytkownikom lub użytkownikowi PUBLIC. Po określaniu praw z opcją grant ich naby wca może stać się źródłem tych praw dla innych użytkowników. Prawa można także odbierać. Diagram grant stanowi mechanizm pamiętania, kto komu udzielił jakich praw.
Informacje dotyczące bibliografii standardu SQL zostały podane w nocie po rozdziale 5.
Dokładniejsze omówienie standaryzacji zagadnień transakcji i kursorów znajduje się w [1].
Najważniejsza koncepcja dotycząca sposobu implementowania transakcji, nazywana
..blokowaniem dwufazowym”, została zaproponowana w 13J. Więcej informacji na temat zarządzania transakcjami i ich implementacji znajduje się w [21 i [5], Pierwsze pomysły związane
z autoryzacją dostępu w języku SQL2 zostały opisane w [6] oraz [4].
W bieżącym rozdziale przedstawimy dwie koncepcje wprowadzenia p gramów ania zorientowanego obiektowo do św-iata baz danych. Oba jęz^ OQL i SQL3 są raczej propozycjami standardów niż językami o szerol zakresie zastosowań, ale oba zyskują coraz szerszą akceptację i pewne elementy bywają raptownie dołączane do systemów komercyjnych.
Obiektowy język zapytań OQL (Objęci Query Language) stanowi pr standaryzacji zorientowanych obiektowo języków zapytań, w której star się połączyć elementy programowania wysokiego poziomu SQL z parad matami programowania obiektowego. Na początku omówimy metody i ob.‘ stosowania ODL, języka definiowania obiektów, który w rozdziale 2 służy opisu modelu. Te dwa elementy mają ważny wpływ na język zapytań O1 Potem omówimy kilka rożnych aspektów' programowania w języku OQL.
Podczas gdy OQL stanowi próbę jak najlepszego przystosowania 5 do programowania obiektowego, to SQL3 można traktować jako próbę i czenia podejścia obiektowego do modelu relacyjnego. W pewnym sensie języki spotykają się gdzieś „po środku”, ale istnieją także między nimi S| różnice, które polegają przede wszystkim na tym, że pewne operacje w^ nuje się łatwiej w jednym języku, a inne w drugim. Dlatego zaraz po opis; zorientowanych obiektowo właściwości standardu SQL3 dokonamy poi nania możliwości tkwiących w obu językach.
W zasadzie różnica między tymi dw iema koncepcjami sprowadza si różnych rozwiązań zagadnienia: „jak ważna jest relacja?”. W środow skupionym wokół ODL i OQL odpowiedź na tak postawione pytanie br „niezbyt”. W ty ch językach bowiem można korzystać ze wszystkich ot tów: zbiorów, wielozbiorów, struktur (czyli relacji) itd. Natomiast w S1 relacja jest nadal podstawowym pojęciem bazy danych. W podejściu S( które bywa często nazy w ane obiektowo-relacyjnym, model relacyjny jest szerzony przez dopuszczenie bardziej złożonych typów krotek oraz dzie atrybutów relacji. Zatem klasy i obiekty są dołączone do modelu rclacyjr ale zawsze w powiązaniu z relacjami.
Bercnson H., Bernstein P.A., Gray J.N.. Mellon J., 0’Neil E., 0’Neil P.: A criliąue of ANS1 SQL isolation lcvels. Proceedings of ACM SIGMOD INI!,. Conj Of Management of Data, s. 1-10, 1995.
Bernstein P.A., Hadzilacos V., Goodman N.: Concurrency Contro! and Hecovery in Data-bose Systems. Addison-Wesley, Reading, MA. 1987.
Es waran K.P, Gray J.N., Lorie A.. Traigcr I.L.: The notions of consistency and predicatc loeks in a database system. Communication of the ACM 19:11 s. 624-633, 1976.
Fagin R.: On the authorization mcchanism. ACM Transaction on Database Systems 3:3 s. 310-319, 1978.
Gray J.N., Reuter A.: Transaction Processing: Concepts and Techniques. Morgan--Kaufmann, San Francisco, 1993.
Griffiths P.P., Wadc B.W.: An authorization mechanism for a relational database system. ACM Transaction on Database Systems 1:3 s. 242-255, 1976.