@dba_ru

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

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

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

Google
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"

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

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
Спасибо за ответы, так действительно будет проще, в данном случае.

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

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

Al
14.06.2017
06:48:59
Бд это грубо говоря шкаф с бамажками.

Пометили каждый листик (ид, номер отдела.. сколько должен..) и потом достаете когда нужно и подставдяете по месту

И ведь картотеку библиотечную в пример не приведешь. Большинство уже и не знают что такое библиотеки:)

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
Зачем? Зачем отражать в бд то как работает логика приложения?
Т.е. не нужно ничего усложнять и как-то пытаться группировать. К примеру в системе есть таблицы "Организация" и "Пользователь" у каждого из них может быть свой баланс. В каждую таблицу добавить такую колонку и всё? Тогда для логирования операций по счетам организаций делать отдельную таблицу, а по счетам пользователей отдельную? и если мне нужно будет вывести общий лог то делать выборку из обоих таблиц и мерджить их?

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

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

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

Краткий вводный курс в базы данных от дальнобойщика. Гыы

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

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
Тут иерархия

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
товар генерируется внутри системы, или может приходить извне?

т.е. владеет ли система полной информацией о происхождении товара и может ли полностью менеджить его историю?

не знаю как, но в интернетах обещают что поможет :)
да я однажды ходил по такой ссылке

Sergey
14.06.2017
12:00:29
Да, с кругами внутри цепочки тоже проблемы(
Почему всё-таки не hierarhical queries?

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
Как отловить ситуации, когда, например, Есть 3 человека A, B и C, и они продают друг другу товар, т.е. А продаёт B 100 единиц, B продаёт С 100 ед и С продаёт А 100 ед. При этом их участников цепочки может быть больше и количество товара не всегда одинаковое.
Пишешь небольшое приложение которое перелопачивает всю базу построчно. Пытаясь собрать цепочки. Если товар один то проще. Выбираешь все возможные пары продавец покупатель. Из них берешь самые повторяющиеся и перебираешь

Страница 154 из 718