Operații concurente asupra bazelor de date

Proiect
8/10 (1 vot)
Conține 3 fișiere: doc
Pagini : 68 în total
Cuvinte : 22248
Mărime: 788.25KB (arhivat)
Puncte necesare: 8

Cuprins

  1. INTRODUCERE 4
  2. TRANZACŢII ASUPRA BAZELOR DE DATE 5
  3. 1. CONCEPTE DE BAZĂ 5
  4. ITEM-URI 5
  5. BLOCAJE 6
  6. AŞTEPTAREA LA NESFÂRŞIT ŞI BLOCAREA DEFINITIVĂ 7
  7. SERIALIZABILITATEA 9
  8. PROTOCOALE ŞI ORARE 11
  9. 2. UN MODEL SIMPLU DE TRANZACŢII 11
  10. TEST DE SERIALIZABILITATE 13
  11. UN PROTOCOL CARE GARANTEAZĂ SERIALIZABILITATEA 16
  12. 3. UN MODEL CU BLOCAJE LA CITIRE ŞI SCRIERE 17
  13. TEST DE SERIALIZABILITATE 18
  14. PROTOCOLUL ÎN DOUĂ FAZE 21
  15. 4. UN MODEL „DOAR-CITIRE, DOAR-SCRIERE” 21
  16. ECHIVALENŢA ORARELOR 21
  17. TEST PENTRU DEPISTAREA TRANZACŢIILOR INUTILE 22
  18. UN MODEL FORMAL 23
  19. TEST DE SERIALIZABILITATE 23
  20. PROTOCOLUL ÎN DOUĂ FAZE, DIN NOU 27
  21. 5. CONCURENŢA PENTRU STRUCTURILE IERARHICE DE ITEM-URI 28
  22. UN PROTOCOL SIMPLU PENTRU ARBORII DE ITEM-URI 28
  23. UN PROTOCOL CARE PERMITE BLOCAREA PE SUBARBORI 31
  24. 6. PROTECŢIA ÎMPOTRIVA DISTRUGERILOR 33
  25. COPIILE DE SIGURANŢĂ 34
  26. JURNALUL 34
  27. TRANZACŢII COMISE 35
  28. EŞUAREA TRANZACŢIILOR INDIVIDUALE 36
  29. TRANZACŢII CARE NU SE SUPUN POLITICII DE COMITERE ÎN DOUĂ FAZE 36
  30. PARTAJAREA DATELOR ÎN REŢEA CU AJUTORUL PROGRAMULUI VISUAL FOXPRO 39
  31. TIPURI DE BLOCAJE 39
  32. BLOCAREA ÎNREGISTRĂRILOR SAU A FIŞIERELOR ? 39
  33. BLOCĂRI AUTOMATE SAU MANUALE ? 40
  34. CUM PROCEDĂM ATUNCI CÂND ÎNREGISTRAREA DE CARE AVEM NEVOIE ESTE BLOCATĂ 43
  35. UTILIZAREA SESIUNILOR 43
  36. UTILIZAREA ZONELOR TAMPON PENTRU EDITARE 44
  37. ZONELE TAMPON DE ÎNREGISTRĂRI 46
  38. ZONE TAMPON DE TABELE 46
  39. BLOCAREA ÎN ZONELE TAMPON 46
  40. EFECTUAREA ACTUALIZĂRILOR 48
  41. DETECTAREA ŞI REZOLVAREA CONFLICTELOR 49
  42. UTILIZAREA PROCESĂRII TRANZACŢIILOR 52
  43. DEFINIREA LIMITELOR UNEI TRANZACŢII 53
  44. DERULAREA ÎNAPOI A UNEI TRANZACŢII 53
  45. IMBRICAREA TRANZACŢIILOR 55
  46. ALTE SOLUŢII PENTRU REDUCEREA NUMĂRULUI DE BLOCAJE 57
  47. UTILIZAREA SEMAFORIZĂRII BLOCAJELOR 57
  48. LUCRUL CU VARIABILE DE MEMORIE 57
  49. STOCAREA DATELOR DE CĂUTARE ÎN MASIVE 57
  50. CREAREA FIŞIERELOR TEMPORARE 58
  51. ALEGERE ÎNTRE SORTARE ŞI INDEXARE 58
  52. DESCHIDEREA FIŞIERELOR PENTRU UTILIZARE EXCLUSIVĂ 58
  53. UTILIZAREA COMENZII EXCLUSIVE 59
  54. PREZENTAREA APLICAŢIEI 60
  55. CONCLUZII 68
  56. BIBLIOGRAFIE 69

