Persistența Relațională

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

Cuprins

  1. CUPRINS 1
  2. 1 INTRODUCERE ÎN PERSISTENŢA RELAŢIONALĂ 3
  3. 1.1 CE ESTE PERSISTENŢA? 3
  4. 1.1.1 Baze de date relaţionale 3
  5. 1.1.2 Despre SQL 4
  6. 1.1.3 Persistenţa în aplicaţiile orientate obiect 4
  7. 1.2 MOTIVE ŞI SCOPURI 5
  8. 1.2.1 Reducerea efortului la dezvoltare 5
  9. 1.2.2 Producerea de cod optimizat 6
  10. 1.2.3 Persistenţă independentă de container 6
  11. 1.3 PROBLEME DES ÎNTÂLNITE 6
  12. 1.3.1 Probleme de granularitate 8
  13. 1.3.2 Probleme de subtipuri 9
  14. 1.3.3 Probleme de identitate 11
  15. 1.3.4 Probleme legate de asociere 12
  16. 1.3.5 Probleme legate de navigabilitatea în graf 14
  17. 1.3.6 Costul acestor probleme 15
  18. 1.4 MAPAREA OBIECTUAL RELAŢIONALĂ 16
  19. 1.4.1 Ce este ORM? 16
  20. 1.4.2 Nivele de calitate a ORM urilor 17
  21. 1.4.2.1 Pur relaţionale 17
  22. 1.4.2.2 Mapare obiectuală uşoară 17
  23. 1.4.2.3 Mapare obiectuală medie 17
  24. 1.4.2.4 Mapare obiectuală completă 18
  25. 1.4.3 Probleme generice 18
  26. 1.4.4 De ce ORM? 19
  27. 1.4.4.1 Productivitate 20
  28. 1.4.4.2 Mentenanţă 20
  29. 1.4.4.3 Performanţă 20
  30. 1.4.4.4 Independenţa de straturile inferioare 21
  31. 1.5 LUCRUL CU OBIECTE PERSISTENTE 21
  32. 1.5.1 Ciclul de viaţă al persistenţei 22
  33. 1.5.1.1 Obiecte transiente 23
  34. 1.5.1.2 Obiecte persistente 23
  35. 1.5.1.3 Obiecte detaşate 24
  36. 2 PERSISTENŢA RELAŢIONALĂ APLICATĂ 26
  37. 2.1 MANAGERUL DE PERSISTENŢĂ HIBERNATE 26
  38. 2.1.1 Un obiect făcut persistent 26
  39. 2.1.2 Un obiect adus din persistenţă 27
  40. 2.1.3 Un obiect persistent modificat 27
  41. 2.1.4 Un obiect persistent făcut transient 28
  42. 2.1.5 Persistenţa tranzitivă în Hibernate 28
  43. 2.1.6 Aducerea obiectelor cu Hibernate 30
  44. 2.2 ACTIVERECORD – MANAGERUL DE PERSISTENŢĂ DIN RUBY ON RAILS 31
  45. 2.2.1 Mapare automată între clase şi tabele, între atribute şi coloane 32
  46. 2.2.2 Asocierea dintre obiecte prin meta instrucţiuni simple 32
  47. 2.2.3 Agregare între obiectele valoare 33
  48. 2.2.4 Regulile de validare pot să difere pentru obiecte noi sau existente 33
  49. 2.2.5 Înregistrările pot să funcţioneze ca liste sau arbori 34
  50. 2.2.6 Metode callback pentru întreaga durată de viaţă 35
  51. 2.2.7 Ierarhii de moştenire 35
  52. 2.2.8 Tranzacţii 36
  53. 2.2.9 Manipulare directă (în loc de invocări de servicii) 36
  54. 2.3 HIBERNATE SAU ACTIVERECORD? 36
  55. 2.3.1 Diferenţe arhitecturale de bază 37
  56. 2.3.2 Valoarea clarităţii 37
  57. 2.3.3 Asocieri 39
  58. 2.3.3.1 Persistenţa tranzitivă 40
  59. 2.3.4 Limbaje de cerere 41
  60. 2.3.4.1 Căutările instante în Rails 42
  61. 2.3.4.2 Cererea de obiecte cu HQL 42
  62. 2.3.5 Îmbunătăţirea performanţelor 43
  63. 2.3.5.1 Aducerea târzie 43
  64. 2.3.5.2 Legături externe şi aducere explicită 44
  65. 2.3.5.3 Caching 45
  66. 2.3.6 Ce alegem? 45
  67. 3 APLICAŢIA PRACTICĂ 46
  68. 3.1 SPECIFICAREA APLICAŢIEI 46
  69. 3.2 DOCUMENTAŢIA DE PROIECTARE ŞI IMPLEMENTARE 46
  70. 3.2.1 Tehnologii folosite 50
  71. 3.2.2 Aplicarea persistenţei relaţionale 50
  72. 3.3 DOCUMENTAŢIA DE UTILIZARE 51
  73. 4 ANEXE 53
  74. 4.1 ACRONIME 53
  75. 4.2 BIBLIOGRAFIE 54

