powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как объяснить напарнику неправильность кольцевой связи?
20 сообщений из 20, страница 1 из 1
Как объяснить напарнику неправильность кольцевой связи?
    #38865830
Fizpok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Напарник спроектировал базу и сущности с кольцевой связью, у меня дикий батхерт при одном взгляде на эту структуру.

Не прошу помочь в переделке, только лишь на что сослаться, что-бы объяснить неправильность такой реализации?
Спасибо.



...
Рейтинг: 0 / 0
Как объяснить напарнику неправильность кольцевой связи?
    #38865874
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С учетом направления связей кольца не вижу.

И поясните назначение таблиц, а то есть ощущение, что их слишком много.
Смысла в двух таблицах-связках testresult и result_testresult не вижу. Скорее всего, нужна только одна из них.
И что такое "Тест" - это сеанс тестирования или набор тестовых вопросов?
И почему дублируется поле questionName? И зачем хранить неправильные ответы? А где хранятся тексты ответов?
...
Рейтинг: 0 / 0
Как объяснить напарнику неправильность кольцевой связи?
    #38865884
Fizpok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft, сам теряюсь в догадках. У меня при виде кольца мозг парализуется.
Я именно и хочу ему доказать , что проектирование не правильное.
Так-то мне проще убить и самому с нуля сделать. Но бизнес-логикой занимается он.

Не могли бы Вы объяснить, почему возможно здесь нет избыточности связей? Они все у него bidirectional.
...
Рейтинг: 0 / 0
Как объяснить напарнику неправильность кольцевой связи?
    #38865889
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FizpokОни все у него bidirectional.Вертикальные связи на картинке с сущностями не bidirectional,
...
Рейтинг: 0 / 0
Как объяснить напарнику неправильность кольцевой связи?
    #38865892
Fizpok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftFizpokОни все у него bidirectional.Вертикальные связи на картинке с сущностями не bidirectional,
Один-ко-многим bidirectional :(
...
Рейтинг: 0 / 0
Как объяснить напарнику неправильность кольцевой связи?
    #38865893
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FizpokЯ именно и хочу ему доказать , что проектирование не правильное.Придумайте контрпример. Т.е. ситуацию, допустимую с точки зрения бизнес-логики, но которую нельзя отобразить в такой структуре данных. Или, наоборот, можно отобразить несколькими способами.

Ну и более мелкие огрехи можно найти, например, дублирование данных или неатомарные (без веского на то повода) данные.

Трудно сказать что-то точно, не зная предметной области.
...
Рейтинг: 0 / 0
Как объяснить напарнику неправильность кольцевой связи?
    #38865894
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FizpokОдин-ко-многим bidirectionalЭто как?
Я не спец в такой терминологии, но в моем понимании bidirectional - это многие-ко-кногим.
...
Рейтинг: 0 / 0
Как объяснить напарнику неправильность кольцевой связи?
    #38865963
Fizpok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftFizpokОдин-ко-многим bidirectionalЭто как?

A <---> B - сущность А знает, как найти сущность В (хранит его индекс) и сущность В хранит индекс сущности А - bidirectional
A <----- B - сущность А знает, как найти сущность В (хранит его индекс), а сущность В не хранит индекс сущности А - unidirectional

К типам связей "один-ко-многим" и "многие-ко-многим" это не имеет никакого отношения.
...
Рейтинг: 0 / 0
Как объяснить напарнику неправильность кольцевой связи?
    #38865965
Fizpok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftFizpokЯ именно и хочу ему доказать , что проектирование не правильное.Придумайте контрпример. Т.е. ситуацию, допустимую с точки зрения бизнес-логики, но которую нельзя отобразить в такой структуре данных. Или, наоборот, можно отобразить несколькими способами.

Ну и более мелкие огрехи можно найти, например, дублирование данных или неатомарные (без веского на то повода) данные.


Думал уже об этом. Но я бы хотел указать на некоторое место в теории реляционной модели, подтверждающее что я прав. Или что я не прав.
...
Рейтинг: 0 / 0
Как объяснить напарнику неправильность кольцевой связи?
    #38866155
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблица testresult и впрямь лишняя. Никакого "кольца" нет. Правда, есть один нюанс (с) с ответами сотрудника - нет связи между вопросами теста и данными на них ответами. Ответы-то есть (в result_testresul), но вот на какой вопрос теста дан конкретный ответ - загадка :) Может так случиться, что ответ будет дан на вопрос, который в тесте и вовсе отсутствует :)
FizpokA <---> B - сущность А знает, как найти сущность В (хранит его индекс) и сущность В хранит индекс сущности А - bidirectionalНу и где в таблицах хоть одна такая связь?

