Organizarea accesului la date pentru mai mulți utilizatori

Baze de date

Problema accesului multi-utilizator și prelucrarea paralelă a datelor în sistemele informatice automatizate

O consecință firească a dezvoltării DBMS este problema organizării muncii comune a mai multor utilizatori cu același set de date sau, pe scurt, problemele legate de accesul multiplu la date.






Să ne ocupăm în detaliu de principalele aspecte ale acestei probleme. În primul rând, situația de separare a aceluiași set de date între mai mulți utilizatori poate duce la conflicte (încercarea de a face o singură modificare a aceleiași înregistrări, coincidența operațiilor de citire și ștergere a informațiilor etc.). Un loc separat atunci când lucrați cu SGBD este
întrebări de prevenire a coliziunilor care pot apărea în cazul unor schimbări necoordonate în structura tabelelor, forme ale lungimii rapoartelor de către un utilizator, când alții lucrează cu aceștia.
Din punct de vedere al organizării partajării datelor de către mai mulți utilizatori, modurile de operare cu acestea sunt împărțite în mod de acces exclusiv (exclusiv) și mod de acces comun (comun).
Modul de acces exclusiv la baza de date prevede că numai unul dintre utilizatori (procese software) poate funcționa împreună cu acesta, iar posibilitatea deschiderii acestuia de către alți utilizatori (procese) este blocată. Deschiderea bazei de date în mod exclusiv, utilizat de obicei pentru a efectua operațiuni pentru a schimba structura tabelelor și relațiile dintre ele, un număr mare de informații de export, efectua operațiunile lor de date (salvare, restaurare, compresie) și m. P.
În consecință, în modul de acces separat, mai mulți utilizatori pot lucra simultan cu baza de date. Pentru a preveni posibilele conflicte atunci când încercările sunt făcute de diferiți utilizatori pentru a schimba aceleași înregistrări în DBMS, se folosește mecanismul de blocare. Blocarea unui obiect în cazul în care orice utilizator care lucrează cu acesta înseamnă a împiedica orice alte încercări de a schimba acest obiect, dar totuși este posibil să îl citiți. Astfel, mecanismul de blocare oferă o modalitate mai flexibilă de manipulare a datelor comparativ cu modul de acces exclusiv.
Pentru diferite DBMS-uri, soluțiile tehnice specifice pentru implementarea dispozitivului de blocare sunt semnificativ diferite. În cazul MS Access, în special atunci când o înregistrare este modificată de către un utilizator în mod implicit, aceasta se blochează automat până la finalizarea operației. Când creați formulare, rapoarte sau interogări în Access, aveți opțiunea de a seta parametrii modului de blocare. În Fig. 7.34 arată procesul de modificare a proprietății Record Lock pentru un formular.

Organizarea accesului la date pentru mai mulți utilizatori

Fig. 7.34. Setarea modului de blocare pentru datele disponibile din formular

7.4.2. Principalele direcții de dezvoltare a tehnologiei client-server
Lucrul pentru a depăși neajunsurile inerente sistemelor de fișiere-server a dus la apariția unei tehnologii mai avansate, numită server. Principalele sale diferențe sunt prezentate în Fig. 7.35.

Organizarea accesului la date pentru mai mulți utilizatori

Organizarea accesului la date pentru mai mulți utilizatori

Fig. 7.35. Schema schematică a tehnologiilor server de fișiere (a) și client-server (b)