Extras din proiect

1 Introducere în persistenţa relaţională

1.1 Ce este persistenţa?

Aproape toate aplicaţiile au nevoie de date persistente. Persistenţa este unul dintre conceptele fundamentale în dezvoltarea aplicaţiilor. Dacă un sistem de informaţii n-ar păstra datele introduse de utilizatori atunci când este oprit, sistemul n-ar prea avea utilitate practică.

Când vorbim despre persistenţă în general, vorbim despre păstrarea datelor într-o bază de date relaţională, folosind SQL. Vom începe cu o privire de ansamblu asupra acestei tehnologii, şi cum poate ea fi folosită în limbajele de programare orientate obiect. Având aceste informaţii, putem continua să vedem cum este aceasta implementată în aplicaţiile orientate obiect.

1.1.1 Baze de date relaţionale

Mulţi dintre noi am lucrat deja cu baze de date relaţionale. De fapt, cei mai mulţi folosim baze de date relaţionale în fiecare zi. Această tehnologie este foarte cunoscută. Ea însăşi este un motiv suficient pentru multe organizaţii ca s-o aleagă. Totuşi aceasta înseamnă mai mult: Bazele de date relaţionale nu sunt folosite la întâmplare, ci pentru că sunt incredibil de flexibile şi robuste faţă de controlul informaţiei.

Nu există un sistem de control al bazelor de date specific pentru un limbaj, şi nici un sistem de baze de date relaţionale nu este specific vreunei aplicaţii. Tehnologia relaţională oferă un mod de a trimite informaţie între diferite aplicaţii sau între diferite tehnologii care sunt parte din aceeasi aplicaţie (de exemplu, motorul de tranzacţii şi motorul de rapoarte). Tehnologia relaţională este folosită pe multe sisteme şi platforme diferite. De fapt, modelul de date relaţional este adesea reprezentarea la nivel de companie a entităţilor.

Sistemele de control ale bazelor de date au interfeţele de program bazate pe SQL, şi, de cele mai multe ori, vorbim despre sisteme de baze de date SQL, sau, mai simplu, baze de date SQL.

1.1.2 Despre SQL

Pentru a folosi sisteme de control ale bazelor de date, este necesară înţelegerea în prealabil a modelului relaţional. Această înţelegere este necesară pentru îmbunătăţirea calitativă a performanţelor aplicaţiilor. Sistemele de control automatizează părţi (care se repetă) ale programelor, dar pentru a controla complet aceste sisteme, sunt necesare cunoştinţele despre bazele de date SQL. Până la urmă, scopul final este de a controla robust şi eficient datele persistente.

Să începem cu nişte termeni SQL pe care-i vom folosi mai târziu. Vom folosi SQL ca limbaj de definiţie a datelor (data definition language – DDL) pentru a crea structurile de baze de date cu instrucţiunile CREATE şi ALTER. După crearea tabelelor (şi a indecşilor, query-urilor, etc), vom folosi SQL ca limbaj de manipulare a datelor (data manipulation language – DML). Cu DML, executăm comenzi SQL care modifică sau recuperează informaţie. Manipularea datelor include inserare, modificare, ştergere. Recuperarea datelor se va face executând cereri cu restricţii, proiecţii, şi operaţii de legătură (incluzând produsul cartezian). Pentru rapoarte eficiente, vom folosi SQL pentru grupare, sortare, agregarea datelor în mai multe feluri. Instrucţiunile SQL se pot imbrica una în cealaltă (această tehnică se cheamă sub-selectare). Chiar dacă folosim des instrucţiunile SQL şi suntem familiari cu operaţiile de bază din acest limbaj, uneori este greu să ne aducem aminte de ele, şi uneori acestea variază ca mod de utilizare. Cunoştinţele despre SQL sunt absolut necesare pentru dezvoltarea aplicaţiilor folosind persistenţa relaţională.

1.1.3 Persistenţa în aplicaţiile orientate obiect

În aplicaţiile orientate obiect, persistenţa ajută un obiect să depăşească durata de viaţă a procesului care l-a creat. Starea unui obiect poate fi stocată pe disc, şi un obiect cu aceeaşi stare poate fi re-creat mai târziu.

Această aplicaţie nu este limitată la obiecte singulare – modele întregi de obiecte interconectate pot fi făcute persistente, şi apoi re-create într-un nou proces. Cele mai multe obiecte nu sunt persistente. Un obiect transient are o durată de viaţă limitată, mărginită de viaţa procesului care l-a instanţiat. Aproape toate aplicaţiile conţin un amestec de obiecte persistente şi transiente. Noi avem nevoie de un subsistem care să controleze datele persistente.

