INFO
Sylabus
Standard ODMG, część 2
1. Plan wykładu
2. Typy abstrakcyjne, typy konkretne, polimorfizm, wielo-dziedziczenie
3. Ekstensje, klucze
4. Obiekty
5. Kolekcje
6. Literale
7. Użycie deklaracji struktur
8. Deklaracje atrybutów
9.Związki
10. Operacje
11. Wyjątki
12. Metadane
13. Transakcje
Skorowidz
Wyście:
Wyklad VIII. Wprowadzenie do standardu ODMG, część 2:
Model obiektowy (KURS SSR)
I II III IV V VI VII VIII IX X XI XII XIII XIV
« poprzedni punkt   następny punkt »

12. Metadane

(1kB) ODMG precyzuje model przechowywania i przeszukiwania metadanych, tj. schematu bazy danych i informacji o wszystkich typach i ich powiązaniach. Jest to bardzo ważne, gdyż dostęp do metadanych jest nieodzowny dla większości aplikacji, zaś różnice w dostępie do metadanych są podstawową przyczyną braku przenaszalności aplikacji (patrz SQL-92).
ODL Schema Repository
Obiektowa meta-baza danych
Charakterystyki meta-bazy
Są to najczęściej klasy powiązane związkami asocjacyjnymi
(1kB) Hierarchia nazw dla meta-obiektów (opis obiektu może być identyfikowany przez inną nazwę niż nazwa obiektu lub interfejsu)
(1kB) Meta-obiekty (opisy wszystkich obiektów znajdujących się w repozytorium)
(1kB) Moduły
(1kB) Operacje
(1kB) Wyjątki
(1kB) Własności (atrybuty i związki)
(1kB) Typy (interfejsy, kolekcje, typy konstruowane)
(1kB) . . . .



13. Transakcje (transactions)

Programy używające trwałych obiektów są organizowane w transakcje posiadające własności ACID (atomicity, consistency, isolation, durability) i spełniające własność szeregowalności (serializability). Transakcje nie zajmują sie obiektami ulotnymi.
Model transakcji jest tradycyjny, pesymistyczny (oparty na zamkach, locks)

Transakcja jest obiektem o następującym interfejsie:  
interface Transaction { 
   exception        TransactionInProgress{}; 
   exception        TransactionNotInProgress{}; 
   void   begin()      raises (TransactionInProgress); 
   void   commit()     raises (TransactionNotInProgress); 
   void   abort()      raises (TransactionNotInProgress); 
   void   checkpoint() raises (TransactionNotInProgress); 
   void   join(); 
   void   leave(); 
   boolean  IsOpen(); 
}
Wprowadzenie modyfikacji do bazy danych bez zwalniania zamków
<------
<------
Połączenie z aktualnie wykonywanym wątkiem
Model rozproszonych transakcji jest taki sam jak model standardu OMG oraz ISO XA. Model transakcji w ODMG obejmuje także wątki (threads)


« poprzedni punkt   następny punkt »