ID1 INTEGER PRI ID2 INTEGER PRI NAME VARCHAR
now I have to:
ID1_REF INTEGER REFERENCE TO ID1 DESCRIPTION VARCHAR
so, one column describes one column of primary key, to not 2 column. Could it be even possible in relational databases?
No you cannot. The foreign key must reference either the main key or any other superkey (some characteristics/posts that distinctively identifies the row for the reason that table, whether that's the particular declared primary key) within the recommended table. It's worth reading through the Wikipedia article too.
Technically that you can do anything you like. But theoretically this breaks the primary idea of primary and foreign secrets. Really it is simply an issue of terms. I don't know when the type in your example could be known as an overseas key. Maybe we are able to refer to it as an incomplete foreign key or something like that.