{{zarovka|
 CREATE TYPE T_Student AS (

  Jm	CHAR(30),
  Adresa	CHAR(40),

  Zac_ studia DATE
 ) UNINSTANTIABLE NOT FINAL

 METHOD Poc_Prednasek()
  RETURNS INTEGER;

|příklad ADT}}
{{Zkazky|

* **Objektové rozšíření relačního modelu dat (2014, Pokorný)** - K této otázce jsem toho upřímně zase tak moc nevěděl. Jen jsem napsal, že lze definovat vlastní typy, třídy, metody, že existují pole a reference (REF) a že je to implementováno v SQL. Pak jsem s panem Pokorným vedl diskusi, kde se vyptával na různé věci, např. chtěl vědět, jestli může existovat třída sama o sobě (ne - musí být vždy uložená v tabulce), chtěl slyšel o ID v třídách, jak jsou uložené v tabulkách, kde se definují metody (ve třídách), apod. Nějak jsem to s jeho pomocí vyplodil a celkově byl myslím spokojený.

}}
[svět db technologií](Soubor:Svet.png)

bylo potřeba nějak zlepšit práci s BLOB/CLOB ⇒ rozšiřitelnost o nové datové typy

* Oracle - cartridges
* SQL Server - cartridge/ASSEMBLY

Ukotveno standardem SQL:1999:
***U**živatelské **D**atové **T**ypy (UDT)

* **A**bstraktní **D**atové **T**ypy (ADT) - "třídy"
    * možnost vytvářet vlastní strukturované datové typy zapouzdřující data a operace (např. porovnávací operace)
    * píšou se v SQL, C, C# ...
    * mohou mít dědění a polymorfismus
    * \[UN]INSTANTIABLE - povolení/zakazani vytvareni instanci
    * \[NOT]FINAL - povolení/zakazani dědění
    * ????může existovat třída sama o sobě? ne pouze v tabulce 
    * **U**živatelské **D**atové **F**unkce/**P**rocedury (UDF/UDP)
        * metody svázány s typem, fce ne

***Pojmenované řádkové typy

* řádka je identifikována pomocí omělého klíče (OID – Object IDentificator)

* Kolekce: ARRAY
    * LIST, BAG, SET, MULTISET (až v 2003)

**Reference - REF - umožňuje chápat data jako objekty

* operátory DEREF a -> 
* operátor IS DANGLING (odkazovaný objekt už neexistuje) 

další řešení: ORM - nevýhoda: 15-20% pomalejší

* př: (N)Hibernate, Entity Framework...

{{Zdroje|1=

* [Databázové aplikace - slidy](http://www.ms.mff.cuni.cz/%7Ekopecky/vyuka/dbapl/dbaslide.ppt)
* http://www.ksi.mff.cuni.cz/~pokorny/dj-new/DJ1-2-ORSRBD.pdf

}}
