Diskuze: Databáze: hierarchický vs. relační model

Ostatní jazyky SQL SQL a databáze Databáze: hierarchický vs. relační model

Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:

Jaký je prosím rozdíl mezi hierarchickým (tím z 60. let) a relačním databázovým modelem? Oba mají cizí klíče, oba mají tabulky. Ví někdo? :)

Editováno 20.2.2013 14:12
Odpovědět 20.2.2013 14:12
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

Hierarchický databázový model nemá ani tabulky, ani cizí klíče. Možná sis to spletl s reprezentací na relačních databázích.

Nahoru Odpovědět 20.2.2013 14:32
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:

Vycházím z toho co jsem našel na wiki: http://en.wikipedia.org/…tabase_model

Je mi jasné, že je to fyzicky uloženo jinak, ale mají to tam jako tabulky a funguje tam i cizí klíč jako u relačních.

Nahoru Odpovědět 20.2.2013 14:34
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

Cite: "Examples of hierarchical data represented as relational tables"

Hierarchickou databází je například DOM. Cizí klíče nemá a nemá ani tabulky.

Nahoru Odpovědět 20.2.2013 14:38
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:

Aha, moje chyba :) Jak funguje DOM vím, jen mi je tedy ještě neznámé, jakým způsobem vytvořím relaci, např. budu mít rodiče auta a rodiče řidiči a budu chtít každému autu přiřadit nějakého řidiče. To musí být řidič syn auta nebo to funguje nějak jinak?

Nahoru Odpovědět 20.2.2013 14:44
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
tony
Neregistrovaný
Avatar
tony:

Jasne ale jak presne vypada uloženi.. jde o to že ja ted mam psat bakalarku kde mam udelat sitovy a hierarchicky model pro dnesni problematiku..

takze vim jak mam modelovat relačni model.. proste v enterprice architektu udelam klasicky tabulky atd... ALE JAK BUDE VYPADAT MODELOVNI pro hierarchicky a sitovy model???

připadne jak bude teda uloženo kdyz ne do tabulek...

napadlo me XML priklad

<TATA jmeno="", prijmeni="", telefon="">
<DCERA jmeno=""></>
<DICERA jmeno=""></>
</>

ale je to vubec tak?

 
Nahoru Odpovědět 20.2.2013 14:51
Avatar
tony
Neregistrovaný
Avatar
Odpovídá na tony
tony:

připadně pokud ano muzeme data v hierarchickem modelu ukladat jako xml... (tak jak bude vypadat uloženi v sitovem??) tam uz neplati to ze jeden potomek muze mit jen jednoho rodice.. to xml nepujde.

 
Nahoru Odpovědět 20.2.2013 14:56
Avatar
Kit
Redaktor
Avatar
Odpovídá na tony
Kit:

XML je vlastně jen serializovaná hierarchická databáze. Fyzicky bývá nejčastěji implementována jako seznam, položky seznamu jsou na hromadě.

Pomocí dynamicky vázaných struktur se dá udělat i síťová databáze. Potomek pak může mít víc rodičů. U takových databází se však rodiče většinou nehledají nebo potomci vedou své rodiče jako další potomky.

Nahoru Odpovědět 20.2.2013 15:27
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

Když budeš mít adresářovou strukturu, jak do ní vložíš auta a jak řidiče? A jak v ní vyjádříš, kteří řidiči řídí která auta?

Nahoru Odpovědět 20.2.2013 15:29
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Nahoru Odpovědět 20.2.2013 15:41
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

Asi budeš mít v kořeni seznam aut jako adresáře. V každém adresáři budeš mít řidiče příslušného auta.

Z tohoto příkladu je vidět, že zrovna na tohle se hierarchická databáze nehodí. Naopak se výborně hodí třeba na myšlenkové mapy, na kterých relační databáze selhávají.

Nahoru Odpovědět  +1 20.2.2013 16:10
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Nahoru Odpovědět 20.2.2013 16:53
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

Ještě mě napadlo, že když v OOP děláš kompozici, vytváříš vlastně hierarchickou databázi v paměti. Samozřejmě se v OOP dá udělat i síťová, ale relační se dělá dost blbě. Proto jsou takové potíže s ORM frameworky.

Nahoru Odpovědět  +1 20.2.2013 17:05
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.