Jak to vypadá v databázi...

Tabulka Proxy:

  • Sloupec OID představuje „primární klíč“ a pomocí něho je provedeno hierarchické propojení tabulek (dědičnost). Jednoznačně identifikuje objekt.
  • Vidíme, že sloupec STATE není vyplněn. Je to proto, že tento sloupec je vyplněn vždy pouze v té tabulce, která odpovídá typu objektu.
  • Sloupec CLASS obsahuje název třídy objektu. Pokud tedy máme k dispozici pouze objekt „Proxy“ a neznáme jeho skutečný typ, lze jej odsud zjistit. To je také primárním posláním této tabulky. Nic nám ovšem nebrání vytvořit objekt přímo typu „Proxy“. Jeho záznam by potom ležel pouze v této tabulce.


Tabulka Osoba:

  • Kromě sloupců OID a STATE zde vidíme sloupce, odpovídající vlastnostem definovaným ve třídě „Osoba“.
  • Ani zde není sloupec STATE vyplněn – žádný objekt nebyl vytvořen jako typ „Osoba“.
  • Vlastnost „Portret“ jsme v našem příkladu nepoužívali.
  • Vidíme, že sloupce „Otec“ a „Matka“, odkazují na příslušné objekty prostřednictvím jejich OID („cizí klíče“).


Tabulka Muz:

  • V této tabulce jsou uvedeny pouze ty objekty, které byly vytvořeny jako typ „Muž“.
  • Vidíme, že je zde vyplněn sloupec STATE. Tento sloupec obsahuje GUID, který je změněn na nový pokaždé, když je na objektu provedena metoda „Update“. Zde se při čtení objektu zjistí, jestli je v Cache aktuální záznam (hodnota STATE v Cache a v databázi se shoduje). Pokud je záznam v Cache aktuální, použije se (z databáze se načte pouze záznam z této tabulky – právě kvůli zjištění hodnoty STATE) . Pokud záznam v Cache aktuální není, načte se celá hierarchie propojených tabulek dle dědičnosti a Cache se aktualizuje.
  • V této tabulce jsou sloupce, odpovídající vlastnostem, kterými třída „Muz“ rozšiřuje třídu „Osoba“. Jsou to sloupce „Povolani“, „Vousy“ a „Plat“, které jsme v našem testu zatím nepoužili.

Tabulka Zena:

  • V této tabulce jsou uvedeny pouze ty objekty, které byly vytvořeny jako typ „Zena“.
  • Vidíme, že i zde je vyplněn sloupec STATE (viz. výše).
  • V této tabulce jsou sloupce, odpovídající vlastnostem, kterými třída „Zena“ rozšiřuje třídu „Osoba“. Jsou to sloupce „Rozena“ a „ObvodPasu“, které jsme v našem testu zatím nepoužili.

Tabulka Partnerstvi:

  • Tabulka „Partnerstvi“ je vazební a obsahuje pouze dva sloupce, odkazující na OID příslušných svázaných objektů.