Ahoj,
Roman Kratochvil wrote:
Zdravim,
mozna je muj prispevek offtopic, ale rad bych upozornil na jednu
dulezitou vec, a sice ze dedicnost neni jedinym zpusobem typovani.
Zde bych velice zvazoval, zda nemit jednu tabulku Vozidlo, vedle ni
ciselnik TypVozidla a na nej se z Vozidla odkazovat FKckem. Analogicky
i v Javovem objektovem navrhu - kompozice, ne dedicnost. Resit vsechno
dedicnosti je mor, jak v cistych objektech, tim spise pak v objektech
mapovanych pres ORM. [opravdu offtopic: Mor je to velice rozsireny,
zrejme diky pojeti ucebnic OOP, ktere kazdemu zacatecnikovi vsugeruji,
ze dedicnost je "to maso"]. Podle mych zkusenosti to s dedicnosti v
ORM nakonec dopada tak, ze jako smysluplne entity se jevi ty, ktere
jsou koncove listy stromu dedicnosti, jejich predci jsou "abstraktni"
- v tom smyslu, ze napr. nema cenu je zakladat samostatne. Priklad:
kdyz mate od Vozidlo oddedene OsobniAuto, NakladniAuto, Traktor, proc
budete zakladat primo instanci Vozidla? Abyste tam schoval vse, co se
neni ani osobak, ani nakladak a ani traktor? To si zakladate na pekny
chlivek... V tomto smyslu je, rekl bych, entita Vozidlo abstraktni,
pak je otazka, k cemu potrebujete mit jeji tabulku v db atd...
Typovani pomoci odkazu na vyctovy typ je mnohem praktictejsi.
A co teprve, kdyz nemame class based languages ;-)
Tam s tradicnimy ORM nastroji neuspejete a Objektova databaze ma opravdy
smysl.
Lukas