Co je dědičnost jedné tabulky?
Dědičnost jedné tabulky je metoda kódování, ve které je pro relační databázi emulována objektově orientovaná dědičnost, která obvykle není součástí databázového programu. Tímto způsobem bude mít uživatel možnost vidět vztah mezi mnoha různými štítky v rámci jedné tabulky, což uživatelům usnadní procházení nebo přidávání dat. Pokud existuje mnoho nulových polí nebo existuje-li velký počet relací, může použití dědičnosti jedné tabulky vrátit neočekávané výsledky, které zamění i pokročilé návrháře databází. S tímto schématem dědičnosti databáze zobrazuje jediná tabulka data hierarchickým způsobem.
Relační databáze jsou databáze, které spojují jednu skupinu dat s druhou a obvykle mají hierarchické mapy. Pokud například někdo hledá knihu prostřednictvím relační databáze, pak obvykle najde pole pro autora, žánr, první písmeno knihy a poté seznam knih. V normálních případech má každé pole svou vlastní tabulku a tabulky zřídka interagují kromě zprostředkování uživatele z jednoho pole do druhého.
V případě dědičnosti jedné tabulky jsou všechna pole zobrazena v jedné tabulce. To je mnohem snazší nahlížet a snáze se prosévat. Všechna data zobrazená v tabulce směřují shora dolů. To znamená, že autor bude nahoře na jedné tabulce a první písmeno knihy bude na dně.
Vytvoření modelu dědičnosti jedné tabulky může být zpočátku obtížné, pokud návrhář databáze není obeznámen s kódováním. Obvykle to dělá mapa z databáze k oddělení objektů v objektově orientovaném programovacím schématu. Musí existovat několik tříd, jinak to nespojí všechno dohromady do jedné tabulky.
Dva typy problémů mohou zabránit tomu, aby dědičnost jedné tabulky fungovala správně. Jedna je, pokud objekty představují nulovou hodnotu. Pokud k tomu dojde, bude hodnota null posypána hodnotnými daty v tabulce dědičnosti. To znamená, že tabulka zobrazí relevantní informace, ale každých několik řádků nebo často se vyskytujících nulových hodnot se v blízkosti nebo pod jinou hodnotou zobrazí slovo „null“.
Pokud má mapovaný objekt mnoho hierarchií, zejména hierarchií, které nejsou podobné, může to také způsobit problém pro dědičnost jedné tabulky. S mnoha hierarchiemi existuje šance, že by návrhář mohl jeden chybět, což způsobí chybu relace. Pokud hierarchie nejsou podobné, pak by relační databáze mohla mít potíže s porozuměním mapování mezi datovými sadami.