Persistenta Relationala

Cuprins proiect Cum descarc?

CUPRINS 1
1 INTRODUCERE IN PERSISTENTA RELATIONALA 3
1.1 CE ESTE PERSISTENTA? 3
1.1.1 Baze de date relationale 3
1.1.2 Despre SQL 4
1.1.3 Persistenta in aplicatiile orientate obiect 4
1.2 MOTIVE SI SCOPURI 5
1.2.1 Reducerea efortului la dezvoltare 5
1.2.2 Producerea de cod optimizat 6
1.2.3 Persistenta independenta de container 6
1.3 PROBLEME DES INTALNITE 6
1.3.1 Probleme de granularitate 8
1.3.2 Probleme de subtipuri 9
1.3.3 Probleme de identitate 11
1.3.4 Probleme legate de asociere 12
1.3.5 Probleme legate de navigabilitatea in graf 14
1.3.6 Costul acestor probleme 15
1.4 MAPAREA OBIECTUAL RELATIONALA 16
1.4.1 Ce este ORM? 16
1.4.2 Nivele de calitate a ORM urilor 17
1.4.2.1 Pur relationale 17
1.4.2.2 Mapare obiectuala usoara 17
1.4.2.3 Mapare obiectuala medie 17
1.4.2.4 Mapare obiectuala completa 18
1.4.3 Probleme generice 18
1.4.4 De ce ORM? 19
1.4.4.1 Productivitate 20
1.4.4.2 Mentenanta 20
1.4.4.3 Performanta 20
1.4.4.4 Independenta de straturile inferioare 21
1.5 LUCRUL CU OBIECTE PERSISTENTE 21
1.5.1 Ciclul de viata al persistentei 22
1.5.1.1 Obiecte transiente 23
1.5.1.2 Obiecte persistente 23
1.5.1.3 Obiecte detasate 24
2 PERSISTENTA RELATIONALA APLICATA 26
2.1 MANAGERUL DE PERSISTENTA HIBERNATE 26
2.1.1 Un obiect facut persistent 26
2.1.2 Un obiect adus din persistenta 27
2.1.3 Un obiect persistent modificat 27
2.1.4 Un obiect persistent facut transient 28
2.1.5 Persistenta tranzitiva in Hibernate 28
2.1.6 Aducerea obiectelor cu Hibernate 30
2.2 ACTIVERECORD - MANAGERUL DE PERSISTENTA DIN RUBY ON RAILS 31
2.2.1 Mapare automata intre clase si tabele, intre atribute si coloane 32
2.2.2 Asocierea dintre obiecte prin meta instructiuni simple 32
2.2.3 Agregare intre obiectele valoare 33
2.2.4 Regulile de validare pot sa difere pentru obiecte noi sau existente 33
2.2.5 Inregistrarile pot sa functioneze ca liste sau arbori 34
2.2.6 Metode callback pentru intreaga durata de viata 35
2.2.7 Ierarhii de mostenire 35
2.2.8 Tranzactii 36
2.2.9 Manipulare directa (in loc de invocari de servicii) 36
2.3 HIBERNATE SAU ACTIVERECORD? 36
2.3.1 Diferente arhitecturale de baza 37
2.3.2 Valoarea claritatii 37
2.3.3 Asocieri 39
2.3.3.1 Persistenta tranzitiva 40
2.3.4 Limbaje de cerere 41
2.3.4.1 Cautarile instante in Rails 42
2.3.4.2 Cererea de obiecte cu HQL 42
2.3.5 Imbunatatirea performantelor 43
2.3.5.1 Aducerea tarzie 43
2.3.5.2 Legaturi externe si aducere explicita 44
2.3.5.3 Caching 45
2.3.6 Ce alegem? 45
3 APLICATIA PRACTICA 46
3.1 SPECIFICAREA APLICATIEI 46
3.2 DOCUMENTATIA DE PROIECTARE SI IMPLEMENTARE 46
3.2.1 Tehnologii folosite 50
3.2.2 Aplicarea persistentei relationale 50
3.3 DOCUMENTATIA DE UTILIZARE 51
4 ANEXE 53
4.1 ACRONIME 53
4.2 BIBLIOGRAFIE 54


Extras din proiect Cum descarc?

