Форум: "Базы";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизСвязь многие ко многим Найти похожие ветки
← →
andirock2112 © (2009-04-12 05:37) [0]Доброго времени суток! Объясните, пожалуйста, как организовать связь многие ко многим (БД в Paradox). И возможно ли это вообще? ;)
← →
AndreyV © (2009-04-12 06:04) [1]> [0] andirock2112 © (12.04.09 05:37)
> Доброго времени суток! Объясните, пожалуйста, как организовать
> связь многие ко многим (БД в Paradox). И возможно ли это
> вообще? ;)
Смотри примеры из стандартной поставки Делфи.
← →
andirock2112 © (2009-04-12 07:02) [2]хм... а вы уверены, что там это есть?
← →
turbouser © (2009-04-12 10:35) [3]
> andirock2112 ©
3 секунды в гугле и http://www.firststeps.ru/mfc/msdn/r.php?117
← →
andirock2112 © (2009-04-12 11:12) [4]Ха! Как это сделать теоретически я знаю! Мне бы кто-нибудь сказал, где и что прописать надо, чтобы эта база работала ;)
← →
turbouser © (2009-04-12 11:59) [5]
> andirock2112 © (12.04.09 11:12) [4]
В "Database desktop" в дизайнере таблицы надо задать "Referential integrity"
а вообще, paradox must die =)
← →
andirock2112 © (2009-04-12 12:45) [6]
> turbouser ©
Ну, с тем, что paradox must die это я согласна... :(
...С Referential integrity не получается (delphi эти связи не видит) Может еще варианты будут? :)
← →
sniknik © (2009-04-12 13:24) [7]> Ха! Как это сделать теоретически я знаю!
вообще то если ли бы знал (/понимал), то что практически прописывать у тебя бы вопроса не стояло.
вот разве сложно сделать дополнительно таблицу? - нет.
2 поля в ней? - нет.
связь один ко многим из одной таблици на одно поле, и такуюже из другой на другое? - тоже нет.
т.е. все несложно, но тем не менее связь многие ко многим этим уже построена...
если не понимаешь принципа, то не сможешь с этим работать, простейший запрос написать... а волшебного средства, типа "поставил галочку где нибудь и все работает" нету.
> ...С Referential integrity не получается (delphi эти связи не видит)
а что он тут должен увидеть? это простое обеспечение ссылочной целостности на уровне движка. т.е. это метод которым делается, а не "волшебное средство" чтобы выбрал и все само делается.
> Может еще варианты будут? :)
солить их собираешься?
← →
andirock2112 © (2009-04-12 14:29) [8]sniknik, ну во-первых, логическое понимание, как что-то сделать, и практическое приложение своих знаний - это совсем разные вещи. Во-вторых мне нужно не волшебное средство, а нормальное объяснение, потому что в учебниках я этого не нашла.
Ну а насчет всего остального... базы данных я начала изучать недавно и до этого связывала таблицы при помощи конструктора связей в Delphi, не используя Referential integrity. Вот поэтому я и прошу подробно мне объяснить, как это сделать.
> > Может еще варианты будут? :)
> солить их собираешься?
Зачем солить? На полочку положу и буду использовать по мере необходимости.
← →
sniknik © (2009-04-12 15:18) [9]> а нормальное объяснение
по ссылке в [3] вполне нормальное объяснение сути.
> Вот поэтому я и прошу подробно мне объяснить, как это сделать.
3 шага в [7], это фактически уже подробное объяснение как сделать такую связь. (+ 6 чтобы эту связь "укрепить" не дать внести туда не валидные ссылки)
но вот чтобы использовать, тут надо больше, надо и суть понимать и методы работы с базами/таблицами уметь использовать.
вот например я дам тебе варианты получения (пример работы с ними) -
все работы где был Сидоров (то что в примере в ссылке):
SELECT n.Name,j.Job
FROM TJob j
INNER JOIN (TName n INNER JOIN TCross c ON n.ID = c.ID_NAME) ON j.ID = c.ID_WORK
WHERE n.ID=3
или наоборот все работники МУП-а:
SELECT j.Job, n.Name
FROM TJob j
INNER JOIN (TName n INNER JOIN TCross c ON n.ID = c.ID_NAME) ON j.ID = c.ID_WORK
WHERE j.ID=2
это тебе поможет?
надо не варианты на полочку собирать, а пытаться разобраться, понять, так чтобы самому любой вариант было не проблема написать.
← →
Сергей М. © (2009-04-12 20:12) [10]
> возможно ли это вообще?
Две отдельно взятые нормальные РСУБД-таблицы не могут жить в сношении "многие к многим".
И Парадокс тут ни причем.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.075 c