
    Новые сообщения [новые: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: | 14ms | 
| check forum access: | 3ms | 
| check topic access: | 3ms | 
| track hit: | 45ms | 
| get topic data: | 11ms | 
| get forum data: | 3ms | 
| get page messages: | 53ms | 
| get tp. blocked users: | 1ms | 
| others: | 249ms | 
| total: | 391ms | 

 
    | 0 / 0 | 
