Dnes: 26. června 2017    | 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?
    SŘBD
    (Systém řízení báze dat)

    Programový systém umožňující vytváření, údržbu a použití báze dat. Podle komplexnosti je možné SŘBD rozdělit na nižší (např. PC Fand), střední (FoxPro) a vyspělé (Oracle 9i).

    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.
    Dědičnost v relačních databázích


    [Technologie] - V souvislosti s příchodem Linqu a jeho spojení s SQL se objevilo na internetu mnoho článků popisujících tuto technologii – nepochybně je .NET Framework populární a má co nabídnout. Jednou ze skvělých vlastností LINQ to SQL je možnost pracovat s dědičností. Nicméně právě u často zmiňované dědičnosti není vždy zcela jasné, jak v relačních databázích funguje.



    Jak dobře známo, že s pomocí entit a relací přímo dědičnost nevytvoříte – je třeba si pomoci "obezličkou". Principem je různé mapování na jednu nebo více tabulek, a to v celku nebo po částech, případně jejich částečné kombinace.

    Základní možností jak problém dědičnosti vyřešit je tzv. Table per Concrete Type (TPC). Funguje podobně jako, kdyby programovací jazyk měl objektové principy chudší. Pro každý typ v hierarchii je vytvořena samostatná tabulka. Jako příklad předpokládejme dva objekty: zaměstnanec a ředitel, kdy ředitel je potomkem zaměstnance. Tabulka zaměstnanec bude obsahovat třeba sloupce (jméno, příjmení, adresa, plat). A tabulka ředitel řekněme (jméno, příjmení, adresa, plat, počet_sekretářek). Primární klíce jsou vynechány. Vidíme, že v obou tabulkách jsou duplikovány sloupce. Tato strategie je vhodná pro časté dotazy na konkrétní typy a nevhodná pro dotazy do bázového typu.

    Opačným přístupem je Table per Subclass/Table per Type (TPS/TPT). Tato strategie využívá jednu tabulku pro bázový typ a speciální tabulky pro vlastnosti vyskytující pouze v poděděných typech. Náš příklad by tedy vypadal: zaměstnanec(jméno, příjmení, adresa, plat); ředitel(počet_sekretářek). Tato strategie má výhody, respektive nevýhody obrácené oproti TPC.

    Třetí možnost (nikoli však nutně poslední) se nazývá Table per Hierarchy (TPH). Pracuje na principu řídké tabulky, kdy všechny typy jsou v jedné tabulce a vyplněny jsou vždy pouze sloupce odpovídající typu, který záznam představuje. Ostatní jsou NULL. Není těžké nahlédnout, že v případě velmi široké hierarchie dědění bude tabulka obsahovat mnoho sloupců, z nichž bude velká část nevyužita (databáze však fyzicky hodnoty NULL ukládají velmi úsporně). V našem případě by tabulka vypadala (jméno, příjmení, adresa, plat, počet_sekretářek) s tím, že sloupec počet_sekretářek bude pro zaměstnance, neředitele, Nullový. Výhodou jsou snadné dotazy na různé typy, především v případě vracení z jednoho objektu (například uložená procedura) více různých typů.

    V souvislosti s posledním případem je třeba zmínit i speciální sloupec, tzv. diskriminátor. Obecně jej není třeba používat vůbec, velmi vhodný je však pro TPH, nicméně jeho použití při užití TPT nebo TPC není špatné a může být v jistých případech nápomocné. Tento sloupec – většinou číslo či jednoznakový char – slouží k určení, o jaký typ se jedná. A také případně k určení, jakými sloupci se zabývat.

    Vzhledem k existenci objektových databází můžeme o potřebě realizace dědičnosti v relačních databázích pochybovat, avšak relační databáze stále hrají prim v používaných databází, takže reprezentace těchto vazeb může být velmi potřebná a využitelná.

    A co si o dědičnosti myslíte vy? Chtěli byste se o ní dočíst na našich stránkách více? S praktickými ukázkami?

    ( Celý článek! | Autor: Jiří Činčura | Počet komentářů: 1 | Přidat komentář | Informační e-mailVytisknout článek )

    Vyhledávání
     

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

    Nic 
     (1291 hl.)
    Do 1 000,- Kč 
     (910 hl.)
    Do 10 000,- Kč 
     (855 hl.)
    Do 25 000,- Kč 
     (1114 hl.)
    Do 50 000,- Kč 
     (875 hl.)
    Do 75 000,- Kč 
     (1012 hl.)
    Více než 75 000,- Kč 
     (850 hl.)

    Celkem hlasovalo: 6907


    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ář
    <<  Červen  >>
    PoÚtStČtSoNe
       1234
    567891011
    12131415161718
    19202122232425
    2627282930  

    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