Extras din proiect

INTRODUCERE

Până nu demult, conceptul nostru despre bazele de date a fost unul în care programele care accesează o bază de date sunt rulate unul după altul. De multe ori aceasta este situaţia în care ne aflăm. Astăzi există de asemenea numeroase aplicaţii în care mai mult de un program, sau diferite execuţii ale aceluiaşi program rulează simultan accesând aceeaşi bază de date. Un astfel de exemplu este un sistem de rezervare a locurilor la o companie aeriană, unde mai mulţi agenţi pot vinde bilete sau face rezervări de locuri. Problema care intervine este aceea că dacă nu suntem atenţi cum permitem la mai mult de două programe să acceseze baza de date, putem vinde acelaşi loc de două ori. Intuitiv, două procese care citesc şi schimbă valoarea aceluiaşi obiect nu trebuie rulate concurent .

Un al doilea exemplu este acela al unei baze de date statice, unde mai mulţi utilizatori pot face interogări în acelaşi timp. Aici, atât timp cât nimeni nu schimbă datele, nu este important în ce ordine procesele citesc datele, putem lăsa sistemul de operare să programeze simultan cererile de citire cum doreşte. În acest gen de situaţii, unde se face numai citire, dorim să permitem un număr maxim de operaţii concurente, ca să economisim timp. În cazul sistemului de rezervări, unde citirea şi scrierea sunt amândouă în progres, avem nevoie de restricţii pentru cazurile în care permitem ca două programe să ruleze concurent.

În această lucrare vom considera modele de procese concurente care sunt legate de operaţiile pe bazele de date. Modelele se disting în primul rând prin detaliile care descriu accesul la elementele din baza de date. Pentru fiecare model vom descrie o cale rezonabilă de a permite acele operaţii concurente care păstrează integritatea bazelor de date şi să prevenim acele operaţii care pot distruge integritatea unei baze de date, atât cât un model cu detalii limitate ne poate spune despre integritate. Şi ca o regulă, cu cât modelul este mai detaliat cu atât mai mult putem permite concurenţa în siguranţă.

De asemenea în această lucrare vom discuta şi despre felul în care sunt abordate operaţiile concurente pe baze de date în limbajul de programare Visual FoxPro. Partea practică a acestei lucrări o reprezintă aplicaţia “Administraţia unui cămin studenţesc”, care reprezintă un sistem informatic pentru un cămin studenţesc. Această aplicaţie simulează serviciile de cazare şi plată a taxei de cămin care se realizează într-un cămin studenţesc.

TRANZACŢII ASUPRA BAZELOR DE DATE

1. CONCEPTE DE BAZĂ

O tranzacţie este o singură execuţie a unui program. Acest program poate fi o simplă interogare sau un program complex cu apeluri din unul din limbajele QUEL, SEQUEL, etc… Mai multe execuţii independente ale aceluiaşi program pot fi în progres simultan; fiecare dintre aceste execuţii este o tranzacţie.

ITEM-URI

Ne imaginăm că baza de date este împărţită în item-uri (articole) care sunt porţiuni din baza de date care pot fi blocate. Prin blocarea unui item o tranzacţie poate preveni alte tranzacţii să mai acceseze acel item, până când tranzacţia care deţine blocajul nu deblochează itemul respectiv. O parte a DBMS (DataBase Maneger System) numită managerul de blocaje asigneză şi înregistrează blocajele, ca de altfel şi arbitrarea între două sau mai multe cereri de a bloca acelaşi item.

Natura şi mărimea item-urilor sunt subiectele unor teme ce urmează în continuare. De exemplu, în modelul relaţional de date, putem alege item-uri mari, cum sunt relaţiile, sau item-uri mici ca tuple individuale sau componente din tuple. Putem alege o mărime intemediară pentru item-uri, de exemplu item-urile pot fi colecţii de 100 de tuple din aceeaşi relaţie. În modelul de reţea, de exemplu, un item poate fi o colecţie a tuturor înregistrărilor unui singur tip.

