
Vladislav
13.06.2017
17:48:05
Есть в каком нибудь редакторе схема? А то так очень тяжело воспринимается...
И еще раз четко сформулировать задание

Al
13.06.2017
17:48:06
Я сейчас вообще через кассандру пытаюсь продратся. Интересно, но заверчено как в детективе. Надеюсь что убийца не панда.

Yury
13.06.2017
17:49:38
А если не умеешь нормальные формы, то можно сослаться на то, что применил везде вертикальный партишенинг из-за соображений безопасности ?

Рома
13.06.2017
17:49:58

Google

lost
13.06.2017
17:50:09

Yury
13.06.2017
17:58:30
Сейчас походу не модно стало строить ER диаграммы, там можно сразу третью форму получить, если убрать транзитивные связи между сущностями и не будет weak entity. И если везде еще искуственные ключи фигачить

Vladislav
13.06.2017
18:46:21
А кто может накидать названий olap'ов, которые имеют фри/комьюнити/opensource версии?
Желательно, которые не стыдно в прод закинуть?

Al
13.06.2017
18:56:13

Vladislav
13.06.2017
18:56:40
Чтобы работало нормально, а не просто имело бирку "olap"

Al
13.06.2017
19:14:32

Denis
14.06.2017
06:10:45
Доброе утро. Подскажите, как обычно реализуется хранение деревьев в реляционных БД, когда паренты могут ссылаться на разные сущности? Например организационная структура предприятия

Al
14.06.2017
06:12:06

Denis
14.06.2017
06:19:38
Указывать явно, типа Id, ParentId не получится, т.к. FK не может ссылаться на разные PK. Вот и интересуюсь, как правильно такие вещи хранят

Al
14.06.2017
06:22:10
Там вообщ завал с сесиями
?
Представляйте что вы все хотите хранить в табличке экселя

Google

Al
14.06.2017
06:22:42
Юзер | отдел
Какие нафиг деревья

Алексей
14.06.2017
06:26:05
Юзер может включать в себя весь отдел? Странненько
Не проще ли сделать как посоветовал Al выше.
Таблица юзеров и таблица отделов.
У юзеров добавить поле "начальник (или кто он там) для отдела: ", ссылающееся на отдел по id.
Ну и поле для указания родителя, разумеется, добавить надо.

Al
14.06.2017
06:28:05
Я так подозреваю что там 50 юзеров и 7 отделов. Проще бабушку с блокнотом посадить. Пусть рисует.

Denis
14.06.2017
06:28:41
Спасибо за ответы, так действительно будет проще, в данном случае.

Al
14.06.2017
06:37:56
Все счастливы
2 таблички по 2 колонки
Не считая ид
Предлагаю растреливать за предложения строить графы :)

Denis
14.06.2017
06:47:47
Предлагаю растреливать за предложения строить графы :)
Вы правы, я совершенно не разбираюсь в базах данных. Поэтому и задал вопрос знающим людям. Я правильно Вас понял, что строить подобные вещи с перекрестными ссылками на разные таблицы в отдельных таблицах в корне не верный подход?

Konstantin
14.06.2017
06:48:51
Не самый разумный

Al
14.06.2017
06:48:59
Бд это грубо говоря шкаф с бамажками.
Пометили каждый листик (ид, номер отдела.. сколько должен..) и потом достаете когда нужно и подставдяете по месту
И ведь картотеку библиотечную в пример не приведешь. Большинство уже и не знают что такое библиотеки:)

Алексей
14.06.2017
06:55:33

Sergio
14.06.2017
06:57:00
dll? ?
https://s00.yaplakal.com/pics/pics_original/2/9/8/415892.jpg

Denis
14.06.2017
07:07:22
Зачем? Зачем отражать в бд то как работает логика приложения?
Т.е. не нужно ничего усложнять и как-то пытаться группировать. К примеру в системе есть таблицы "Организация" и "Пользователь" у каждого из них может быть свой баланс. В каждую таблицу добавить такую колонку и всё? Тогда для логирования операций по счетам организаций делать отдельную таблицу, а по счетам пользователей отдельную? и если мне нужно будет вывести общий лог то делать выборку из обоих таблиц и мерджить их?

Al
14.06.2017
07:14:55

Google

Al
14.06.2017
07:16:37
Смысл бд это долгосрочное структурированное хранение переменных в больших обьемах.

Denis
14.06.2017
07:23:49
Спасибо за ответы.

Al
14.06.2017
07:41:37
Спасибо за ответы.
Просто смотри на это так.
Есть например юзеры и у них есть какие то признаки у каждого. Отдел в котором работают. Рост. Цвет машины.
Есть отделы и у них у каждого тоже есть какие то признаки. Начальник. Количество стульев. Этаж. Цвет двери.
Ну и так далее.
Делаешь таблички и заносишь в них данные.
А потом можешь делать выборки по любым признакам включая сложные типа какого цвета дверь открывает сотрудник ростом 190см на красной машине.
Краткий вводный курс в базы данных от дальнобойщика. Гыы

Denis
14.06.2017
10:34:58

Anton
14.06.2017
10:44:16
возьми графовую бд и не парься. будет удобно хранить и манипулировать - neo4j, например.

Fike
14.06.2017
10:44:47