Fizpokна что сослаться, что-бы объяснить неправильность такой реализации?на
Fizpokдикий батхерт при одном взгляде на эту структуру
...
Рейтинг: 0 / 0
Как объяснить напарнику неправильность кольцевой связи?
    #38866165
AO_MMM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Fizpokу меня дикий батхерт при одном взгляде на эту структуруЕсли ты чего-то не можешь объяснить, значит это "чего-то" ты и сам не понимаешь. А выдаёшь одни эмоции.
...
Рейтинг: 0 / 0
Как объяснить напарнику неправильность кольцевой связи?
    #38866350
Mikle83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AO_MMMЕсли ты чего-то не можешь объяснить, значит это "чего-то" ты и сам не понимаешь. А выдаёшь одни эмоции.
+1.
Иногда стоит отказаться от шаблонного мышления и "книжных" постулатов.
Если нет иных аргументов, кроме как "это противоречит какому-то там общепринятому правилу" - имхо не аргумент.

FizpokОни все у него bidirectional.

Внимательно посмотрите на связи question <-> testquestion question <-> result никак не bidirectional.
Теория кольца не состоятельна.
...
Рейтинг: 0 / 0
Как объяснить напарнику неправильность кольцевой связи?
    #38866509
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FizpokНапарник спроектировал базу и сущности с кольцевой связью, у меня дикий батхерт при одном взгляде на эту структуру
Меняйте мозг.

Fizpok Не прошу помочь в переделке, только лишь на что сослаться, что-бы объяснить неправильность такой реализации?
На необъяснимые религиозные предрассудки.
...
Рейтинг: 0 / 0
Как объяснить напарнику неправильность кольцевой связи?
    #38866646
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fizpok Не прошу помочь в переделке, только лишь на что сослаться, что-бы объяснить неправильность такой реализации?


Ничего неправильного тут я не вижу (может конечно какую -то мелочь просмотрел).

"Кольцевой связи" здесть также нет.

Но даже если бы она была -- это вполне допустимо, ничего неправильного тут нет.
Примером "кольцевой связи" может служить простая таблица Person

Код: plaintext
PERSON( person_id : father_id ref PERSON null, mother_id ref PERSON null);
...
Рейтинг: 0 / 0
Как объяснить напарнику неправильность кольцевой связи?
    #38866763
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv

Примером "кольцевой связи" может служить простая таблица Person

Код: plaintext
PERSON( person_id : father_id ref PERSON null, mother_id ref PERSON null);

Вообще-то что имел в виду под "кольцевой связи" ТС точно не известно. Можно предположить, к примеру, что термин взят из топологий компьютерных сетей. И как бы компьютеры на схеме заменены таблицами.
...
Рейтинг: 0 / 0
Как объяснить напарнику неправильность кольцевой связи?
    #38866921
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoMasterZiv
Примером "кольцевой связи" может служить простая таблица Person

Код: plaintext
PERSON( person_id : father_id ref PERSON null, mother_id ref PERSON null);

Вообще-то что имел в виду под "кольцевой связи" ТС точно не известно. Можно предположить, к примеру, что термин взят из топологий компьютерных сетей. И как бы компьютеры на схеме заменены таблицами.

Безусловно, коллега.
...
Рейтинг: 0 / 0
Как объяснить напарнику неправильность кольцевой связи?
    #38867240
underW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста, в какой программе были нарисованы схемы?
...
Рейтинг: 0 / 0
Как объяснить напарнику неправильность кольцевой связи?
    #38868310
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
избыточность связей можно объяснить процессом возникновения записей в таблицах
топик порождает задание,
задание порождает тесты,
тесты порождают результаты,
результаты порождают ... задания?
зачем эта порочная связь?
вот вам и избыточность,
хотя ее необходимость можно объяснить повышением производительности при запросах
но разработчику нужно будет внимательно следить чтобы эта связь
результата и задания дублировалась при возникноении
...
Рейтинг: 0 / 0
Как объяснить напарнику неправильность кольцевой связи?
    #38868311
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя если результаты порождают новое задание,
тогда эта схема правильна,
и связь не циклична а иерархична
...
Рейтинг: 0 / 0
Как объяснить напарнику неправильность кольцевой связи?
    #38869714
PAPA_RimskY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
underW,

верхняя схема это MySQL Workbench
нижняя похожа на Eclipse
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как объяснить напарнику неправильность кольцевой связи?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]