Alegând item-uri mari sistemul poate pica în timpul menţinerii blocărilor, în timp ce alegând item-uri mici putem permite mai multor tranzacţii să opereze în paralel. Dacă o tranzacţie tipică (într-un sistem relaţional) citeşte sau modifică un tuplu, care se găseşte cu ajutorul unui index, ar fi mai convenabil de tratat tuplele ca item-uri. Dacă o tranzacţie tipică face o operaţie de join pe două sau mai multe relaţii, atunci poate ar fi mai bine să tratăm relaţiile ca item-uri.

În ceea ce urmează, vom presupune că atunci când o parte a unui item este modificată, întreg item-ul este modificat şi primeşte o valoare unică şi neegală cu nici o altă valoare care poate fi obţinută prin orice altă modificare. Facem această presupunere nu numai pentru a simplifica modelarea tranzacţiilor. În practică, necesită multă muncă din partea sistemului pentru a deduce fapte ca acela că rezultatul unei modificări a unui item dă acelui item aceeaşi valoare pe care o avea după câteva modificări precedente. Mai mult dacă sistemul poate să-şi amintească, când o parte a unui item a rămas neschimbată după ce item-ul a fost modificat, acesta poate de asemenea să împartă item-ul în mai multe item-uri mai mici. O consecinţă a presupunerii noastre despre indivizibilitatea item-urilor este că nu vom greşi dacă vom considera item-urile ca simple variabile, aşa cum sunt folosite în limbajele de programare obişnuite.

Preview document

Operații concurente asupra bazelor de date - Pagina 1
Operații concurente asupra bazelor de date - Pagina 2
Operații concurente asupra bazelor de date - Pagina 3
Operații concurente asupra bazelor de date - Pagina 4
Operații concurente asupra bazelor de date - Pagina 5
Operații concurente asupra bazelor de date - Pagina 6
Operații concurente asupra bazelor de date - Pagina 7
Operații concurente asupra bazelor de date - Pagina 8
Operații concurente asupra bazelor de date - Pagina 9
Operații concurente asupra bazelor de date - Pagina 10
Operații concurente asupra bazelor de date - Pagina 11
Operații concurente asupra bazelor de date - Pagina 12
Operații concurente asupra bazelor de date - Pagina 13
Operații concurente asupra bazelor de date - Pagina 14
Operații concurente asupra bazelor de date - Pagina 15
Operații concurente asupra bazelor de date - Pagina 16
Operații concurente asupra bazelor de date - Pagina 17
Operații concurente asupra bazelor de date - Pagina 18
Operații concurente asupra bazelor de date - Pagina 19
Operații concurente asupra bazelor de date - Pagina 20
Operații concurente asupra bazelor de date - Pagina 21
Operații concurente asupra bazelor de date - Pagina 22
Operații concurente asupra bazelor de date - Pagina 23
Operații concurente asupra bazelor de date - Pagina 24
Operații concurente asupra bazelor de date - Pagina 25
Operații concurente asupra bazelor de date - Pagina 26
Operații concurente asupra bazelor de date - Pagina 27
Operații concurente asupra bazelor de date - Pagina 28
Operații concurente asupra bazelor de date - Pagina 29
Operații concurente asupra bazelor de date - Pagina 30
Operații concurente asupra bazelor de date - Pagina 31
Operații concurente asupra bazelor de date - Pagina 32
Operații concurente asupra bazelor de date - Pagina 33
Operații concurente asupra bazelor de date - Pagina 34
Operații concurente asupra bazelor de date - Pagina 35
Operații concurente asupra bazelor de date - Pagina 36
Operații concurente asupra bazelor de date - Pagina 37
Operații concurente asupra bazelor de date - Pagina 38
Operații concurente asupra bazelor de date - Pagina 39
Operații concurente asupra bazelor de date - Pagina 40
Operații concurente asupra bazelor de date - Pagina 41
Operații concurente asupra bazelor de date - Pagina 42
Operații concurente asupra bazelor de date - Pagina 43
Operații concurente asupra bazelor de date - Pagina 44
Operații concurente asupra bazelor de date - Pagina 45
Operații concurente asupra bazelor de date - Pagina 46
Operații concurente asupra bazelor de date - Pagina 47
Operații concurente asupra bazelor de date - Pagina 48
Operații concurente asupra bazelor de date - Pagina 49
Operații concurente asupra bazelor de date - Pagina 50
Operații concurente asupra bazelor de date - Pagina 51
Operații concurente asupra bazelor de date - Pagina 52
Operații concurente asupra bazelor de date - Pagina 53
Operații concurente asupra bazelor de date - Pagina 54
Operații concurente asupra bazelor de date - Pagina 55
Operații concurente asupra bazelor de date - Pagina 56
Operații concurente asupra bazelor de date - Pagina 57
Operații concurente asupra bazelor de date - Pagina 58
Operații concurente asupra bazelor de date - Pagina 59
Operații concurente asupra bazelor de date - Pagina 60
Operații concurente asupra bazelor de date - Pagina 61
Operații concurente asupra bazelor de date - Pagina 62
Operații concurente asupra bazelor de date - Pagina 63
Operații concurente asupra bazelor de date - Pagina 64
Operații concurente asupra bazelor de date - Pagina 65
Operații concurente asupra bazelor de date - Pagina 66
Operații concurente asupra bazelor de date - Pagina 67
Operații concurente asupra bazelor de date - Pagina 68

