Форум: "Базы";
Текущий архив: 2002.11.21;
Скачать: [xml.tar.bz2];
ВнизReferential Integrity и каскадное удаление Найти похожие ветки
← →
alex_ran (2002-10-31 12:36) [0]Доброго всем времени суток!
Недавно прочитал в одной книге, посвященной работе с БД, что задание ссылочной целостности работает на физическом уровне и корректно поддерживается как утилитами BDE, так и компонентами доступа к БД из Делфи. Я попробовал установить такую связь между двумя таблицами и задал Update Rule в Cascade. При этом я ожидал, что при удалении (редактирования) записи в главной таблице удалятся (изменятся) все связанные с ней в подчиненной. Однако этого не происходит :). Вначале приходится вручную поработать с подчиненной таблицей :(. Хотя в книге написано что при установке Update Rule в Cascade это должно происходить автоматически. Подскажите, плиз, что я делаю неправильно.
← →
MsGuns (2002-10-31 12:58) [1]Не гарантирую, но по-моему для локальных таблиц каскадное удаление просто не работает. Не без глюков поддерживается и целостность. Или делай локальные триггера (т.е."ручечное" удаление/изменение в подчиненных таблицах) или переходи на IB, например (FireBird)
← →
alex_ran (2002-10-31 13:17) [2]Самое интересное, что ,насколько мне позволил мой английский, по-моему в хелпе по Database Desktop сказано тоже самое (о автоматическом удалении) Вот дословно:
Cascade
Cascade specifies that any change you make to the value in the key of the parent table is automatically made in the child table. If you delete a value in the key of the parent table, dependent records in the child table are also deleted. Cascade is the default update rule.
Это не работает только для Парадокса или для любых локальных БД?
← →
MsGuns (2002-10-31 13:26) [3]В самой BDE полно глюков (а с локалками в псеновном и работает BDE), а документации ее еще больше. Чего стоит постоянное провисание на механизме блокировок (lck) или хронический понос при "вылетах" проги, оставляющей таблу в инсерте, что приводит на 50% к нарущению ключей или индексов. При всем моем уважении к Борланду не могу не отметить, что он страдает "американской улыбчивостью" в полной мере. Т.е. выдает желаемое за действительное. Во всяком случае, при написании надежного проекта я бы не доверял BDE, а делал бы все прогой сам.
Сам не могу отказаться от Paradox, т.к. больно, подлец, реактивен. Таблы перелинковываются со сверхзвуковой скоростью и курсор бегает шустро даже на чудовищных объемах (десятки и сотни тысяч записей)
← →
alex_ran (2002-10-31 13:53) [4]MsGuns ©, спасибо.
Жаль конечно, что все обстоит таким образом. Не то что бы лень было самому написать, я считал что незачем придумывать велосипед, а надо разобраться в существующем механизме.
А про БДЕ я никогда и не думал что он глючный, относил все глюки на кривые руки. А оно вишь как...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.11.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c