Bazele de date relaţionale moderne oferă o reprezentare structurată a informaţiei persistente, lăsând posibilitate de sortare, căutare şi agregare de date. Sistemele de control ale bazelor de date sunt responsabile pentru verificarea concurenţei şi integritatea datelor. Sunt responsabile pentru partajarea datelor între mai mulţi utilizatori şi mai multe aplicaţii. Un sistem de control al bazelor de date este deasemenea prevăzut cu securitate la nivel de date. Persistenţa se referă la:

• Stocare, organizare, recuperare de date structurate

• Concurenţă şi integritate a informaţiei

• Partajarea informaţiei

Preview document

Persistența Relațională - Pagina 1
Persistența Relațională - Pagina 2
Persistența Relațională - Pagina 3
Persistența Relațională - Pagina 4
Persistența Relațională - Pagina 5
Persistența Relațională - Pagina 6
Persistența Relațională - Pagina 7
Persistența Relațională - Pagina 8
Persistența Relațională - Pagina 9
Persistența Relațională - Pagina 10
Persistența Relațională - Pagina 11
Persistența Relațională - Pagina 12
Persistența Relațională - Pagina 13
Persistența Relațională - Pagina 14
Persistența Relațională - Pagina 15
Persistența Relațională - Pagina 16
Persistența Relațională - Pagina 17
Persistența Relațională - Pagina 18
Persistența Relațională - Pagina 19
Persistența Relațională - Pagina 20
Persistența Relațională - Pagina 21
Persistența Relațională - Pagina 22
Persistența Relațională - Pagina 23
Persistența Relațională - Pagina 24
Persistența Relațională - Pagina 25
Persistența Relațională - Pagina 26
Persistența Relațională - Pagina 27
Persistența Relațională - Pagina 28
Persistența Relațională - Pagina 29
Persistența Relațională - Pagina 30
Persistența Relațională - Pagina 31
Persistența Relațională - Pagina 32
Persistența Relațională - Pagina 33
Persistența Relațională - Pagina 34
Persistența Relațională - Pagina 35
Persistența Relațională - Pagina 36
Persistența Relațională - Pagina 37
Persistența Relațională - Pagina 38
Persistența Relațională - Pagina 39
Persistența Relațională - Pagina 40
Persistența Relațională - Pagina 41
Persistența Relațională - Pagina 42
Persistența Relațională - Pagina 43
Persistența Relațională - Pagina 44
Persistența Relațională - Pagina 45
Persistența Relațională - Pagina 46
Persistența Relațională - Pagina 47
Persistența Relațională - Pagina 48
Persistența Relațională - Pagina 49
Persistența Relațională - Pagina 50
Persistența Relațională - Pagina 51
Persistența Relațională - Pagina 52
Persistența Relațională - Pagina 53
Persistența Relațională - Pagina 54
Persistența Relațională - Pagina 55

Conținut arhivă zip

  • Bibliografie.doc
  • Cuprins.doc
  • Persistenta Relationala.doc

Te-ar putea interesa și

Modelarea aplicațiilor financiar contabile

SISTEME INFORMAŢIONALE FINANCIAR-CONTABILE Modelarea aplicaţiilor financiar-contabile utilizând tehnici moderne de programare 1.1. Structura...

Soluții de organizare a datelor în depozite de date

INTRODUCERE În cadrul evoluţiei actuale a economiei şi a societăţii importanţa sistemelor de baze de date (database system) creşte continuu. Mult...

Utilizarea XML în Baze de Date

Utilizarea XML in baze de date INTRODUCERE Formatul de date XML devine formatul comun acceptat în industrie pentru schimbul de informaţii dintre...

Interfețe Directe și Indirecte Versus Componente Soft

1. Introduction 1.1. Subject …. Direct and indirect interfaces versus software components 1.2. Short description My paper is compounded of five...

Medii de Programare

MODULUL 1. INTRODUCERE IN STUDIUL LIMBAJELOR DE PROGRAMARE 1.1 Notiuni generale privind limbajele de programare 1.2 Clasificarea limbajelor de...

Catalog Virtual

I. JUSTIFICAREA TEMEI Odată cu extinderea atribuţiilor ce revin diriginţilor în ce priveşte urmărirea evoluţiei elevilor din clasa pe care o...

Analiza și proiectarea obiectuală

CAPITOLUL1 METODOLOGII MODERNE DE REALIZARE A SISTEMELOR INFORMATICE 1.1. Concepte de bază ale paradigmei obiectuale Aplicată mai întâi în...

Baze de Date

CAP1. ELEMENTE DE TEORIA BAZELOR DE DATE 1.1. Baza de date(BD) 1.2. Sistemul de gestiune a bazelor de date (SGBD) 1.3. Administrarea BD 1.1....

Ai nevoie de altceva?