Conținut arhivă zip

  • Bibliografie.doc
  • Cuprins.doc
  • Operatii Concurente Asupra Bazelor de Date.doc

Alții au mai descărcat și

Grilă sisteme informaționale de gestiune - Access

Adăugarea de câmpuri la o tabelă se face în modul de vizualizare:...... Previzualizare inaintea imprimarii Aplicarea unei restrictii de...

Hackeri

Hackerii sunt pasionati ai informaticii, care, de obicei au ca scop „spargerea” anumitor coduri, baze de date, pagini web etc. Ei sunt considerati...

Baze de Date

3.Introducere in bd si sgbd-uri Definitie: Numim baza de date o colectie partajata de date aflata in interdependenta logica impreuna cu o...

Te-ar putea interesa și

Managementul Serviciilor de Cazare și Alimentație Publică La Hotel Concordia

CAPITOLUL 1 SERVICIILE ŞI MANAGEMENTUL ACESTORA 1.1. Conţinutul şi sfera de cuprindere a serviciilor Evoluţia economiei moderne înscrie între...

Baze de Date Distribuite

Capitolul I Noţiuni introductive I.1. Baze de date distribuite O bază de date distribuită (BDD) se poate defini ca o colecţie de mai multe baze...

Proiectarea și Realizarea unui Parc Auto Virtual

Generalitatii Mai mult de 600 de milioane de oameni navigheaza pe internet. Cu ajutorul unui site web te poti adresa acestor persoane, iti poti...

Securitate bazelor de date - Oracle

1. Prezentarea sistemului In cadrul unei organizatii, bazele de date reprezinta una din componentele cele mai importante a oricarui sistem...

SGBD-ul și Bazele de Date ORACLE

Cap1. SISTEME DE GESTIUNE A BAZELOR DE DATE - SGBD 1.1. Conceptul de SGBD. Pentru a înţelege noţiunea de SGBD (Sistem de Gestiune a Bazelor de...

Teste admitere masterat contabilitate

1. Pe baza indicatorilor: Nr.crt. Indicatori Prevazut Realizat 1. Numarul mediu de personal 240 250 2. Productia marfa fabricata (mii lei)...

Sisteme de gestiune a bazelor de date

I. Conceptul de SGBD. a) Definirea unui SGBD SGBD este un ansamblu complex de programe care asigură interfaţa între o bază de date şi...

Utilizarea Bazelor de Date în Marketing la SC Cartea Ta SRL

INTRODUCERE La început calculatoarele au fost utilizate numai pentru calcule aritmetice. Prin creşterea vitezei de calcul, prin creşterea...

Ai nevoie de altceva?