În sistemul client-server, procesorul bazei de date este găzduit pe serverul central și poate fi utilizat împreună cu depozitul de date. Acesta poate servi simultan mai multe aplicații client, gestionând stocarea și returnând informațiile solicitate după procesare aplicației locale care a solicitat-o. Până în prezent, există o serie de etape pe care le-a parcurs tehnologia client-server: RD A-model, DBS-model și AS-model. În modelul ADR, aplicația client trimite cereri (de obicei în limba SQL) către resursele de informație ale serverului pe care funcționează motorul bază de date. Kernelul procesează interogările primite și returnează rezultatul clientului, proiectat ca un bloc de date. Cu această schemă, programele pe clienți-calculator sunt inițiatori ai manipulării datelor, iar nucleul DBMS are un rol. Principalul avantaj al modelului ADR este unificarea interfeței cu serverul folosind limbajul de interogare standard.
Unificarea permite implementarea unor măsuri suplimentare pentru a proteja informațiile stocate la nivelul stabilirii sistemului de drepturi în raport cu aceste sau alte echipe. În acest model, există și o descărcare semnificativă a traficului de rețea datorită faptului că între stațiile de rețea nu sunt transferate acum părți ale fișierului bazei de date, ci comenzi și răspunsuri la acestea.






Baza modelului DBS este mecanismul procedurilor stocate. Procedurile stocate sunt software-ul serverului de baze de date. Ele sunt stocate în dicționarul de bază de date, pot fi partajate între diferiți clienți și pot fi difuzate pe același computer pe care rulează procesul software-ului serverului de bază de date. În general, limbile în care sunt create procedurile stocate sunt extensii procedurale ale limbajului SQL. În prezent nu există un singur standard pentru astfel de instrumente lingvistice; astfel încât acestea sunt specifice fiecărui SGBD anume. Printre avantajele DBS-modele pot fi numite funcții centralizate de aplicații de management, o scădere suplimentară a traficului (în loc de SQL-interogări apelurile de proceduri stocate sunt transmise prin rețea), economisirea resurselor informatice prin utilizarea planului odată ce a dezvoltat procedura. Problemele tradiționale asociate modelului DBS includ dificultățile care însoțesc crearea, depanarea și testarea procedurilor stocate. În primul rând, popularitatea și perspectivele acestui model sunt demonstrate de faptul că acesta este implementat în baze de date relaționale atât de utilizate, cum ar fi Oracle, Sybase, Informix, Ingres.
În modelul AS, procesul care rulează pe computerul client se numește Client aplicație (AC) și este responsabil pentru interfața cu utilizatorul. Dacă este necesar, efectuați anumite operații de aplicație, se referă la serverul de aplicații (Application Server - AS). Toate operațiunile privind resursele informaționale sunt realizate de componente software speciale, în legătură cu care AS joacă rolul de client. Ca exemplu de componente ale aplicațiilor, pot fi numite resurse de diferite tipuri - baze de date, cozi, servicii poștale etc.
Motorul bazei de date Jet, așa cum am menționat mai devreme, nu este un procesor care suportă tehnologia client-server. Totuși, cu Access, puteți crea aplicațiile corespunzătoare comunicând cu sursele de date client-server prin ODBC.

