![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
interbase+delphi связывание таблиц [D7, XP]
VitV © (2006-06-06 17:30:00)Таблицы связаны через мастердет в самих дэлфях.
Но не прописан как внешний ключ в базе данных. Всё работает Ок. Нужно ли создавать внешний ключ в Бд?
Или в 1 таблицу кидаются данные их 3. Нет ни маст/дет, ни внешнего ключа.
Всё с помощь запросов. Нормально ли это?
Desdechado (2006-06-06 21:16:00) [1]Внешний ключ может как давать индекс (например, в IB/FB), так и не давать его (например, в Oracle).
Но это легко проверить в самой БД и при необходимости (она есть не всегда, поэтому подход Оракла мне больше по душе) самому создать индекс.
DrPass (2006-06-06 18:49:00) [2]Дает, конечно. Иначе при контроле целостности понадобилось бы перебирать всю таблицу
Ega23 (2006-06-06 18:29:00) [3]
> Вроде как его в ручную создавать нужно
Индекс даст первичный ключ. Вторичный, вроде, не даёт индекса. А может и даёт, не помню уже...
Stakan (2006-06-06 18:19:00) [4]DrPass © (06.06.06 17:36) [2]
Он тебе даст индекс по ключевому полю, и
Вроде как его в ручную создавать нужно
DrPass (2006-06-06 17:36:00) [5]
> Нужно ли создавать внешний ключ в Бд?
Скажем так, не обязательно но желательно. Ибо внешний ключ служит не для организации связи "мастер-деталь", а для контроля за ее целостностью и для оптимизации быстродействия. Он тебе даст индекс по ключевому полю, и гарантию что шаловливые ручки или глюки не внесут в поле левые данные, только и всего.
Ega23 (2006-06-06 17:33:00) [6]
> Нормально ли это?
>
Если тебя не интересует вопрос целостности данных - то нормально. Если интересует - то нет.