Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

MasterSource [D5, MySQL, Paradox]


Xmen ©   (2003-08-22 08:49:00) 

Помогите с связаннами таблицами.
Я создал две таблицы один оснавной в нем есть поле ID primary key и автоинкрементное поле, второй подченены в нем тоже есть поле ID primary key . Я свезал их ID->ID . В одной форме создал 2 дбгрида, 2 навигатора 2 Table(1 Master, 2 подчененый) и 2 датасорес в втором табле в поле мастерсорес указал первую таблису в мастер филдс ID (первой таблиси). Связ получилос но в 1 дбгрид пишу данные сохрянаю перехожу в второй но там не поевляется в поле ID данные и в первом в поле ID нет данных когда это поле автоинкрементное. Второй случае с этими таблисами в первую таблис пишу данные дбедитами а второму пишу в дбгриде здес тоже та ситуация в поля ID оба таблици нет данных. Мастера где я ошибся, как исправит надо? Вам знакома такая ситуасия.


Sargos   (2003-08-22 20:21:00) [1]

1C виновата, было бы веселей...


Danilka   (2003-08-22 14:32:00) [2]

Интересно, это только сегодня в базах так весело или всегда? :))


MsGuns   (2003-08-22 13:33:00) [3]

>Johnmen © (22.08.03 13:29) [10]
>Серега, я юморю. Не будь чересчур серьезен...:^)

Да не, какой юмор ! Я ж произвожу впечатление ;)))


Johnmen   (2003-08-22 13:29:00) [4]

>MsGuns © (22.08.03 13:23) [9]
>Да никак.

"никак" - хорошее название для сущности :)

>Просто понимается, что в поле A таблицы B содержится логическая
>ссылка на поле N таблицы M.

Во сколько слов, вместо двух - ссылочный ключ :)

Серега, я юморю. Не будь чересчур серьезен...:^)


MsGuns   (2003-08-22 13:23:00) [5]

>Johnmen © (22.08.03 13:10) [8]
>А как ? :)

Да никак. Просто понимается, что в поле A таблицы B содержится логическаяссылка на поле N таблицы M. А может содержать ссылку на поле X таблицы Y. Или вообще не содержать ссылки никуда. (В системах, постоенных на графах, такое сплошь и рядом)

FK же, это несколько другое. И не только логическое, но и физическое


Johnmen   (2003-08-22 13:10:00) [6]

>MsGuns © (22.08.03 12:59) [7]
>1.Вовсе нет !

А как ? :)

>2.Совершенно не обязательно ...

Не обязательно, но, как правило, желательно...


MsGuns   (2003-08-22 12:59:00) [7]

>Johnmen © (22.08.03 10:59) [3]
>И еще. Такое поле называется FK (Foreign Key).

1.Вовсе нет !
2.Совершенно не обязательно использовать для связки ссылочное поле (иногда и невозможно, если детал один, а мастера м.б. два или больше)


Johnmen   (2003-08-22 11:20:00) [8]

>Xmen (22.08.03 11:06) [5]

В документации это описано. См. ADD CONSTRAINT.


Xmen   (2003-08-22 11:06:00) [9]

>>И еще. Такое поле называется FK (Foreign Key).
:)
может быть глупый вопрос а как создоват FK (Foreign Key) в MySQL е ADD INDEX() что-ли?


Sergey13   (2003-08-22 11:04:00) [10]

Примеры чего? Конкретной реализации? Смотри в папке DELPHI[x]/DEMOS/DB у себя на диске. Там всего полно.


Johnmen   (2003-08-22 10:59:00) [11]

И еще. Такое поле называется FK (Foreign Key).
:)


Xmen   (2003-08-22 10:53:00) [12]

У тебя есть примеры, дай я посматрю Email rustam.ergashev@gallabank.com


Sergey13   (2003-08-22 09:24:00) [13]

2Xmen (22.08.03 08:49)
> Я свезал их ID->ID
Иногда конечно такое возможно, но крайне редко и при связи 1:1, а не 1:много. Обычно в подчиненной таблице дожно быть отдельное поле (не PK), ссылающееся на ID мастер-таблицы (т.е. значение поля ID мастер-таблицы должно быть равно полю Master_ID подчиненной). При внесении данных в подчиненную таблицу необходимо сразу прописывать значение поля Master_id (обычно оно должно быть NOT NULL).

Про это во всех книжках написано. Наверное почитать надо.


Наверх

Титульная страница Поиск, карта сайта Написать письмо