Anton
14.06.2017
10:45:30
?

Fike
14.06.2017
10:49:17
тут по-моему раза три за последнюю неделю схлестывались за оправданность использования графовых бд и рациональность хранения тех же графов в плоском виде в реляционке

Anton
14.06.2017
10:53:12
ну зависит от задачи, на больших графах у графовых бд начинаются проблемы и жить становится сложно. но для небольших - вот как раз всякие там огранизационные структуры, деревья зависимостей чего-либо. вай нот, удобнее же выходит, имхо

Konstantin
14.06.2017
11:01:16
Вопросец есть: есть большая таблица с данными торгов между людьми, содержит поля Продавец, Покупатель, Сколько Товара, Время Сделки. Есть предложения как найти в ней замкнутые циклы Nой длины(гоняют товар по кругу) с допуском по объёму товара?
Допуск в процентах от объёма

Konstantin
14.06.2017
11:03:15
СУБД оракл 11gR2
Пытался через иерархические, но у меня какая-то дичь выходила

Vladislav
14.06.2017
11:06:11
Вопрос можно более нормально сформулировать?
А то вопросы бизнеса тут половина, если не больше, могут не понимать

Konstantin
14.06.2017
11:13:18
Вопрос можно более нормально сформулировать?
Как отловить ситуации, когда, например, Есть 3 человека A, B и C, и они продают друг другу товар, т.е. А продаёт B 100 единиц, B продаёт С 100 ед и С продаёт А 100 ед.
При этом их участников цепочки может быть больше и количество товара не всегда одинаковое.

Vladislav
14.06.2017
11:20:47
Не совсем понятно, какой результат и в каком виде нужен?

Konstantin
14.06.2017
11:23:27
Нужно получить эти сделки-циклы в каком-нибудь виде)
Вид особой роли не играет - всегда можно подогнать под требуемый

Google

Vladislav
14.06.2017
11:24:53
Т.е. вы сами не знаете, что надо?

Konstantin
14.06.2017
11:25:32
нужны цепочки из сделок, а как они будут выводится не важно

Vladislav
14.06.2017
11:25:46
Разве сама таблица, это не сделки?
Кажись я понял

Ivan
14.06.2017
11:26:20
т.е. в конце цепочки товар возвращается к участнику сделки который эту цепочку породил?

Vladislav
14.06.2017
11:26:20
Тут иерархия

Konstantin
14.06.2017
11:26:32

Vladislav
14.06.2017
11:26:47
Он хочет список людей, через которых проходил товар

Admin
ERROR: S client not available

Fike
14.06.2017
11:27:06
Если не секрет, то как это вообще происходит? Не в плане манипуляций с записями, а зачем продавцу его собственный товар?

Ivan
14.06.2017
11:27:15
мухлюют

Vladislav
14.06.2017
11:27:26
Профит же

Ivan
14.06.2017
11:27:26
накручивают бонусные баллы или чего покруче

Vladislav
14.06.2017
11:28:40
Выгрузить иерархию, собрать всю цепочку и взять те, где первый совпадает с последним
Но это правда частный случий, так то могут повторятся круги и в центре цепочки

Konstantin
14.06.2017
11:29:27

Vladislav
14.06.2017
11:30:08
Тут надо думать, как это представлять в табличном виде... Либо брать не реляционки
У меня опыта с выгрузкой иерархий особо и нет, кроме как джойнить само на себя N раз...
Кто-то знает, как это сделать по другому?

Ivan
14.06.2017
11:41:35
не очень понятно по какому критерию считать сделку участником цепочки

Google

Vladislav
14.06.2017
11:42:10
Повторения

Ivan
14.06.2017
11:42:24
так то можно помайнить на предмет особо дружащих между собой контрагентов

Vladislav
14.06.2017
11:42:48
Продавец = покупатель

Ivan
14.06.2017
11:44:30
ну какбы, "а ты докажи, что не Аллах"(с), без дополнительных данных типа "вида продукции\услуг" будет непросто

Anton
14.06.2017
11:44:34
Кто-то знает, как это сделать по другому?
только долгие извращения в голову приходят. например, считать, что вся таблица - это связи в графе от юзера к юзеру с весом равным объему, и пытаться реализовать в процедуре какой-нибудь из алгоритмов поиска цкилов. на pl/sql это будет очень больно скорей всего, но оракл позволяет писать процедуры еще и на жабе.
но получается таки вообще содом

Ivan
14.06.2017
11:45:13
блокчейн надо внедрять :)

Fike
14.06.2017
11:45:28
и как он поможет против циклических сделок?
сами-то по себе они инварианты не нарушают

Ivan
14.06.2017
11:46:10
не знаю как, но в интернетах обещают что поможет :)

Fike
14.06.2017
11:46:24
товар генерируется внутри системы, или может приходить извне?
т.е. владеет ли система полной информацией о происхождении товара и может ли полностью менеджить его историю?

Nikolay
14.06.2017
11:48:19

Konstantin
14.06.2017
11:49:31

Sergey
14.06.2017
12:00:29

Al
14.06.2017
13:44:39

Alex
14.06.2017
14:02:51
кто уже настраивал patroni + etcd можно пример шаблона patroni и etcd.cfg ?

Al
14.06.2017
14:05:22