Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.15;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
1-48612
McSimm2
2003-09-03 13:35
2003.09.15
Проскакивает выражение


7-48805
dm37
2003-06-30 14:35
2003.09.15
RS-232 - RS-485


1-48583
Karburator
2003-09-03 16:39
2003.09.15
Удаление каталога с содержимым


14-48752
Kost
2003-08-26 21:45
2003.09.15
Tables


7-48802
Arm79
2003-06-25 15:19
2003.09.15
Сообщения Windows