Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.12;
Скачать: 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 вся ветка

Текущий архив: 2007.08.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
15-1184329607
Zagaevskiy
2007-07-13 16:26
2007.08.12
Проводник


2-1184446744
Anar
2007-07-15 00:59
2007.08.12
Не могу преоброзовать строку в дату.


2-1184862965
olevacho_
2007-07-19 20:36
2007.08.12
Как отобразить данные в DBGrid


6-1166522728
djon silver
2006-12-19 13:05
2007.08.12
HTTP Server


2-1184756653
ouchs
2007-07-18 15:04
2007.08.12
uses для функции PostVirtualKeyEvent