Текущий архив: 2003.03.20;
Скачать: CL | DM;
Вниз
как лучше создавать связанные таблицы Найти похожие ветки
← →
Ольга (2003-02-26 15:59) [0]Народ!
Как в IB лучше создавать связи между таблицами?
Если с помощью триггеров, то как заполнять поле связи в подчиненной таблице, то бишь какой триггер для этого написать?
← →
Johnmen © (2003-02-26 16:05) [1]Лучше всего, создавая Primary Key и Foreign Key.
Остальное зависит от конкретных потребностей.
← →
Жук © (2003-02-26 16:13) [2]А внешний ключ что-нибудь хорошего даёт ? Кроме cascade и т.п. ?
← →
ermserg © (2003-02-26 16:38) [3]cascade ne prichina sozdaniya foreign key. prichina - obespecheniye tselostnosti dannih.
← →
Johnmen © (2003-02-26 16:43) [4]>ermserg © (26.02.03 16:38)
Да, да. Обеспечение ссылочной целостности.
← →
Жук © (2003-02-26 16:46) [5]Целостность можно обеспечить и другими способами, а вот администрирование будет затруднено этими внешними ключами.
← →
Johnmen © (2003-02-26 16:52) [6]Можно и другими (какими, кстати ? :))
И уверяю тебя, что эти другие по сути то же, что и PK-FK.
Затруднений администрирования пока не наблюдалось...
← →
Жук © (2003-02-26 16:57) [7]Если по сути "другие" то же, что и fk, то какой смысл в FK ?
Я внешними ключами не пользуюсь, и нарушений целостности пока не наблюдалось... :-)
← →
ermserg © (2003-02-26 17:05) [8]U tebya skolko tablits v base dannih? 20? Budet 200 i vse bez FK, budesh nadbludat.
← →
Desdechado © (2003-02-26 17:54) [9]>Целостность можно обеспечить и другими способами
если имеется ввиду через триггеры, то неправда это. Триггер срабатывает в контексте транзакции, а CONSTRAINT типа PK-FK - в контексте БД. Да и замахаешься столько триггеров писать.
>администрирование будет затруднено этими внешними ключами
если о GRANT REFERENCES речь, то это не самая большая проблема :)
>Я внешними ключами не пользуюсь, и нарушений целостности пока не наблюдалось
может, и первичных нет? тогда и целостной базы нет, есть просто свалка из данных на свалке из таблиц, не связанных между собой
И, кстати, создание PK-FK влечет создание индексов по полям, что в основном положительно сказывается на скорости поисков
← →
Ольга (2003-02-27 08:47) [10]Всем спасибки!
Судя по большиству ответов pK-FK способ себя оправдавший...
А создание автоинкрементного поля с помощью триггера и генератора будет работать при наличии внешних ключей?
и еще вопросик - из 5 дельфи можно работать с базой написанной на IB6?
← →
HSolo © (2003-02-27 09:39) [11]1) будет
2) можно
← →
Johnmen © (2003-02-27 09:42) [12]1. да
2. если BDE, то да, если IBX, то после его апдейта
← →
Ольга (2003-02-28 09:55) [13]Насчет 5 дельфи!
Пыталась подсоединиться к базе с помощью обычных компонентов - не выходит - не знают они 3 диалекта sql (у меня там поля типа date, time).
Через IBX вроде получается, но в этом случае alias-a соответственно нет, как же тогда переносить базу на другой комп ?
Подскажите?
← →
Johnmen © (2003-02-28 10:01) [14]BDE не знает 3 диалекта !
IBX - компоненты прямого доступа, алиасы здесь непричем
В чем проблема переноса ?
← →
Ольга (2003-02-28 11:08) [15]Путь к базе прописывается где? В databasename?
Просто элементарно не представляю как это делается...:(
Перенесла на др комп - путь же сменился?
как его указать? где? что использовать? не компилить же заново?
С BDE понятно - путь в алиасе переписал и все...а тут как?
← →
Desdechado © (2003-02-28 11:16) [16]2 Johnmen © (28.02.03 10:01)
> BDE не знает 3 диалекта !
BDE5.2 знает, надо только надо
To use the new InterBase 6.5 Dialect 3 features in BDE,
add an entry to your Windows registry under
HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine
\Settings\Drivers\Intrbase\Db Open\SQLDIALECT
and set the String Value to "3".
When an InterBase alias is created, the new entry will
be available in the .CFG file.
← →
Johnmen © (2003-02-28 11:20) [17]>Desdechado © (28.02.03 11:16)
Имел в виду ту версию, что у автора.
>Ольга
Обычно строку подключения хранят где-то вовне (реестр, ini, ...),
а при запуске приложения считывают.
← →
Desdechado © (2003-02-28 11:23) [18]2 Ольга (28.02.03 11:08)
dbLio := TDatabase;
with( dbLio ) do
begin
Params.Add( "SERVER NAME=" + cServer );
Params.Add( "USER NAME=" + Trim( Login ) );
Params.Add( "PASSWORD=" + Trim( Password ) );
end;
основные настройки - в форме, а параметры подключения храни где-нибудь (НП в ini), пароль спрашивай
← →
Desdechado © (2003-02-28 11:27) [19]2 Johnmen © (28.02.03 11:20)
и у меня Delphi пятерка, но это не мешает иметь BDE5.2 - просто доставить его
← →
Johnmen © (2003-02-28 11:32) [20]>Desdechado © (28.02.03 11:27)
Не мешает. А я разве с чем-то спорил ? :))))))))
← →
Ольга (2003-02-28 11:34) [21]Спасибки поняла - буду пробовать! :))
Страницы: 1 вся ветка
Текущий архив: 2003.03.20;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.014 c