Вниз
Скачать: CL | DM;

связка двух таблиц ...   Найти похожие ветки 

 
zsergey   (2007-07-19 07:35) [0]

Всем привет! Есть две таблицы. Одна главная: TOTALS(name,adres,tel) и подчиненная ADR(adres). Надо связать их по полю adres таким образом, чтобы когда данные заносятся в главную таблицу, адреса в подчиненной добавлялись автоматически, т.е. адреса должны дублироваться.
Я сделал так: в DataSourse таблицы ADR в свойстве MasterSourse указал DataSourse гл. таблицы, сделал индекс по единственному полю в т.ADR и в MasterFields связал поля adres. Все. Но этого мало, записи в подч. таблицу не добавляются. Подскажите, как нужно делать...


 
ЮЮ ©   (2007-07-19 07:49) [1]

Если влои что-нибудь почитать о реляционных базах данных, отказаться от ADR(adres) вообще. На кой она нужна, если  в TOTALS.adres будет то же самое. Информация в БД не должна дублироваться.

З.Ы. а где TEL(tel) - телефонов тоже может быть несколько :)


 
ЮЮ ©   (2007-07-19 07:54) [2]

> главная и подчиненная

несколько TOTALS млгут жить по одному ADR или один TOTAL иожет жить по нескольким ADR?


 
zsergey   (2007-07-19 09:28) [3]

все спасибо, разобрался...


 
ЮЮ ©   (2007-07-19 09:41) [4]

> все спасибо, разобрался...

Ну-ну. Успехов!


 
Юрий Зотов ©   (2007-07-19 11:02) [5]

> zsergey   (19.07.07 07:35)

Чтобы запись куда-то добавилась, ее ведь надо добавить, верно? Не может же это произойти само по себе.

"Автоматическое" добавление/изменение записи в подчиненной таблице можно реализовать либо на стороне сервера (в триггере OnInsert/OnUpdate главной таблицы), либо в коде клиента (в обработчиках событий датасета).

Совместную модификацию главной и подчиненной таблиц лучше выполнять в одной транзакции, чтобы в случае какой-то ошибки не получить рассогласования данных в этих таблицах.

PS
А насчет дублирования данных все же подумайте - действительно ли в Вашей задаче оно необходимо? Если можно, то лучше, конечно, обойтись без него.


 
Юрий Зотов ©   (2007-07-19 11:05) [6]

> zsergey   (19.07.07 07:35)

Кстати - ведь и удаление записей, наверное, тоже должно быть совместным?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
15-1184643727
Девушка
2007-07-17 07:42
2007.08.12
В чем писать документацию?


2-1184396614
Officeman
2007-07-14 11:03
2007.08.12
Как изравить от такого разделителя ?


2-1184248152
cava
2007-07-12 17:49
2007.08.12
линии


2-1184321070
Dddddddd
2007-07-13 14:04
2007.08.12
Обратная связь TcpServer - TcpClient


15-1184255892
Petr V. Abramov
2007-07-12 19:58
2007.08.12
А почему в Маскве




   Наверх