Связь 1 - много

Общий форум

Модератор: app

Связь 1 - много

Сообщение ribamuka » Чт фев 04, 2010 3:56 pm

Каким образом я могу в ананасе реализовать связть один-ко-многим.

Например один клиент, а у него 10 банков.
ribamuka
 
Сообщения: 18
Зарегистрирован: Пн сен 21, 2009 7:11 pm

Re: Связь 1 - много

Сообщение anton » Чт фев 04, 2010 4:13 pm

Создаёшь в справочнике "Банки" поле "Владелец" типа "Catalogue.Клиент". Есть простенькая бизнес-схемка, демонстрирующая работу с подчинёнными справочниками, присоединяю.
anton
 
Сообщения: 137
Зарегистрирован: Сб фев 28, 2009 9:00 pm
Откуда: Иркутск

Re: Связь 1 - много

Сообщение ribamuka » Чт фев 04, 2010 7:58 pm

У приведенного тобой примера есть ограничение.
Не возможно один и тоже банк назначить нескольким клиентам.
можно конечно извратиться и вбивать дублирующиеся банки.

По исходникам Ананаса видно, что авторы начали добавлять данную возможность, но так и не доделали.

Об этом говорит поле ido в таблице каждого справочника и метод справочника selectByOwner.
ribamuka
 
Сообщения: 18
Зарегистрирован: Пн сен 21, 2009 7:11 pm

Re: Связь 1 - много

Сообщение anton » Пт фев 05, 2010 10:36 am

ribamuka писал(а):У приведенного тобой примера есть ограничение.
Не возможно один и тоже банк назначить нескольким клиентам.
можно конечно извратиться и вбивать дублирующиеся банки.

Решение очевидно - создаётся промежуточный справочник. Вообще не понятно зачем именно банк указывать, когда логичней р/с, а уж к р/с привязывать банк.
anton
 
Сообщения: 137
Зарегистрирован: Сб фев 28, 2009 9:00 pm
Откуда: Иркутск

Re: Связь 1 - много

Сообщение ribamuka » Пт фев 05, 2010 11:09 am

Да, можно создать промежуточную таблицу. Но проблем опять не оберешься:

1. Следить за внешними ключами придется самому.
2. Будут ситуации при которых данные из таблиц удалены, а из промежуточной - забыли удалить.
3. Нет GUI компонентов, которым можем назначить все три таблицы и получить удобную навигацию.

Я думаю вариант один - дописать, то что не доделали ананасовцы.
ribamuka
 
Сообщения: 18
Зарегистрирован: Пн сен 21, 2009 7:11 pm

Re: Связь 1 - много

Сообщение Selector » Чт апр 22, 2010 3:20 pm

один клиент - много банков, один банк - к нескольким клиентам, это собственно связь многие ко многим, а не 1 ко многим и по теории баз данных разрешается промежуточной таблицей для избежания тех вопросов, которые вы означили... Матчасть ))) Ананас я только начал смотреть, но имхо, если есть тип данных - ссылка, то видимо как то там должна решаться целостность ключей... если нет - то вот это место и стоит поправить
Selector
 
Сообщения: 1
Зарегистрирован: Чт апр 22, 2010 3:14 pm

Re: Связь 1 - много

Сообщение glilya » Чт сен 09, 2010 1:03 am

anton писал(а):Создаёшь в справочнике "Банки" поле "Владелец" типа "Catalogue.Клиент". Есть простенькая бизнес-схемка, демонстрирующая работу с подчинёнными справочниками, присоединяю.


А где можно скачать эту схемку ? Присоединенный файл в этом посту я не вижу
glilya
 
Сообщения: 12
Зарегистрирован: Ср сен 08, 2010 9:45 pm


Вернуться в Общий форум

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

cron