42 Кб, 1280x1280
Какие типы связей могут быть в системе объектов, как называется соотв. раздел математики или может не математики? В теории множеств есть например бинарная связь. Или в графах, могут быть связи с не просто "весами", а с разными свойствами?
ПОПРОБУЮ ПРИВЕСТИ НЕЙТРАЛЬНЫЙ ПРИМЕР, В ЧЕМ ВОПРОС
Пусть есть два типа объектов, например "учитель в школе" и "факультатив в школе", пусть между ними есть отношение "принадлежность(?) - не совсем то, но назовем так" many to many: учитель преподает несколько факультативов, а факультатив могут вести разные учителя, подменяя друг друга. Почему беру факультатив, а не класс - чтобы была вещь изменчивая: то есть регулярно создаются новые, завершаются старые факультативы.
На эту связь нужно "навесить" еще расписание: конкретный учитель преподает конкретный факультатив по таким то дням и часам. "Расписание" само по себе - не уверен: логически это отдельное отношение, или "это свойство" отношения "принадлежность"?
В нормализованной реляционной базе данных понятно, создается таблица-отношение (пусть THAT_RELATION_TABLE), где есть поля "учитель", "факультатив", "расписание".
Но допустим, в целях простоты ведения информации человеками, мы хотим добавить бизнес-логики к тому, как логически вычисляется отношение "принадлежность" учителя факультативу или факультативу учителю. Эта логика может быть любой, например пусть где-то (напр. в таблице факультативов) хранится флаг, что для конкретного факультатива, принадлежность инвертируется, его могут вести все учителя, кроме указанных.
То есть логическое отношение "принадлежность" и техническое отношение в таблице THAT_RELATION_TABLE - уже не тождественные вещи.
И пусть логика вычисления "расписания" тоже меняется, оно может быть по умолчанию (напр хранится в таблице факультативов), а может быть явно указанным.
В этом случае, "расписание" учителя, которое хранилось в таблице THAT_RELATION_TABLE уже негде хранить, т.к. оно должно храниться для записей, которые отсутствуют.
Тогда, как я понимаю, надо разделить логические отношения "принадлежность" и "расписание" по двум разным таблицам.
На основании одной таблицы вычисляется "принадлежность" по какой-то логике (флага инвертации нет - берем все записи из THAT_RELATION_TABLE, есть - берем всех учителей кроме записей из THAT_RELATION_TABLE),
А на основании другой таблицы вычисляется расписание: если запись есть, берется оно, если нет, берется по умолчанию из таблицы факультативов.
ВОПРОСЫ В СЛЕДУЮЩЕМ:
Это верная цепь рассуждений, или ошибочная.
Является ли "расписание" отношением, или я использую неверную терминологию.
Как формально языком математики описать необходимость разделения отношений на два, или их изначально и было два, но по началу они были тождественны, и укладывались в одну таблицу THAT_RELATION_TABLE, а с добавлением бизнес логики стали не тождественны.
Что тут чему тождественно, что нет.
Что будет если добавить третье отношение типа конкретный учитель на конкретном факультативе использует какой-нибудь объект Z (типа костюм, который зависит от лунной фазы, которое определяется по расписанию), и мы хотим вести и список Z и отношения с ним тоже.
Вопрос скорее математический, чем по базам данных, я хочу понять, почему обычное решение по заведению таблицы для логической связи many to many тут оказывается недостаточным при описанной бизнес логике, и как это заранее можно понять (подозреваю, что дело в тождественности отношений в одном случае и нетождественности в другом).
И еще, боле философский, вопрос, какие еще виды отношений бывают в природе в принципе, и сводятся ли все они в случае бинарных отношений к бинарному отношению из теории множеств, зачем тогда встречается например "принадлежность" (не в том смысле, что выше написал, а в смысле 1 to many), где об этом можно почитать.
ПОПРОБУЮ ПРИВЕСТИ НЕЙТРАЛЬНЫЙ ПРИМЕР, В ЧЕМ ВОПРОС
Пусть есть два типа объектов, например "учитель в школе" и "факультатив в школе", пусть между ними есть отношение "принадлежность(?) - не совсем то, но назовем так" many to many: учитель преподает несколько факультативов, а факультатив могут вести разные учителя, подменяя друг друга. Почему беру факультатив, а не класс - чтобы была вещь изменчивая: то есть регулярно создаются новые, завершаются старые факультативы.
На эту связь нужно "навесить" еще расписание: конкретный учитель преподает конкретный факультатив по таким то дням и часам. "Расписание" само по себе - не уверен: логически это отдельное отношение, или "это свойство" отношения "принадлежность"?
В нормализованной реляционной базе данных понятно, создается таблица-отношение (пусть THAT_RELATION_TABLE), где есть поля "учитель", "факультатив", "расписание".
Но допустим, в целях простоты ведения информации человеками, мы хотим добавить бизнес-логики к тому, как логически вычисляется отношение "принадлежность" учителя факультативу или факультативу учителю. Эта логика может быть любой, например пусть где-то (напр. в таблице факультативов) хранится флаг, что для конкретного факультатива, принадлежность инвертируется, его могут вести все учителя, кроме указанных.
То есть логическое отношение "принадлежность" и техническое отношение в таблице THAT_RELATION_TABLE - уже не тождественные вещи.
И пусть логика вычисления "расписания" тоже меняется, оно может быть по умолчанию (напр хранится в таблице факультативов), а может быть явно указанным.
В этом случае, "расписание" учителя, которое хранилось в таблице THAT_RELATION_TABLE уже негде хранить, т.к. оно должно храниться для записей, которые отсутствуют.
Тогда, как я понимаю, надо разделить логические отношения "принадлежность" и "расписание" по двум разным таблицам.
На основании одной таблицы вычисляется "принадлежность" по какой-то логике (флага инвертации нет - берем все записи из THAT_RELATION_TABLE, есть - берем всех учителей кроме записей из THAT_RELATION_TABLE),
А на основании другой таблицы вычисляется расписание: если запись есть, берется оно, если нет, берется по умолчанию из таблицы факультативов.
ВОПРОСЫ В СЛЕДУЮЩЕМ:
Это верная цепь рассуждений, или ошибочная.
Является ли "расписание" отношением, или я использую неверную терминологию.
Как формально языком математики описать необходимость разделения отношений на два, или их изначально и было два, но по началу они были тождественны, и укладывались в одну таблицу THAT_RELATION_TABLE, а с добавлением бизнес логики стали не тождественны.
Что тут чему тождественно, что нет.
Что будет если добавить третье отношение типа конкретный учитель на конкретном факультативе использует какой-нибудь объект Z (типа костюм, который зависит от лунной фазы, которое определяется по расписанию), и мы хотим вести и список Z и отношения с ним тоже.
Вопрос скорее математический, чем по базам данных, я хочу понять, почему обычное решение по заведению таблицы для логической связи many to many тут оказывается недостаточным при описанной бизнес логике, и как это заранее можно понять (подозреваю, что дело в тождественности отношений в одном случае и нетождественности в другом).
И еще, боле философский, вопрос, какие еще виды отношений бывают в природе в принципе, и сводятся ли все они в случае бинарных отношений к бинарному отношению из теории множеств, зачем тогда встречается например "принадлежность" (не в том смысле, что выше написал, а в смысле 1 to many), где об этом можно почитать.
>>79028 (OP)
Это computer science, не математика.
Читай Кристофера Дейта и его последователей.
Что-то по теме есть на архиве.
Это computer science, не математика.
Читай Кристофера Дейта и его последователей.
Что-то по теме есть на архиве.
>>80704
А если рассматривать компьютер как математический объект?
А если рассматривать компьютер как математический объект?
Эта сфера математики называется теория категорий.
У этой дисциплины сложная история, она то воспринмалась как спасение, то сдавалась в утиль.
Что почитать - Joy of cats. Но это скорее ТК для программистов. Больше ничего специально не читал, только отрывки из учебников.
Гугли любые учебники МТИ/Беркли/Гарварда - не ошибёшься. В принципе, написать дерьмовый учебник по математике довольно сложно (хотя можно непонятный, я не дурак вроде, но стиль изложения в духе Гельфанда, Ландау и пр просто в рот ебал), так что можно брать любой хорошо написанный.
Ты такие вещи не говори.jpg
Философия - не об эмпирике, а об аналитике, заруби это себе на носу, иначе поедешь кукухой и станешь очередным фриком по типу марксистов или платоников. Наша задача - модели. Модели не дают ответов на эмпирические вопросы. Просто запомни, а лучше пойми эту мысль.
У этой дисциплины сложная история, она то воспринмалась как спасение, то сдавалась в утиль.
Что почитать - Joy of cats. Но это скорее ТК для программистов. Больше ничего специально не читал, только отрывки из учебников.
Гугли любые учебники МТИ/Беркли/Гарварда - не ошибёшься. В принципе, написать дерьмовый учебник по математике довольно сложно (хотя можно непонятный, я не дурак вроде, но стиль изложения в духе Гельфанда, Ландау и пр просто в рот ебал), так что можно брать любой хорошо написанный.
>философский
>какие ещё виды отношений бывают в природе
Ты такие вещи не говори.jpg
Философия - не об эмпирике, а об аналитике, заруби это себе на носу, иначе поедешь кукухой и станешь очередным фриком по типу марксистов или платоников. Наша задача - модели. Модели не дают ответов на эмпирические вопросы. Просто запомни, а лучше пойми эту мысль.
39 Кб, 1011x121
>>81227
По пизде поедут все нетривиальные примеры. ТК для программистов не существует.
>Но это скорее ТК для программистов.
По пизде поедут все нетривиальные примеры. ТК для программистов не существует.
>>79028 (OP)
В теории множеств упорядоченная пара - это то, что у тебя на оппике - это не какая-то фундаментальный тип связи, это тоже такие особенные множества вида, например, {{a},{a,b}}. И уже на основе упорядоченных пар строятся бинарные и любые другие отношения. Можно было бы сказать, что в теории множеств фундаментальное отношение принадлежности между элементами и их множествами, но это тоже не так, это грамматика самого языка, на котором математика записывается.
В теории множеств упорядоченная пара - это то, что у тебя на оппике - это не какая-то фундаментальный тип связи, это тоже такие особенные множества вида, например, {{a},{a,b}}. И уже на основе упорядоченных пар строятся бинарные и любые другие отношения. Можно было бы сказать, что в теории множеств фундаментальное отношение принадлежности между элементами и их множествами, но это тоже не так, это грамматика самого языка, на котором математика записывается.