bismigalis
т.е. свойство может принадлежать одному объекту и ссылаться на другой?
Да, конечно.
Есть у вас, например, таблица `user` со списком пользователей, `address` со списком адресов. У address есть поля: id,email,user_id. В a_object (списке “классов”, таблиц) получаем две записи:
1. object_id=1, name=“user”,table=“o_user”,…
2. object_id=2, name=“address”,table=“o_address”,…
В a_properties запись для свойства address.user_id будет примерно такой:
property_id=10 #например, конечно
object_id=2 #принадлежит объекту 2, “address”, таблица “o_address”
name=“user_id” #имя свойства, совпадает с именем поля в таблице “o_address”
ref_object=1 #ссылается на экземпляр объекта 1, “user”, таблица “o_user”.
ref_object_label_property=3 #какое свойство экземпляра объекта отображать в интерфейсной части приложения. Здесь, например, примем, что указано id свойства “fullname” объекта “user”
Полностью (и на более понятном и привычном языке) всё это дело будет читаться так:
К примеру, у нас есть какая-то запись в таблице address. В ней указан email, и id user`а, который с этого email пишет. В интерфейсной части будем отображать полное имя этого пользователя.