Databáze v Javě Petr Adámek 20. 2. 2012 Petr Adámek, PV168 2 Obsah přednášky Databáze v Javě ● Úvod do JDBC ● Rady a tipy ● Implementace vazeb 20. 2. 2012 Petr Adámek, PV168 3 Úvod do JDBC IBA CZ, s.r.o.© 2009 Viz stránka na kore wiki ● http://kore.fi.muni.cz/wiki/index.php/JDBC 20. 2. 2012 Petr Adámek, PV168 4 Vazby mezi entitami IBA CZ, s.r.o.© 2009 Co musíme vzít v úvahu: ● Druh vazby (asociace, agregace, kompozice). ● Kardinalitu (1:1, 1:N, M:N) ● Přítomnost referencí jako atributu v třídě entity (jednosměrné, obousměrné, bez přímé reference) 20. 2. 2012 Petr Adámek, PV168 5 Přítomnost referencí v entitě IBA CZ, s.r.o.© 2009 Ne vždy je dobrý nápad do třídy entity vkládat atributy pro všechny vazby, které daná entita má. Můžeme se dostat do situace, kdy kvůli tranzitivním závislostem budeme zbytečně načítat velké množství nepotřebných dat. Proto je někdy užitečné modelovat vazbu jako jednosměrnou (je přístupná pouze z jedné entity a z druhé nikoliv), nebo atributy pro přístup k asociovaným entitám úplně vypustit. Přístup k asociovaným entitám pak zajistíme pomocí vhodné metody v servisní vrstvě. 20. 2. 2012 Petr Adámek, PV168 6 Jak řešíme kardinalitu IBA CZ, s.r.o.© 2009 Na úrovni datového modelu ● 1:N – do tabulky entity s kardinalitou N přidáme cizí klíč, který bude odkazovat na primární klíč druhé entity. ● M:N – musíme přidat skrytou vazební tabulku nebo vazební entitu. ● 1:1 – podobně jako pro vztah 1:N ● Pokud je daná vazba nepovinná, u sloupce s příslušným cizím klíčem povolíme hodnotu NULL 20. 2. 2012 Petr Adámek, PV168 7 Druh vazby IBA CZ, s.r.o.© 2009 Agregace i kompozice jsou speciálním případem asociace a proto se modelují a implementují stejným způsobem. Druh vazby však může být vodítkem pro to, zda zahrnout reference do entity. Pro rozhodnutí o jaký typ vazby se jedná vizte např. blogspot René Steina. 20. 2. 2012 Petr Adámek, PV168 8 Příklady IBA CZ, s.r.o.© 2009 Kompozice, vztah 1:N, obousměrná vazba 20. 2. 2012 Petr Adámek, PV168 9 Příklady IBA CZ, s.r.o.© 2009 Agregace, vztah 1:N, bez referencí 20. 2. 2012 Petr Adámek, PV168 10 Příklady IBA CZ, s.r.o.© 2009 Asociace, vztah M:N, skrytá vazební tabulka, bez referencí 20. 2. 2012 Petr Adámek, PV168 11 Příklady IBA CZ, s.r.o.© 2009 Asociace, vztah M:N, s vazební entitou, jednosměrné vazby 20. 2. 2012 Petr Adámek, PV168 12 Závěr IBA CZ, s.r.o.© 2009 Otázky?