|
|
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
Прошу вашего совета. Раньше проектирование БД не занимался, сейчас возникла необходимость. Возможен ли такой вариант, либо можно сделать более логично. Доупустим, есть две таблицы. В первой таблицы имеется Primary Key, а во второй таблице есть два поля, каждый из которых имеет Foreign Key ссылающийся на ключ из первой таблице. Естественно, эти два поля не могут быть друг другу равны. И вторая таблица может содержать порядка миллиона записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 12:13 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
ScarferNV, Да, конечно, например таблицы счетов и проводок... они так и организованы обычно ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 12:41 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
ScarferNVПрошу вашего совета. Раньше проектирование БД не занимался, сейчас возникла необходимость. Возможен ли такой вариант, либо можно сделать более логично. Доупустим, есть две таблицы. В первой таблицы имеется Primary Key, а во второй таблице есть два поля, каждый из которых имеет Foreign Key ссылающийся на ключ из первой таблице. Естественно, эти два поля не могут быть друг другу равны. И вторая таблица может содержать порядка миллиона записей. почему не могут быть друг другу равны??? могут быть и равны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 13:00 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
Ivan Durakпочему не могут быть друг другу равны??? могут быть и равны.Ну если специальный констрейнт на это навесить, то можно сделать так, что не смогут быть равными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 15:16 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
Bogdanov AndreyIvan Durakпочему не могут быть друг другу равны??? могут быть и равны.Ну если специальный констрейнт на это навесить, то можно сделать так, что не смогут быть равными. у ТС там есть слово "Естественно". Так вот это неестественно. Естественно что они могут быть любые - в т.ч. и равные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 17:11 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
Спасибо! То что не могут быть равны, это уже по моей задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 12:46 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
ScarferNV, ScarferNVВ первой таблицы имеется Primary Key, а во второй таблице есть два поля, каждый из которых имеет Foreign Key ссылающийся на ключ из первой таблице Охренеть... а кто нибудь на практике это делал ? Я вот попробовал - дудки... по крайней мере в классике... в схеме данных это сделать не получается, после того как протянул первую связь, при попытке тянуть вторую - акес говорит - ты че дурак ? Связь уже есть... Изменить на другую ? Как то криво в схему еще раз Таблицу 2 вставить можно (доп. экземпляром) и натянуть второй ключ, но это уже похоже на изврат... скорее всего такую реализацию можно делать только программно и самому, ну по крайней мере по одному из вторичных ключей точно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2014, 14:03 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
vmagScarferNV, Охренеть... а кто нибудь на практике это делал ? Я вот попробовал - дудки... по крайней мере в классике... в схеме данных это сделать не получается, после того как протянул первую связь, при попытке тянуть вторую - акес говорит - ты че дурак ? Связь уже есть... Изменить на другую ? Как то криво в схему еще раз Таблицу 2 вставить можно (доп. экземпляром) и натянуть второй ключ, но это уже похоже на изврат... скорее всего такую реализацию можно делать только программно и самому, ну по крайней мере по одному из вторичных ключей точно... А причем здесь access? и это не изврат!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2014, 14:23 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
vmagScarferNV, ScarferNVВ первой таблицы имеется Primary Key, а во второй таблице есть два поля, каждый из которых имеет Foreign Key ссылающийся на ключ из первой таблице Охренеть... а кто нибудь на практике это делал ? Думаю, легче спросить "кто не делал?". Это совершенно стандартый паттерн, например, для хранения "друзей" в соцсети, результатов матчей и еще кучи всего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2014, 14:56 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинДумаю, легче спросить "кто не делал?" Легче, но нет смысла, ибо это даже делал я, но не получилось... Вопрос: у кого получилось ? В какой СУБД ? И если можно скриншот (не из фотошопа).... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2014, 18:42 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
ScarferNV, Уточняю, что речь идет про вот это (нарисовано в фотошопе): ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2014, 19:09 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
vmag, Ну не можете сделать в графическом интерфейсе [в аксессе] - сделайте скриптом. Или Вы сомневаетесь, что это и скриптом сделать можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2014, 19:15 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
vmagScarferNV, Уточняю, что речь идет про вот это (нарисовано в фотошопе): ...)) увы и ах в Аксе на (Акс) пространстве схем можно добавить Тбл(1...) еще раз(многа-многа) можно - 'дописать руками' и повязать ПК-ФК скока нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2014, 21:19 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
two...)) увы и ах в Аксе на (Акс) пространстве схем можно добавить Тбл(1...) еще раз(многа-многа) можно - 'дописать руками' и повязать ПК-ФК скока нужно Блин, ну что за народ.... читайте выше... я же писал что реализовать можно программно или еще раз добавить в схему Таблицу 2... нет все хором закричали что все это легко как 2 пальца об асфальт... а как только выложил картинку и спросил конкретно - все начинают мне советовать то, что я предложил в самом начале: скрипты, руками, ногами... vmagКак то криво в схему еще раз Таблицу 2 вставить можно (доп. экземпляром) и натянуть второй ключ, но это уже похоже на изврат... скорее всего такую реализацию можно делать только программно и самому ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2014, 23:44 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
vmag, ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 10:08 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
lLocust, А пояснения можно (к этой схеме электрической-принципиальной)? Что за СУБД такая ? В которой первичный и вторичный ключ могут быть с разными характеристиками (текст и вообще непонятно что)... Это нужно не мне, это нужно автору топика, а то ему флаг в руки дали, а автомат с патронами забыли.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 10:26 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
vmag, Это не СУБД - это среда для проектирования СУБД (так же как и та которую Вы на картинке привели). Просто в access она немного убогая (Если сравнивать с промышленными решениями). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 10:33 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
lLocust, А по хорошему. здесь просто графическая не точность... скорее всего связи идут от первого к первому, от второго ко второму, а это немножко не то... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 10:36 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
lLocustЭто не СУБД - это среда для проектирования СУБД Ну дак я на ватмане то карандашами - такого могу нарисовать... тоже своего рода среда проектирования... Только вот СУБД переварит это все или нет, вот в чем вопрос... Интересен скрин с рабочего макета какой то СУБД... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 10:41 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
vmag, моя переварит: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. Попробую объяснить словами, если намеками не получается: Это не изврат, только потому что вы пользуетесь средством проектирования, которое так делать не умеет! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 10:50 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
vmag Только вот СУБД переварит это все или нет, вот в чем вопрос СУБД "переваривает" команды , а не графическую фигню. Графическая фигня просто помогает генерировать эти команды/скрипты. Скриптами это сделать можно, Вам уже сказали раз 5. Может ли нужный скрипт сгенерировать [конкретная] графическая фигня -вопрос к графической фигне, а не СУБД (не очень интересный, кстати сказать). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 11:50 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
vmaglLocustЭто не СУБД - это среда для проектирования СУБД Ну дак я на ватмане то карандашами - такого могу нарисовать... тоже своего рода среда проектирования... Только вот СУБД переварит это все или нет, вот в чем вопрос... Интересен скрин с рабочего макета какой то СУБД... в субд констрейнты реально можно и не создавать. Зачем они вам. В модели достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 12:04 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
lLocust, Ну во-первых субд под названием "МОЯ" я не знаю... Во- вторых, даже то что написано ниже неправильно к рисунку: alter table T_NEW_TABLE add constraint FK_T_NEW_TA_REF_T_PARENT foreign key (PARENT_ID1) references T_PARENT_TABLE (PARENT_ID); alter table T_NEW_TABLE add constraint FK_T_NEW_TA_REF_T_PARENT foreign key (PARENT_ID2) references T_PARENT_TABLE (PARENT_ID); В последней строке должно быть как минимум references T_PARENT_TABLE ( PARENT_NAME ); что есть VAR CHAR, а значит скрипт ватмановский и никто его не проверял.... Думаю автор топика сюда еще вернется чтоб всех поблагодарить за благословение.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 15:22 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
vmagВ последней строке должно быть как минимум references T_PARENT_TABLE ( PARENT_NAME ); что есть VAR CHAR, а значит скрипт ватмановский и никто его не проверял....Кто вам такую хрень сказал? Ссылка идет на ID, как и должно быть. А если вам на рисунке показалось, что белый ромбик рядом с полем Parent_Name, то это означает только то, что вы плохо понимаете изображение на ER-диаграмме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 17:00 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
vmag, Я вот подозревал что нужно будет расшифровать слово "моя".... :) Ну не моя, конечно, а только та, которую я использую в своей работе. Это всего-лишь oracle, не access, конечно... Бывают разные (иногда сложные, а иногда дурные) диаграммы.... Зачем привязывать связь (визуальное ее отображение) к полю? на диаграмме в первую очередь нужно увидеть связь между таблицами, а уж по каким полям это можно и отдельно посмотреть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 18:05 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
ScarferNV две таблицы . В первой таблицы имеется Primary Key , а во второй таблице есть два поля , каждый из которых имеет Foreign Key ссылающийся на ключ из первой таблице . По русски же написано : не просто абстрактные связи между двумя таблицами вообще, а два поля (вторичных ключа) из второй таблицы ссылаются одновременно на один и тот же ключ (первичный) из первой таблицы. Какая СУБД может автоматически без ручных докруток, запросов и скриптов поддержать в этом случае целостность, каскадное удаление, каскадное изменение, а тем более связь по разнородным ключам (как в примерах выше- один ключ текст, второй число )? Просто скажите типа "Я Пупкин - отвечаю за свои слова - Оракл поддерживает" .... всё... больше ничего ни от кого не нужно... спросивший будет знать куда и зачем идти... и тема будет закрыта (надеюсь...) Схема была выше на рисунке (для тех кто опять не понял смысл)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 22:49 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
vmag, ну че ты разорался любая нормальная СУБД это делает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 23:58 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
ScarferNVПрошу вашего совета. Раньше проектирование БД не занимался, сейчас возникла необходимость. Короче ответ будет такой : Пилите Шура... Пилите... Они золотые... (Паниковский в Золотом теленке по поводу украденных гирь) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 03:27 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
Всем привет. Такой вот вопрос. Похож на тот что в теме. Есть 2 сущности. Одна Пользователь, вторая Сообщение. В Сообщение есть 2 атрибута: ид_отправителя и ид_получателя. Все они ссылаются на ид Пользователь. Имеет ли такая схема шанс на существование. В том смысле не нарушает ли они принципы проектирования БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2014, 19:35 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
KolobochekИмеет ли такая схема шанс на существование. Имеет. KolobochekВ том смысле не нарушает ли они принципы проектирования БД?Не нарушает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2014, 21:39 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
KolobochekТакой вот вопрос. Похож на тот что в теме. Есть 2 сущности. Одна Пользователь, вторая Сообщение. В Сообщение есть 2 атрибута: ид_отправителя и ид_получателя. Все они ссылаются на ид Пользователь. Имеет ли такая схема шанс на существование. В том смысле не нарушает ли они принципы проектирования БД? Здесь все ИД однотипные , если даже это реализовать явно не получится, то можно реализовать кодингом, запросами и т.д. главное при реализации проекта помнить и держать свою схему в голове - если в голове не будет противоречий, то будет и существование и принципы... это применительно к вашему случаю... Самое главное не доводить дело до абсурда типа: - один нарисовал две абстрактные таблицы с миллионом связей между ними по разношерстным полям (и считает себя гением - типа краткость сестра таланта и в сущности влезать не барское дело) - второй поставил визу "Реализовать" - третий ежика родил - но как то реализовал... - деньги попилили... - а потом вся страна смотрит телевизор и хором кричит: Мля... глонас упал в океан.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2014, 00:12 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
vmag Здесь все ИД однотипные , если даже это реализовать явно не получится, то можно реализовать кодингом, запросами и т.д. главное при реализации проекта помнить и держать свою схему в голове - если в голове не будет противоречий, то будет и существование и принципы... это применительно к вашему случаю... Самое главное не доводить дело до абсурда типа: - один нарисовал две абстрактные таблицы с миллионом связей между ними по разношерстным полям (и считает себя гением - типа краткость сестра таланта и в сущности влезать не барское дело) - второй поставил визу "Реализовать" - третий ежика родил - но как то реализовал... - деньги попилили... - а потом вся страна смотрит телевизор и хором кричит: Мля... глонас упал в океан.... Ну опять Вы за свое? Ну зачем все держать в голове, когда есть ER-диаграммы. Что значит явным образом? В большинстве СУБД это реализуется как раз скриптами. Про абсурд Вы конечно правы, но зачем это было расписывать, когда вопрос звучал так: авторИмеет ли такая схема шанс на существование. В том смысле не нарушает ли они принципы проектирования БД? Нет не нарушает - это нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2014, 10:35 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
Был вариант реализовать как на диаграмме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2014, 21:30 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
Kolobochek, Ну да... что то в этом есть, оригинально: юзер и отправитель и получатель и даже сам себе может отправить, и просто - дальше некуда и любая СУБД подойдет на ура и со скриптами париться не нужно и голову засирать не нужно - сделал и забыл... РЕСПЕКТ !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2014, 00:18 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
KolobochekБыл вариант реализовать как на диаграмме А нафига две промежуточные таблицы? Sender recipient ? А вообще топик повеселил... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2014, 11:45 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
vmagKolobochek, Ну да... что то в этом есть, оригинально: юзер и отправитель и получатель и даже сам себе может отправить, и просто - дальше некуда и любая СУБД подойдет на ура и со скриптами париться не нужно и голову засирать не нужно - сделал и забыл... РЕСПЕКТ !!! Что это значит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2014, 12:48 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
Что в этой схеме не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2014, 20:07 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
Kolobochek, Не то чтобы не так - просто смысл в таблицах sender и recepient есть только в том случае, если одни юзеры могут только посылать сообщения, а другие - только принимать. Если все могут и посылать и принимать - гораздо проще делать просто 2 ссылки на таблицу user, как и обсуждалось с начала топика. Это совершенно нормальная практика, не нужно придумывать пути ее обхода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2014, 21:02 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
KolobochekЧто это значит? Это значит что все просто замечательно, удачное решение, я разве сказал что-то плохое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2014, 21:42 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
KolobochekЧто в этой схеме не так? В ней 50% лишних таблиц... а так все норм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2014, 00:42 |
|
||
|
Вопрос в связи двух таблиц
|
|||
|---|---|---|---|
|
#18+
vmagKolobochekЧто это значит? Это значит что все просто замечательно, удачное решение, я разве сказал что-то плохое? Я усмотрел в вашем ответу ноту сарказма. Может я и не прав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2014, 09:21 |
|
||
|
|

start [/forum/topic.php?all=1&fid=32&tid=1540901]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
156ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 264ms |
| total: | 534ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...