7.4.3. Organizarea protecției datelor în baza de date MS Access
O funcție indispensabilă a oricărui SGBD dezvoltat este protejarea datelor de accesul neautorizat. Este evident că un mod de protecŃie completă poate fi furnizat numai în cadrul sistemelor de control industrial, cu condiŃia ca implementarea măsurilor de natură software, hardware și administrative să fie complexă. Înainte de această secțiune, a fost stabilită o sarcină mai modestă - pe exemplul MS Access, pentru a descrie la nivel de principiu acele abordări utilizate în DBMS. Pentru a oferi protecție software a datelor.
MS Access oferă două modalități tradiționale de a proteja baza de date:
- stabilirea parolei necesare la deschiderea bazei de date;
- protecția la nivelul stabilirii drepturilor utilizatorilor, ceea ce vă permite să limitați capacitatea de a obține sau de a schimba informații în baza de date pentru un anumit utilizator.
În plus, aveți posibilitatea să eliminați un program de bază modificabil din baza de date pentru a preveni modificările structurii formularelor, rapoartelor și modulelor, salvând baza de date ca fișier MDE.
Stabilirea unei parole pentru a deschide o bază de date este cea mai simplă metodă de ao proteja. După ce ați setat parola (funcția de meniu Instrumente> Securitate> Setare parolă bază de date), de fiecare dată când baza de date este deschisă, va apărea o casetă de dialog în care vi se va solicita o parolă. Deschideți baza de date și accesați resursele sale pot obține numai utilizatorii care introduc parola corectă. Această metodă este destul de fiabilă (MS Access criptează parola, deci nu există acces direct la ea atunci când citește fișierul bazei de date). Cu toate acestea, testul este efectuat numai când baza de date este deschisă, după care toate obiectele sale devin accesibile. Ca rezultat, setarea parolei este, de obicei, o protecție suficientă pentru bazele de date care sunt partajate de un grup mic de utilizatori sau sunt instalate pe un computer autonom.
O modalitate mult mai fiabilă și mai flexibilă de organizare a protecției este protejarea la nivelul utilizatorului. Este similar cu metodele utilizate în majoritatea sistemelor de rețea. Procesul de stabilire a protecției la nivelul utilizatorului constă în două etape principale:
- crearea unui sistem de utilizatori, grupați împreună (Instrumente> Protecție> Utilizatori și grupuri);
- stabilirea drepturilor de acces pentru diferiți utilizatori și grupuri în raport cu obiectele bazei de date (Instrumente> Protecție> Permisiuni).

Organizarea accesului la date pentru mai mulți utilizatori

Fig. 7.36. Definirea unui sistem utilizator

Informațiile despre sistemul utilizatorului sunt stocate într-un fișier special numit fișier de grup de lucru. În mod implicit, acesta este fișierul System.mdw. Cu toate acestea, folosind un program special inclus în pachetul Access, diferite baze de date pot fi asociate cu diferite fișiere de grup de lucru. Când porniți Accesul de la utilizatori, trebuie să vă identificați și să introduceți o parolă. Utilizatorii individuali pot fi grupați împreună, iar același utilizator poate fi membru al grupurilor diferite. O astfel de organizare a sistemului utilizator permite o manipulare foarte flexibilă a setului de drepturi de acces, pornind de la specificul funcțional al zonei subiectului. În fișierul grupului de lucru Acces, în mod implicit, sunt create două grupuri: administratori (grupul Administratori) și grupul Utilizatori, care include toți utilizatorii. De asemenea, este posibil să se definească alte grupuri. Procesul de creare a unui sistem de utilizator și determinarea calității de membru în grupuri este prezentat în Fig. 7.36.

Organizarea accesului la date pentru mai mulți utilizatori

Fig. 7,37. Definirea drepturilor de utilizator

Atât grupurile, cât și utilizatorii au permisiuni de acces care definesc ce acțiuni sunt acceptabile pentru ele în raport cu fiecare obiect de bază de date. Setul de posibile drepturi este în mod evident determinat de specificul obiectului. De exemplu, lista gradărilor permisiunilor pentru lucrul cu formularul de ecran este prezentată în Fig. 7,37.
În mod implicit, membrii grupului Admins au toate permisiunile de a accesa toate obiectele bazei de date. Deoarece grupul Utilizatori îi unește pe toți utilizatorii, este logic să atribuie un anumit set minim de drepturi. Mai mult, este posibil să se stabilească o structură de management mai extinsă prin crearea conturilor proprii de grup, oferind acestor grupuri permisiuni corespunzătoare și adăugându-le utilizatorilor. Procesul de setare a drepturilor de acces ale utilizatorilor pentru lucrul cu formularele bazei de date TradeTest este prezentat în Fig. 7,37. În încheierea conversației cu privire la sistemele de protecție, subliniem încă o dată faptul că implementarea sa efectivă este posibilă numai pe baza unui studiu detaliat al structurii funcționale a obiectului automatizat și a designului atent al sistemului de management al datelor.







Articole similare

Trimiteți-le prietenilor: