Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
05.06.2021, 13:14
|
|||
---|---|---|---|
|
|||
Организовать связь записей в одной таблице |
|||
#18+
Здравствуйте. Есть таблица Человек. У каждого человека есть множество дружеских и деловых связей из таких же людей из этой же таблицы. Как правильно схематично нарисовать эту связь? Нужны ли дополнительные таблицы и как будет организована связь между ними? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.06.2021, 13:16
|
|||
---|---|---|---|
|
|||
Организовать связь записей в одной таблице |
|||
#18+
Обычная связь M:N, сразу из учебника. Да, в физической модели будет дополнительная таблица. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.06.2021, 13:33
|
|||
---|---|---|---|
|
|||
Организовать связь записей в одной таблице |
|||
#18+
Dimitry Sibiryakov, Сложность в том, что таблица одна. Как сделать m:n для одной таблицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.06.2021, 13:44
|
|||
---|---|---|---|
|
|||
Организовать связь записей в одной таблице |
|||
#18+
В логической модели - кривая (кольцевая) связь. В физической - таблица связи с двумя FK на главную. В чём проблема-то? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.06.2021, 13:51
|
|||
---|---|---|---|
|
|||
Организовать связь записей в одной таблице |
|||
#18+
Таблица "лицо" у него ключевое поле лицо_id Таблица "Связь" у не ключевое поле связь_id и два поля "лицо1_id" и "лицо2_id" Поля "лицо1_id" и "лицо2_id" связаны с лицо_id? Так? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.06.2021, 13:53
|
|||
---|---|---|---|
|
|||
Организовать связь записей в одной таблице |
|||
#18+
SilbermannПоля "лицо1_id" и "лицо2_id" связаны с лицо_id? Так? Да. Разве это не самоочевидно?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.06.2021, 13:54
|
|||
---|---|---|---|
|
|||
Организовать связь записей в одной таблице |
|||
#18+
Я делаю в access, он мне пишет, что не сможет обеспечить целостность данных ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.06.2021, 14:02
|
|||
---|---|---|---|
|
|||
Организовать связь записей в одной таблице |
|||
#18+
Так делай в приличной СУБД. MS SQL, например. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.06.2021, 14:18
|
|||
---|---|---|---|
|
|||
Организовать связь записей в одной таблице |
|||
#18+
Dimitry Sibiryakov, Нет выбора, к сожалению ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.06.2021, 16:13
|
|||
---|---|---|---|
Организовать связь записей в одной таблице |
|||
#18+
Silbermann Я делаю в access, он мне пишет, что не сможет обеспечить целостность данных Значит, есть ссылка на отсутствующую строку. Не? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.06.2021, 17:06
|
|||
---|---|---|---|
|
|||
Организовать связь записей в одной таблице |
|||
#18+
Не, просто аксесс такой тупой, что не умеет в foreign key. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2021, 12:55
|
|||
---|---|---|---|
Организовать связь записей в одной таблице |
|||
#18+
Dimitry Sibiryakov Не, просто аксесс такой тупой, что не умеет в foreign key. Что-то не понял. Можно попа дробнее объяснить? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2021, 13:00
|
|||
---|---|---|---|
|
|||
Организовать связь записей в одной таблице |
|||
#18+
Silbermannон мне пишет, что не сможет обеспечить целостность данных Куда уж подробнее?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2021, 14:07
|
|||
---|---|---|---|
Организовать связь записей в одной таблице |
|||
#18+
Dimitry Sibiryakov Silbermannон мне пишет, что не сможет обеспечить целостность данных Куда уж подробнее?.. Вроде всегда можно задать целостность и с внешним ключом, если все записи в родительской таблице присутствуют. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2021, 14:09
|
|||
---|---|---|---|
Организовать связь записей в одной таблице |
|||
#18+
Silbermann Я делаю в access, он мне пишет, что не сможет обеспечить целостность данных Вы бы кусочек БД здесь выложили с двумя внешними ключами. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2021, 15:57
|
|||
---|---|---|---|
Организовать связь записей в одной таблице |
|||
#18+
Silbermann Сложность в том, что таблица одна. Как сделать m:n для одной таблицы? Silbermann У каждого человека есть множество дружеских и деловых связей из таких же людей из этой же таблицы. Silbermann Я делаю в access, Никак, физически будет еще пару таблиц ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2021, 16:15
|
|||
---|---|---|---|
Организовать связь записей в одной таблице |
|||
#18+
vmag Silbermann Сложность в том, что таблица одна. Как сделать m:n для одной таблицы? Silbermann У каждого человека есть множество дружеских и деловых связей из таких же людей из этой же таблицы. Silbermann Я делаю в access, Никак, физически будет еще пару таблиц Разве еще всего лишь одной не обойтись? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2021, 16:35
|
|||
---|---|---|---|
|
|||
Организовать связь записей в одной таблице |
|||
#18+
Silbermann Здравствуйте. Есть таблица Человек. У каждого человека есть множество дружеских и деловых связей из таких же людей из этой же таблицы. Как правильно схематично нарисовать эту связь? Нужны ли дополнительные таблицы и как будет организована связь между ними? Спасибо! Делаю в Access, получаю три таблицы: Люди, Связи, ТипыСвязи. В Люди два поля - face_id (счётчик, ключевое поле) и face_name, В Связи - четыре - Код (счётчик, ключевое поле), Лицо1 (числовое, длинное целое), Лицо2 (числовое, длинное целое), ТипСвязи (числовое, длинное целое В ТипыСвязи - КодСвязи (счётчик, ключевое поле) и Связь (короткий текст) Надеюсь, схема связей прикрепится нормально, и не придётся ничего объяснять. Код SQL-запроса дублирует схему связей между таблицами. SELECT Связи.Код, ТипыСвязи.Связь, Люди.face_name, Люди_1.face_name FROM ТипыСвязи INNER JOIN (Люди INNER JOIN (Люди AS Люди_1 INNER JOIN Связи ON Люди_1.face_id = Связи.Лицо2) ON Люди.face_id = Связи.Лицо1) ON ТипыСвязи.КодСвязи = Связи.ТипСвязи; ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2021, 16:37
|
|||
---|---|---|---|
|
|||
Организовать связь записей в одной таблице |
|||
#18+
Обращаю внимание, что таблица Люди на схеме и в запросе присутствует в двух экземплярах - отдельно для поля Лицо1 и отдельно для поля Лицо2 таблицы Связи. Собственно, таблица Связи отвечает за отношение многие-ко-многим людей, а ТипыСвязи - для нормализации данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2021, 16:39
|
|||
---|---|---|---|
Организовать связь записей в одной таблице |
|||
#18+
DaniilSeryi, Таблица ТипыСвязи не очень-то и нужна. Если только типов связи будет ну ОЧЕНЬ много. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2021, 16:40
|
|||
---|---|---|---|
|
|||
Организовать связь записей в одной таблице |
|||
#18+
ИВП DaniilSeryi, Таблица Тип_Связи не очень-то и нужна. Если только типов связи будет ну ОЧЕНЬ много. Да я и не спорю. Привычка просто нормализовать то, что можно нормализовать. Ну и своим студентам за её отсутствие снял бы балл, если бы задание давал на разработку такой БД. Ну или, наоборот, добавил бы - смотря насколько в предмет углубиться успели. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2021, 16:46
|
|||
---|---|---|---|
|
|||
Организовать связь записей в одной таблице |
|||
#18+
В такой схеме есть проблема с "групповой связью", когда связаны более чем два человека, и со связью без иерархии когда при поиске неважно будет ли лицо искомое первым или вторым. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2021, 16:56
|
|||
---|---|---|---|
|
|||
Организовать связь записей в одной таблице |
|||
#18+
Dimitry Sibiryakov В такой схеме есть проблема с "групповой связью", когда связаны более чем два человека, и со связью без иерархии когда при поиске неважно будет ли лицо искомое первым или вторым. Групповая связь - это уже добавлять сущности групп придётся, хм? И взаимоотношения групп между собой заодно. А связь без иерархии - по идее, эта проблема решается в запросе поиска добавлением условия OR, нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2021, 17:41
|
|||
---|---|---|---|
Организовать связь записей в одной таблице |
|||
#18+
DaniilSeryi елаю в Access, получаю три таблицы: Люди, Связи, ТипыСвязи. Так для студентов с акцессом будет норм, пока с клиентом болтал, не успел выложить свой нарисованный на скорую руку вариант, который близнец вашему оказался... Несколько дополнений от меня: - Просто таблица Связи без ничего - избыточна, это как Петя+Коля написанное на заборе (ни о чем)... - Тип связи несколько добавляет смысла таблице Связи... - Возможно в ней будут и дополнительные поля типа период (для брака например), документ регламентирующий отношения. ну и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=32&mobile=1&tid=1539793]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 263ms |
total: | 428ms |
0 / 0 |