Главная страница
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.019 c
3-48424
Кирилл
2003-08-25 16:25
2003.09.15
Ув. мастера, Как определить размер записи?


3-48439
alex-ran
2003-08-26 12:07
2003.09.15
Параметрический запрос


14-48706
Aga
2003-08-28 13:03
2003.09.15
RxRichEdit


1-48536
Dream
2003-09-02 11:18
2003.09.15
Как проверить есть ли в списке listbox текст указаный в edit ?


3-48430
Lenchik_Z
2003-08-25 12:21
2003.09.15
ADOConnection