Dnes: 18. ledna 2018    | Registrace | Hledáme | Redakce | Info | Testy | Školení | Ocenění | Nápověda | Čtenář: nepřihlášen

Rychlé odkazy
  • Hlavní stránka
  • Seznam rubrik
  • Ankety
  • Editoriály
  • TOP 15
  • KONFERENCE 2008
  • KONFERENCE 2007
  • KONFERENCE 2006
  • KONFERENCE 2005
  • KONFERENCE 2004
  • Sborník
  • Testy
  • Virtuální školení
  • Personalizace


  • Hledáte práci?
    Hledáme redaktora - pojďte s námi tvořit Databázový svět!

    Vyhledávání

    Hledej
    na Databázovém světě!



    Rozšířené vyhledávání

    Rubriky
    Aktuality
    Bezpečnost
    Business
    Česká scéna
    Datové sklady
    Dokumentace
    Dotazovací jazyky
    Hardware
    Historie
    Komentáře
    Literatura
    Metodologie
    Nondb
    Open Source
    Poradna
    Produkty
    Případové studie
    Redakce
    Rozhovory
    Standardy
    Technologie
    Tipy - triky
    Tiskové zprávy
    Vývoj
    Vývojové nástroje
    Zajímavosti

    Co je to?
    Systémový katalog
    Struktury, ve kterých jsou uloženy informace o dané databázi, případně databázovém serveru. Někdy je možné se z anglického Data Dictionary setkat s pojmem datový slovník.

    Akce
    Dynamická Datová Centra
    - na semináři se seznámíte s komplexním řešením a koncepcí Dynamických Datových Center od Fujitsu Siemens Computers se speciálním důrazem na řešení FlexFrame.

    Textová inzerce
    IBPhoenix - Vše o InterBase a Firebirdu.

    Smějete se rádi? - Pak je pro vás Vtipník to pravé!

    Prodejce reklamy - Hledáme schopného prodejce reklamního prostoru, možnost i externí spolupráce.

    Přihlášený čtenář
    Nepřihlášený čtenář

    O portálu
    Databázový svět
    ISSN: 1213-5933

    Web je optimalizován pro rozlišení 1024x768, nicméně kromě větších rozlišení podporujeme i 800x600. Podrobnosti najdete zde.

    Chcete-li mít kdykoliv možnost zkontrolovat obsah našeho portálu, můžete využít podporu rss. Podrobnosti najdete zde.
    Indexy a triggery v db4o


    [Vývoj] - K důležitým – i když ne vždy nezbytným – vlastnostem databázových platforem patří podpora indexů a triggerů. Jinak tomu není ani u platformy db4o. Dnes si ukážeme, jak tyto obě techniky využívat v prostředí .NET.



    Základní informace o databázové platformě db4o a o možnostech přístupu k ní z prostředí .NET jsme již přinesli v článku db4o aneb objektové databáze v .NET.

    V db4o je vytvoření indexu nad určitou datovou složkou velice jednoduché. Děje se tak přes konfigurační API.:

    Db4o.configure().objectClass(typeof(Rostlina)).
      objectField("rodoveJmeno").indexed(true);
    

    V předchozím přikladu došlo k indexaci objektů třídy Rostlina podle datové položky rodoveJmeno. V db4o existuje pouze jeden typ indexace. Neexistují clusterované indexy, což může být problém při velmi velkém počtu objektů stejné třídy.

    Triggery
    Namísto triggerů existuje v db4o možnost využití callback funkcí. Jedná se o metodu objektu, se kterým se pracuje a která bude během zpracování zavolána. Možným negativem je narušení objektového modelu.

    class Rostlina
    {
      //
      // zde je původní kód třídy
      // 
    
      /// <summary>
      /// Callback funkce pro update
      /// </summary>
      /// <param name="con"></param>
      
      public void objectOnUpdate(ObjectContainer con)
      {
        Console.WriteLine("!!! Object byl updatovan: " + 
                          this.ToString());
      }
      
      /// <summary>
      /// Callback funkce pro insert
      /// </summary>
      /// <param name="con"></param>
    
      public void objectOnNew(ObjectContainer con)
      {
        Console.WriteLine("!!! Object byl vytvořen: " + 
                          this.ToString());
      }
      
      /// <summary>
      /// Callback funkce pro delete
      /// </summary>
      /// <param name="con"></param>
    
      public void objectOnDelete(ObjectContainer con)
      {
        Console.WriteLine("!!! Object byl smazán: " + 
                          this.ToString());
      }
    
      /// <summary>
      /// Callback funkce pro aktivaci
      /// </summary>
      /// <param name="con"></param>
    
      public void objectOnActivate(ObjectContainer con)
      {
        Console.WriteLine("!!! Object byl aktivován: " + 
                          this.ToString());
      }
    
      /// <summary>
      /// Callback funkce por deaktivaci
      /// </summary>
      /// <param name="con"></param>
    
      public void objectOnDeactivate(ObjectContainer con)
      {
        Console.WriteLine("!!! Object byl deaktivován: " + 
                          this.ToString());
      }
    }
    

    Příklad uvádí přidání callback funkcí do třídy Rostlina. Jejich funkci si můžete vyzkoušet při práci s databází podle příkladů v již zmiňovaném článku.

    Metoda objectOnActivate() bude zavolána ve chvíli, kdy bude "natahován" object z databáze.

    Metoda objectOnDeactivate() bude volána ve chvíli, kdy objekt přestane být aktivní, tedy při odstranění objektu z paměti – například za pomoci metody ObjectContainer.deaktivate().

    O vývojových prostředích pro databáze můžete diskutovat i v našem specializovaném fóru.

    ( Celý článek! | Autor: Stanislav Tvrz | Počet komentářů: 0 | Přidat komentář | Informační e-mailVytisknout článek )

    Vyhledávání
     

    Anketa
    Kolik ročně utratíte za dovolené?

    Nic 
     (1548 hl.)
    Do 1 000,- Kč 
     (1068 hl.)
    Do 10 000,- Kč 
     (999 hl.)
    Do 25 000,- Kč 
     (1378 hl.)
    Do 50 000,- Kč 
     (1016 hl.)
    Do 75 000,- Kč 
     (1178 hl.)
    Více než 75 000,- Kč 
     (1019 hl.)

    Celkem hlasovalo: 8206


    Poslední komentáře
    frontierd@126.com
    frontierd@126.com
    frontierd@126.com
    c
    http://www.coachoutl

    Newsletter
    Přihlaste si nezávazně - i bez registrace - odběr informačního newsletteru. Podrobné informace najdete zde.

    Emailová adresa:


    Kalendář
    <<  Leden  >>
    PoÚtStČtSoNe
    1234567
    891011121314
    15161718192021
    22232425262728
    293031    

    Redakci připojuje


    Nejčtenější

    Databáze je prázdná!


    Nejvíce komentářů

    Databáze je prázdná!


    Reklama






    Nenechte si ujít články na dalších webech




    Na této stránce použité názvy programových produktů, firem apod. mohou být ochrannými známkami
    nebo registrovanými ochrannými známkami příslušných vlastníků.

    Databázový svět | dfKlub - digitální fotografie | Vtipník - vtipy přímo k Vám | Reminder - přestaňte zapomínat | Databázový svět

    Copyright (c) 2004 AVRE Publishing, spol. s r.o. Všechna práva vyhrazena