Форум: "Базы";
Текущий архив: 2003.09.15;
Скачать: [xml.tar.bz2];
ВнизMasterSource Найти похожие ветки
← →
Xmen (2003-08-22 08:49) [0]Помогите с связаннами таблицами.
Я создал две таблицы один оснавной в нем есть поле ID primary key и автоинкрементное поле, второй подченены в нем тоже есть поле ID primary key . Я свезал их ID->ID . В одной форме создал 2 дбгрида, 2 навигатора 2 Table(1 Master, 2 подчененый) и 2 датасорес в втором табле в поле мастерсорес указал первую таблису в мастер филдс ID (первой таблиси). Связ получилос но в 1 дбгрид пишу данные сохрянаю перехожу в второй но там не поевляется в поле ID данные и в первом в поле ID нет данных когда это поле автоинкрементное. Второй случае с этими таблисами в первую таблис пишу данные дбедитами а второму пишу в дбгриде здес тоже та ситуация в поля ID оба таблици нет данных. Мастера где я ошибся, как исправит надо? Вам знакома такая ситуасия.
← →
Sergey13 (2003-08-22 09:24) [1]2Xmen (22.08.03 08:49)
> Я свезал их ID->ID
Иногда конечно такое возможно, но крайне редко и при связи 1:1, а не 1:много. Обычно в подчиненной таблице дожно быть отдельное поле (не PK), ссылающееся на ID мастер-таблицы (т.е. значение поля ID мастер-таблицы должно быть равно полю Master_ID подчиненной). При внесении данных в подчиненную таблицу необходимо сразу прописывать значение поля Master_id (обычно оно должно быть NOT NULL).
Про это во всех книжках написано. Наверное почитать надо.
← →
Xmen (2003-08-22 10:53) [2]У тебя есть примеры, дай я посматрю Email rustam.ergashev@gallabank.com
← →
Johnmen (2003-08-22 10:59) [3]И еще. Такое поле называется FK (Foreign Key).
:)
← →
Sergey13 (2003-08-22 11:04) [4]Примеры чего? Конкретной реализации? Смотри в папке DELPHI[x]/DEMOS/DB у себя на диске. Там всего полно.
← →
Xmen (2003-08-22 11:06) [5]>>И еще. Такое поле называется FK (Foreign Key).
:)
может быть глупый вопрос а как создоват FK (Foreign Key) в MySQL е ADD INDEX() что-ли?
← →
Johnmen (2003-08-22 11:20) [6]>Xmen (22.08.03 11:06) [5]
В документации это описано. См. ADD CONSTRAINT.
← →
MsGuns (2003-08-22 12:59) [7]>Johnmen © (22.08.03 10:59) [3]
>И еще. Такое поле называется FK (Foreign Key).
1.Вовсе нет !
2.Совершенно не обязательно использовать для связки ссылочное поле (иногда и невозможно, если детал один, а мастера м.б. два или больше)
← →
Johnmen (2003-08-22 13:10) [8]>MsGuns © (22.08.03 12:59) [7]
>1.Вовсе нет !
А как ? :)
>2.Совершенно не обязательно ...
Не обязательно, но, как правило, желательно...
← →
MsGuns (2003-08-22 13:23) [9]>Johnmen © (22.08.03 13:10) [8]
>А как ? :)
Да никак. Просто понимается, что в поле A таблицы B содержится логическая ссылка на поле N таблицы M. А может содержать ссылку на поле X таблицы Y. Или вообще не содержать ссылки никуда. (В системах, постоенных на графах, такое сплошь и рядом)
FK же, это несколько другое. И не только логическое, но и физическое
← →
Johnmen (2003-08-22 13:29) [10]>MsGuns © (22.08.03 13:23) [9]
>Да никак.
"никак" - хорошее название для сущности :)
>Просто понимается, что в поле A таблицы B содержится логическая
>ссылка на поле N таблицы M.
Во сколько слов, вместо двух - ссылочный ключ :)
Серега, я юморю. Не будь чересчур серьезен...:^)
← →
MsGuns (2003-08-22 13:33) [11]>Johnmen © (22.08.03 13:29) [10]
>Серега, я юморю. Не будь чересчур серьезен...:^)
Да не, какой юмор ! Я ж произвожу впечатление ;)))
← →
Danilka (2003-08-22 14:32) [12]Интересно, это только сегодня в базах так весело или всегда? :))
← →
Sargos (2003-08-22 20:21) [13]1C виновата, было бы веселей...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.09.15;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.013 c