Форум: "Начинающим";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
Внизinterbase+delphi связывание таблиц Найти похожие ветки
← →
VitV © (2006-06-06 17:30) [0]Таблицы связаны через мастердет в самих дэлфях.
Но не прописан как внешний ключ в базе данных. Всё работает Ок. Нужно ли создавать внешний ключ в Бд?
Или в 1 таблицу кидаются данные их 3. Нет ни маст/дет, ни внешнего ключа.
Всё с помощь запросов. Нормально ли это?
← →
Ega23 © (2006-06-06 17:33) [1]
> Нормально ли это?
>
Если тебя не интересует вопрос целостности данных - то нормально. Если интересует - то нет.
← →
DrPass © (2006-06-06 17:36) [2]
> Нужно ли создавать внешний ключ в Бд?
Скажем так, не обязательно но желательно. Ибо внешний ключ служит не для организации связи "мастер-деталь", а для контроля за ее целостностью и для оптимизации быстродействия. Он тебе даст индекс по ключевому полю, и гарантию что шаловливые ручки или глюки не внесут в поле левые данные, только и всего.
← →
Stakan © (2006-06-06 18:19) [3]DrPass © (06.06.06 17:36) [2]
Он тебе даст индекс по ключевому полю, и
Вроде как его в ручную создавать нужно
← →
Ega23 © (2006-06-06 18:29) [4]
> Вроде как его в ручную создавать нужно
Индекс даст первичный ключ. Вторичный, вроде, не даёт индекса. А может и даёт, не помню уже...
← →
DrPass © (2006-06-06 18:49) [5]Дает, конечно. Иначе при контроле целостности понадобилось бы перебирать всю таблицу
← →
Desdechado © (2006-06-06 21:16) [6]Внешний ключ может как давать индекс (например, в IB/FB), так и не давать его (например, в Oracle).
Но это легко проверить в самой БД и при необходимости (она есть не всегда, поэтому подход Оракла мне больше по душе) самому создать индекс.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c