[ORM]: All about Links, Joins, Relations and mapping
Ruslan Zasukhin
sunshine at public.kherson.ua
Fri Oct 12 08:01:56 CDT 2007
On 11/10/07 11:10 AM, "Thorsten Hohage" <thohage at objectmanufactur.com>
wrote:
>> So still sounds like LINK to related table.
> I know you're a database guy, so the database answer should probably
> be: yes it's nothing more than linking tables. Or better "joining"
> tables.
>
>
> So IMHO we should define so words before going on further discussing
> the technical aspects behind.
>
> 1a) There is the database way on how "link" tables, in good old plain
> sql a "join" using (sometimes) FKs
>
> 1b) In extension to this there are the Valentina features e.g.
> "ObjectLink" (so a "linked" table is a table join with Valentina
> "functionality")
>
>
> 2) Using an ORM we map or "link" classes and tables.
>
>
> 3) On the OO-class-level there are parent-child-"relations" between
> some classes. In some casses this is not only done with e.g. a simple
> "Array", but with a class in between, so
>
> ParentClass <> JoinClass <> ChildClass
>
> each class could now be mapped to a table (ParentTable, JoinTable,
> ChildTable) and these tables could (in classical sql-db) joined with
> foreign keys. Or ParentClass and ChildClass are represented by tables
> and the JoinClass represent a "join" and no specific tables, ... or
> everything done using Valentina feature, of course.
>
>
> So my given samples define a relation between to Classes and map
> these join to database "technics" or map the join to a cross-join-
> table. In my (and other ORMs, too) ORM there is no need to "join"
> tables in the DB to relate classes.
>
> BUT of course on the class level there happen many more things, then
> only modelling the relation between the classes. Because this
> "relation" will also define and "offer" a set of methods and
> properties, which have nothing to do with database at all.
Okay, more clear now.
In fact it sounds a lots like you just define Valentina Abstraction LINK on
the ORM level. Agree?
You define ABSTRACTION of relation between OBJECTS A and B.
You discuss at least TWO its implementation:
* 1:M based on FK
* M:M based on third table.
And you mention about some special methods and properties of this
abstraction.
You describe EXACTLY -- the Valentina Link. :-) right ?
And VLINK have more implementation kinds than 2.
--
Best regards,
Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc
Valentina - Joining Worlds of Information
http://www.paradigmasoft.com
[I feel the need: the need for speed]
More information about the Valentina
mailing list