Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
14-64343
ZeroDivide
2003-03-04 16:22
2003.03.20
Да здравствуют отечественные военные кулеры!


8-64239
S@M_vvv
2002-12-08 02:05
2003.03.20
Графика


1-64215
X3coder
2003-03-07 17:48
2003.03.20
И снова MDI


1-64054
Alfons
2003-03-03 23:32
2003.03.20
Как кнопкой сворачивать форму со св-вом bsNone в TaskBar


14-64348
Roman Go
2003-03-05 09:48
2003.03.20
Кто нибудь встречал компонент