Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.21;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
3-69164
mikl2002
2002-10-31 14:32
2002.11.21
Forced writes в IB6


7-69585
cybermonk
2002-09-20 07:56
2002.11.21
Вопрос


3-69104
Jak
2002-11-01 16:26
2002.11.21
Помогите победить MS SQL Server v 7.0


1-69264
poops66
2002-11-12 00:49
2002.11.21
lost *.dfm file


14-69549
alvan
2002-11-02 11:03
2002.11.21
Файлы *.doc