1 Introducere in persistenta relationala
1.1 Ce este persistenta?
Aproape toate aplicatiile au nevoie de date persistente. Persistenta este unul dintre conceptele fundamentale in dezvoltarea aplicatiilor. Daca un sistem de informatii n-ar pastra datele introduse de utilizatori atunci cand este oprit, sistemul n-ar prea avea utilitate practica.
Cand vorbim despre persistenta in general, vorbim despre pastrarea datelor intr-o baza de date relationala, folosind SQL. Vom incepe cu o privire de ansamblu asupra acestei tehnologii, si cum poate ea fi folosita in limbajele de programare orientate obiect. Avand aceste informatii, putem continua sa vedem cum este aceasta implementata in aplicatiile orientate obiect.
1.1.1 Baze de date relationale
Multi dintre noi am lucrat deja cu baze de date relationale. De fapt, cei mai multi folosim baze de date relationale in fiecare zi. Aceasta tehnologie este foarte cunoscuta. Ea insasi este un motiv suficient pentru multe organizatii ca s-o aleaga. Totusi aceasta inseamna mai mult: Bazele de date relationale nu sunt folosite la intamplare, ci pentru ca sunt incredibil de flexibile si robuste fata de controlul informatiei.
Nu exista un sistem de control al bazelor de date specific pentru un limbaj, si nici un sistem de baze de date relationale nu este specific vreunei aplicatii. Tehnologia relationala ofera un mod de a trimite informatie intre diferite aplicatii sau intre diferite tehnologii care sunt parte din aceeasi aplicatie (de exemplu, motorul de tranzactii si motorul de rapoarte). Tehnologia relationala este folosita pe multe sisteme si platforme diferite. De fapt, modelul de date relational este adesea reprezentarea la nivel de companie a entitatilor.
Sistemele de control ale bazelor de date au interfetele de program bazate pe SQL, si, 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 necesara intelegerea in prealabil a modelului relational. Aceasta intelegere este necesara pentru imbunatatirea calitativa a performantelor aplicatiilor. Sistemele de control automatizeaza parti (care se repeta) ale programelor, dar pentru a controla complet aceste sisteme, sunt necesare cunostintele despre bazele de date SQL. Pana la urma, scopul final este de a controla robust si eficient datele persistente.
Sa incepem cu niste termeni SQL pe care-i vom folosi mai tarziu. Vom folosi SQL ca limbaj de definitie a datelor (data definition language - DDL) pentru a crea structurile de baze de date cu instructiunile CREATE si ALTER. Dupa crearea tabelelor (si a indecsilor, query-urilor, etc), vom folosi SQL ca limbaj de manipulare a datelor (data manipulation language - DML). Cu DML, executam comenzi SQL care modifica sau recupereaza informatie. Manipularea datelor include inserare, modificare, stergere. Recuperarea datelor se va face executand cereri cu restrictii, proiectii, si operatii de legatura (incluzand produsul cartezian). Pentru rapoarte eficiente, vom folosi SQL pentru grupare, sortare, agregarea datelor in mai multe feluri. Instructiunile SQL se pot imbrica una in cealalta (aceasta tehnica se cheama sub-selectare). Chiar daca folosim des instructiunile SQL si suntem familiari cu operatiile de baza din acest limbaj, uneori este greu sa ne aducem aminte de ele, si uneori acestea variaza ca mod de utilizare. Cunostintele despre SQL sunt absolut necesare pentru dezvoltarea aplicatiilor folosind persistenta relationala.
1.1.3 Persistenta in aplicatiile orientate obiect
In aplicatiile orientate obiect, persistenta ajuta un obiect sa depaseasca durata de viata a procesului care l-a creat. Starea unui obiect poate fi stocata pe disc, si un obiect cu aceeasi stare poate fi re-creat mai tarziu.
Aceasta aplicatie nu este limitata la obiecte singulare - modele intregi de obiecte interconectate pot fi facute persistente, si apoi re-create intr-un nou proces. Cele mai multe obiecte nu sunt persistente. Un obiect transient are o durata de viata limitata, marginita de viata procesului care l-a instantiat. Aproape toate aplicatiile contin un amestec de obiecte persistente si transiente. Noi avem nevoie de un subsistem care sa controleze datele persistente.
Bazele de date relationale moderne ofera o reprezentare structurata a informatiei persistente, lasand posibilitate de sortare, cautare si agregare de date. Sistemele de control ale bazelor de date sunt responsabile pentru verificarea concurentei si integritatea datelor. Sunt responsabile pentru partajarea datelor intre mai multi utilizatori si mai multe aplicatii. Un sistem de control al bazelor de date este deasemenea prevazut cu securitate la nivel de date. Persistenta se refera la:
o Stocare, organizare, recuperare de date structurate
o Concurenta si integritate a informatiei
o Partajarea informatiei


Fisiere in arhiva (3):

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

Imagini din acest proiect Cum descarc?

Banii inapoi garantat!

Plateste in siguranta cu cardul bancar si beneficiezi de garantia 200% din partea Proiecte.ro.


Descarca aceast proiect cu doar 6 €

Simplu si rapid in doar 2 pasi: completezi adresa de email si platesti.

1. Numele, Prenumele si adresa de email:

Pe adresa de email specificata vei primi link-ul de descarcare, nr. comenzii si factura (la plata cu cardul). Daca nu gasesti email-ul, verifica si directoarele spam, junk sau toate mesajele.

2. Alege modalitatea de plata preferata:



* La pretul afisat se adauga 19% TVA.


Hopa sus!