INFO
Sylabus
Standard ODMG, część 6
1. ODMG 2.0: Wiązanie do C++ - charakterystyka
2. Co to jest “niezgodność impedancji”?
3. Założenia projektowe wiązania do C++
4. Podstawowa architektura wiązania
5. Odwzorowanie elementów modelu ODMG na C++
6. C++ ODL
7. Jednokierunkowe związki
8. C++ OML
9. Związki
10. Klasy do obsługi kolekcji
11. C++ OQL
12. ODMG 2.0: przykład w C++
13. ODMG-93 C++: Schowek aplikacji
14 Związki ze środowiskiem OMG ORB
Skorowidz
Wyście:
Wyklad XII. Wprowadzenie do standardu ODMG, część 6:
Wiązanie do C++ (KURS SSR)
I II III IV V VI VII VIII IX X XI XII XIII XIV
« poprzedni punkt   następny punkt »

11. C++ OQL

Generalna zasada: zapytania w OQL sa traktowane jako stringi przez pewien zestaw funkcji C++.
K.S. Tego rodzaju załozenie musi implikować niezgodność impedancji. Optymalizacja zapytań jest niemożliwa podczas kompilacji; musi być przesunięta do fazy wykonania.
template <class T> void  d_oql_execute(d_OQL_Query &query,T &result);
(1kB)d_oql_execute to funkcja umożliwiająca wyko-
nanie zapytania komunikowanego jako string.

Ciąg znaków reprezentuający zapytanie w OQL może byc parametryzowany; parametry są poprzedzane znakiem $:

d_OQL_Query q1( 
    "select p.nazwisko from Pracownik as p 
     where p.zarobek > $1 and p.zawód = $2");
        ... 
q1 << 10000 << "referent"; 
d_oql_execute(q1, BogaciReferenci);
W nieco bardziej skomplikowanych sytuacjach sformułowanie
zapytania z parametrami staje się bardzo skomplikowane.



12. ODMG 2.0: przykład w C++

class Profesor : Pracownik { 
    d_Long pesel; 
    d_String nazwisko; 
    d_Short wiek; 
    d_Ref  pracuje_w; 
    d_Rel_Ref prowadzi; 
    .... 
    void wystawia_ocene(...); 
    void odwołuje_wykład(...); 
    } 
.... 
d_Ref  prof; 
.... 
prof -> nazwisko = "Nowak"; 
prof->wiek = 41; 
prof->wiek = prof->wiek + 1; 
prof->wystawia_ocene(...); 

d_Long, d_String, d_Ref,...
typy trwałe z bazy danych


d_Rel_Ref
zbiór wskaźników trwałych
(3kB)


« poprzedni punkt   następny punkt »