Программирование

Ответить в тред Ответить в тред
Check this out!
Шардинговый реплицируемый баз данных тред v1.3 /sql/ /sql/ Аноним 15/08/21 Вск 10:59:30 21283371
изображение.png 3104Кб, 1951x2560
1951x2560
изображение.png 284Кб, 429x420
429x420
изображение.png 1107Кб, 622x849
622x849
Предыдущий тхреад тонет здесь >>2124908 → (OP)

Туториалы на русском для тех, кто не умеет гуглить, не может в английский и вообще готов жрать что угодно:
SQL:
- MySQL, Postgres, SQL Server: https://metanit.com/sql/
- Синтаксис SQL кратко: https://learnxinyminutes.com/docs/ru-ru/sql-ru/
- Плейлисты по разным СУБД: https://www.youtube.com/c/SQLDeveloperBI/playlists
- Тоже плейлист, сортировка хуёвая: https://www.youtube.com/watch?v=EHvzvwAv7RU&list=PLY7PmJJFH5nT-lbFKxfbp3rw5BBuq5Azo[РАСКРЫТЬ][РАСКРЫТЬ][РАСКРЫТЬ]
- https://www.youtube.com/c/SQLDeveloperBI
NoSQL:
- MongoDB: https://metanit.com/nosql/mongodb/
- Cassandra: https://proselyte.net/tutorials/cassandra/

На инглише:
SQL:
- https://www.w3schools.com/sql/

Литература:
- Прибыл Фейерштейн. Oracle PL/SQL. Для профессионалов - если уметь исказть, можно найти бесплатно без СМС и на русском.
- Алан Бьюли. Изучаем SQL. - про MySQL, тоже легко находится. Довольно старая, но базовые вещи не сильно меняются.
- К. Дж. Дейт. Введение в системы баз данных - талмуд на овер 1000 страниц.
- Томас Кайт. Oracle для профессионалов - тоже талмуд.

Задачки для оттачивания sql-скилов:
- https://www.sql-ex.ru
- http://sql-tutorial.ru/
- https://www.codewars.com/?language=sql

ETL, OLAP, DWH и другие умные слова:
- https://www.youtube.com/watch?v=WPZuzDJXs-Q&list=PLhhjwMYxzolhP29LSPPwORVQxJX5OjYix[РАСКРЫТЬ][РАСКРЫТЬ][РАСКРЫТЬ]
- OLAP DAX Power BI: https://www.youtube.com/playlist?list=PLhhjwMYxzolhXuySjLR2_n-xb6VvWnjju

Прочее:
- https://dbdb.io/
- https://db.cs.cmu.edu/
- https://www.youtube.com/channel/UCHnBsf2rH-K7pn09rb3qvkA/playlists
- Сравнение диалектов SQL: http://troels.arvin.dk/db/rdbms/
- Как БД работают изнутри: https://habr.com/ru/company/mailru/blog/266811/


FAQ:
Q: Нужно ли знать английский?
A: Да.

Q: Что лучше, SQL или NoSQL?
A: Как обычно, зависит от задач. Нужна любой ценой скорость - бери NoSQL, нужна согласованность данных - SQL. У всего свои плюсы и минусы, и в обозримом будущем ни один подход не заменит другой полностью.

Q: Вопросы с лабами и задачками
A: Смело спрашивай, с вероятностью больше 50% ответят, но могут и обоссать.

Здесь мы:
- Негодуем, почему шапка - говно, и предлагаем коллективному ОПу идеи, как её улучшить.
- Разбираемся, почему PostgreSQL - не Oracle
- Пытаемся понять, зачем нужен Тырпрайс, если есть бесплатный опенсурс
- Обсуждаем, какие новые тенденции хранения данных появляются в современном цифровом обеществе
- Решаем всем тредом лабы для заплутавших студентов и задачки с sql-ex для тех, у кого завтра ПЕРВОЕ собеседование
- Анализируем, как работает поиск вконтакте
- И просто хорошо проводим время, обсирая чужой код, не раскрывая, как писать правильно
Аноним 16/08/21 Пнд 00:01:28 21290682
че пацы какой там щас самый модный стэк ?
Аноним 16/08/21 Пнд 00:03:22 21290733
Аноним 17/08/21 Втр 23:29:04 21311924
Как вы учились писать функции? Мне щас пиздец надо, но я вообще в них не врубаю. Про функции в курсе из полноценных ЯПов, но имеено в SQL вообще не втыкаю. Тыкните пальцем куда почитать, я долблю гугл, но ничего полезного не вижу. Максимум могу высрать что-то типа сложения двух чисел, а мне надо проверки условия по табличке делать
Аноним 17/08/21 Втр 23:39:19 21312045
>>2131192
Большинство так и не умеет, а если надо, за полчаса гуглят синтаксис PL/SQL и аналоги функций из ЯПов, которые знают.
Аноним 18/08/21 Срд 09:02:38 21313556
Аноним 18/08/21 Срд 18:53:05 21320787
>>2131192
На работе учил, будучи джуном нулевым. Специальную литературу не читал. И ничего, свои три сотыги имею!
Аноним 18/08/21 Срд 19:15:00 21320978
>>2132078
на ораклах что ли так поднялся?
Аноним 18/08/21 Срд 20:41:08 21321579
Аноним 18/08/21 Срд 23:19:26 213230310
Есть таблица с именем покупателя, названием товара и датой его покупки. Как мне вывести клиентов которые брали один и тот же товар 3 и более раз именно подряд? Думал отсортировать по дате и использовать GROUP BY product.name,client.name HAVING COUNT(*)>3, но так выводятся все кто брали один и тот же товар 3 раза даже не подряд.
Аноним 19/08/21 Чтв 00:44:23 213234311
>>2132303
Оконные функции мб.
Аноним 19/08/21 Чтв 06:28:04 213242612
изображение.png 60Кб, 1011x273
1011x273
Пацаны, вот задачка.

Давно не юзал SQL. Гуглю уже 3-й час всякую хуйню и что-то никак не могу вкурить, как работают primary и foreign ключи. Понял, что устанавливаются зависимости. Но не понял как я могу это использовать при выборке данных или я вообще их юзать даже не должен?

Выкупаю, что надо использовать SUM и COUNT по каждой стране производителя, но как правильно условие написать не вдупляю.

Помогите, пожалуйста, если есть свободное время

Аноним 19/08/21 Чтв 07:15:21 213243213
image.png 97Кб, 442x274
442x274
image.png 94Кб, 421x334
421x334
image.png 29Кб, 733x483
733x483
>>2132426
>как работают primary и foreign ключи. Понял, что устанавливаются зависимости. Но не понял как я могу это использовать при выборке данных или я вообще их юзать даже не должен?
У тебя одна табличка ставится в соответствие другой как раз по CompanyId. То есть в табличку phone досасывается инфа о компании (страна, название страны).
Хз чето вроде пикрила, хуй знает
Аноним 19/08/21 Чтв 07:18:52 213243314
>>2132432
а ну канеш забыл КАУНТ(телебонстер.модель) в СЕЛЕКТ вписать
Аноним 19/08/21 Чтв 07:20:24 213243415
изображение.png 1Кб, 235x95
235x95
>>2132426
UPD:

Сообразил до такого
SELECT c.companyName, COUNT(p.phoneModel) as COUNT, SUM(p.price) as SUM FROM phone as p, company as c
WHERE p.companyId=c.companyId GROUP BY p.companyId;

Выдает то, что на пике. Но по условию должны отображаться все компании, даже без мобил. Как сделать, чтобы отобразилась она?
Аноним 19/08/21 Чтв 07:31:37 213243716
>>2132432
Спасибо, друг. Я твой пост не увидел, рабочий интернет залагал.

Твой способ поможет отображать все компании?
Аноним 19/08/21 Чтв 07:54:24 213244417
>>2132437
>Твой способ поможет отображать все компании?
Должно работать (наверное), лефт жоин же, т.е. должен показывать даже если телефонов в phone 0 штук от этого производителя
Аноним 19/08/21 Чтв 08:09:57 213244918
>>2132444

Чет не получается. Ошибку синтаксиса выдает. Видел сверху мою строчку? Куда там надо left join хуйнуть?
Аноним 19/08/21 Чтв 09:46:12 213250519
>>2132444
Всё, чувак. Получилось без лефт джоина. Я, наверное, инвалид, но не вдуплил как таблицы так скрестить, поэтому другим путем пошел.

SELECT companyName, (SELECT COUNT(phone.phoneModel) FROM phone
WHERE phone.companyId=company.companyId) AS COUNT, (SELECT SUM(phone.price) FROM phone
WHERE phone.companyId=company.companyId) AS SUM
FROM company GROUP BY company.companyId;
Аноним 19/08/21 Чтв 10:37:38 213259420
image.png 32Кб, 638x509
638x509
>>2132303
Прикольная задача!
Красиво не решилась на 6 году карьеры узнал, что в оконной функции нельзя делать count distinct
Поэтому вот так через жопку, буду рад, если кто-то придумает вариант красивее.
Решение такое: для каждой строчки делаю подзапрос на три последних покупки клиента, включая текущую. В подзапросе условие на то, что там различных продуктов 1 (то есть клиент купил три раза подряд одно и то же), и дополнительное условие на обычный count для обработки граничных условий (иначе бы условие на count distinct срабатывало бы и для первой покупки клиента, что неправильно).
Круто? Круто.
Аноним 19/08/21 Чтв 10:39:23 213259721
>>2132594
Результат обрезал нечаянно. В общем, этот запрос вернет клиента номер 1, потому что для него выполнены условия в инсертах с 3 по 5 (три раза подряд купил продукт сталин 3000)
Аноним 19/08/21 Чтв 11:44:33 213271022
image.png 32Кб, 638x509
638x509
Аноним 19/08/21 Чтв 11:44:57 213271223
image.png 25Кб, 975x270
975x270
Аноним 19/08/21 Чтв 13:16:37 213280724
Аноним 19/08/21 Чтв 13:18:45 213281025
>>2132426

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

Я понял как вывести наименование производителя и цену, но подвязать модель не получается.

Когда подвязываю модель, он начинает искать MAX(price) по каждой модели.
Аноним 19/08/21 Чтв 19:23:23 213324626
Разница между mysql and Pjstgres?
Аноним 20/08/21 Птн 13:44:56 213399127
eb7.png 313Кб, 638x359
638x359
Сап аноны.
Есть таблица с событиями, нужно выбрать последнее событие каждого типа.

Вижу два стула:
1) Через ров намбер, потом фильтровать из with
2) Через группировку в where, чтобы получить тип события.

Но мне оба варинта кажутся медленным говном, первый потому-что надо делать выборку всех данных, второй потому-что если типов обьёктоа объектов много, можно упереться в лимит where.

Есть ли ещё стулья?
Аноним 20/08/21 Птн 15:07:40 213411228
>>2133991
Эта задача в любом случае подразумевает выборку всех данных.
Первый вариант норм, второй вариант шизоидный, вообще не понял о чём ты.
Аноним 20/08/21 Птн 22:03:49 213460129
Аноним 21/08/21 Суб 10:05:19 213490730
>>2133991
first_value(событие) over(partition by тип order by дата desc)
Аноним 21/08/21 Суб 23:46:20 213576031
image.png 7Кб, 215x378
215x378
Анон плиз хелп. Есть таблица с количеством заказов в разных магазинах и нужно вывести для каждого магазина самый продаваемый товар с общим количеством заказов(по убыванию).
Остановился на этом:
SELECT Shop, Item, SUM(Orders) AS Orders FROM table
GROUP BY Shop, Item
ORDER BY Orders DESC
Запрос вернёт отсортированную сумму заказов конкретного товара для каждого магазина. Как теперь выбрать только наиболее продаваемый товар и общую сумму заказов?
Аноним 22/08/21 Вск 02:55:10 213584032
>>2132712
Спасибо, очень помог
Аноним 22/08/21 Вск 17:48:50 213666133
6.jpg 15Кб, 760x70
760x70
Аноним 22/08/21 Вск 17:50:41 213666534
>>2136661
В выборе треда для этого вопроса.
Аноним 22/08/21 Вск 17:51:09 213666735
Аноним 22/08/21 Вск 17:52:10 213667136
Аноним 22/08/21 Вск 17:55:20 213667437
>>2136671
У тебя проблема не в mysql, а в синтаксисе php.
Аноним 22/08/21 Вск 22:03:49 213694938
Двач, хелп. Нужно выбрать из таблицы записи у которых текстовое поле на 75% совпадает со строкой указанной в запросе(типо WHERE similarity(table.textField,'указаная строка')>75), то есть совпадает 75% слов, можно и символов, но лучше слов.
Аноним 22/08/21 Вск 22:08:34 213695639
Аноним 24/08/21 Втр 15:58:14 213879540
>>2128337 (OP)
Як стать тру датабейс девелопером, что считается тру? Как быть тру? Што нужно чтоб мне платили хотя бы 100к.
Аноним 24/08/21 Втр 16:16:33 213880941
>>2138795
Залетать на стажировки, если у тебя есть приличная вышка и тебе меньше 25 лет.
В остальных случаях, вероятно, никак. К счастью, моя профессия не расхайпана инфоцыганами, поэтому ты вряд ли найдешь курсы "Как стать разработчиком БД с нуля".
Аноним 24/08/21 Втр 16:24:12 213881842
>>2138809
Я этим уже занимаюсь скажем так, но я использую sql лишь для бека, мне грят што надо мне будет полноценно вкатываться сюдыть, вот я спрашиваю где как не на двачах срашивать что нужно знать датабазе мастеру.
Аноним 24/08/21 Втр 16:37:51 213883143
>>2138809
>моя профессия не расхайпана инфоцыганами, поэтому ты вряд ли найдешь курсы "Как стать разработчиком БД с нуля"
У авторов teachyouselfcs есть мысль что все кто мог норм книги по дб написать и курсы преподать свалили работать. Ждём пока на пенсию выйдут.
Аноним 24/08/21 Втр 18:36:05 213893644
Совсем ньюфаг. Постгрес.
Есть сущность аккаунт с балансом. И есть переводы. Как запретить переводы если сумма перевода больше баланса отправителя?
Ограничение на баланс поставить, типа неотрицательный? Хранимку какую то? Как это сделать внутри базы?
Пока только вариант внутри кода перед транзакцией вызывать селект и там проверять. Но мне как-то не очень это нравится.
Спасибо.
Аноним 24/08/21 Втр 18:40:51 213894045
>>2138936
Самый нормальный вариант, все остальное это неявная пидорская логика.
А ещё можешь перед операцией блокировать строчку с аккаунтом, чтобы не получилось так, что ты пропустил в один момент времени две транзакции, которые в сумме дали больше, чем баланс счёта.
Аноним 24/08/21 Втр 19:10:24 213897846
>>2138940
Ну вот и я подумал, что проблема не в лишнем селекте, а что операция с селектом вне транзакции неатомарна.
А что за блокировки? Целой таблички или отдельной строки? Я просто про очень короткую книжечку читал и вообще по майсикулю, там такого не было.
https://habr.com/ru/company/postgrespro/blog/463819/
Ты вот об этом?
Аноним 24/08/21 Втр 19:16:59 213899047
>>2138978
Построчно, конечно, иначе у тебя никакой параллельности не будет.
>Ты вот об этом?
Да. Но конкректно про постгрес я тебе не расскажу, статью почитай.
Аноним 24/08/21 Втр 19:24:36 213900148
Аноним 24/08/21 Втр 19:27:46 213900649
Если мне нужно чтобы вместе с строками главной таблицы удалялись подчиненные с внешним ключем первой, то какое мне удаление нужно?
Аноним 24/08/21 Втр 19:33:18 213901650
>>2139006
Укажи ON DELETE CASCADE при создании внешнего ключа.
Аноним 24/08/21 Втр 19:34:44 213901751
>>2138936
>Пока только вариант внутри кода перед транзакцией вызывать селект и там проверять.
Это и есть самое оптимальное решение
>Но мне как-то не очень это нравится.
Почему? А что тебе нравится? Чтоб база ещё больше бизнес-логики начала в себе хранить, помимо самих реляций?
>операция неатомарна
Ну у тебя в любом случае будет отдельно селект, проверяющий легитимность транзакции, и отдельно инсёрт.
Аноним 24/08/21 Втр 19:46:06 213903152
>>2139017
Не знаю. Я же не шарю. Ну вот я думал можно ограничение на неотрицательность поставить и если в ограничение попадешь, то там откат какой нибудь или типа того.
Аноним 24/08/21 Втр 20:14:03 213906053
>>2139031
Откат это тяжелая операция для БД, поэтому лучше до него не доводить. Говорю как специалист в БД Оракл, не уверен, что у вас так же, но все-таки это даже с позиции здравого смысла нелогично делать операции, которые будешь откатывать.
Аноним 24/08/21 Втр 21:04:41 213910354
>>2139017
Поясни ньюфагу про бизнес-логику в базе. Зачем вообще нужны эти сложные запросы с оконными функциями и подзапросами, если это можно делать в самом коде получая все записи? И почему язык запросов не является императивным, как нормальные яп? ибо эта хуйня нихуя не интуитивна
Аноним 24/08/21 Втр 21:06:44 213910955
>>2139103
Чтобы плотили деньги и сложно было найти нового хуя на эту работу.
Аноним 24/08/21 Втр 21:13:52 213912456
>>2139109
Почему в вебе тогда выходят новые фреймворки, которые упрощают работу?
Аноним 24/08/21 Втр 21:22:20 213913557
>>2139103
> Зачем вообще нужны эти сложные запросы с оконными функциями и подзапросами, если это можно делать в самом коде получая все записи?
Представь, сколько оверхеда будет из-за пересылки данных через сокет от БД к основному приложению и последующего преобразования этих данных в объекты, понятные основному ЯПу.
> И почему язык запросов не является императивным, как нормальные яп?
Ты описываешь результат, который хочешь получить, вместо алгоритма для его получения, и оптимальный алгоритм подбирает СУБД, которая справляется с этим намного лучше, чем написал бы среднестатистический кодер. Попробуй посмотреть на план запроса для сложного случая, заебёшься такое писать сам.

мимо
Аноним 25/08/21 Срд 00:01:36 213926858
>>2139135
А орм-ки используют функции баз?
Аноним 25/08/21 Срд 16:48:11 213986459
>>2139103
>Поясни ньюфагу про бизнес-логику в базе. Зачем вообще нужны эти
То что ты дальше спрашиваешь это не бизнес-логика в базе, это технические детали СУБД. Бизнес-логика это знания из предметной области, которые отношения к БД и тем более СУБД не имеют, как раз как твой пример с "если эта операция загонит баланс в минус, то её нельзя выполнять". С точки зрения базы и её управления эта инфа нерелевантна — базе похуй что хранить, поэтому такую инфу хорошим тоном является отделять от пердолинга с базой, как тебе и посоветовали. С другой стороны база один хуй всегда хранит часть бизнес-логики — это описание реляций, т.е. метаданные базы, т.е. вот это вот "у меня есть таблица товар и таблица склад, в таблице склад есть две колонки — ссылка на таблицу товар и количество товара на складе". Строго говоря, вся эта инфа это часть бизнес-логики, она отражает предметную область, но без неё базе непонятно что и как хранить, поэтому она хранится в базе. Но мы стремимся хранить в базе данных только ту часть бизнес-логики, которая там совершенно необходима, чем меньше тем лучше.
>Зачем вообще нужны эти сложные запросы с оконными функциями и подзапросами, если это можно делать в самом коде получая все записи? И почему язык запросов не является императивным, как нормальные яп?
Выше ответили — чтобы дать возможность СУБД самой выбирать оптимальный алгоритм чтобы получить то, что ты там насочинял.
>ибо эта хуйня нихуя не интуитивна
Согласен, но к этой хуйне привыкаешь и она того стоит.
>>2139124
По той же причине — чтобы плотили деньги, но только в этот раз не за знание пердольного декларативного языка, а за знание очередных НОВЫХ ФРЕЙМВОРКОВ, которые выходят по одному в месяц.
Всё программирование в капиталистическом мире (я сейчас не осуждаю и не восхваляю капиталистический мир, а просто констатирую печальный факт) неизбежно вырождается в сложность ради сложности, потому что за сложность платят, а за простоту — нет. На эту тему неплохо высказался покойный любитель асма и эффективности https://www.km.ru/referats/778A5D749ACE4041AC2D3D803C05DBBC
>Самолеты и космические корабли мирно сосуществуют с велосипедами и автомобилями. Никому ведь и в голову не придет летать за сигаретами на ракете, особенно если сигареты продаются в киоске на соседнем углу.
>Но ведь это же неправильно! Появление ракет должно перевернуть наше мышление! Поэтому—строим киоск за орбитой Плутона и каждому даем по ракете, чтобы туда летать, а горючее покупаем за деньги, вырученные от строительства космодромов и продаж ракет. Кто не может строить ракеты — пусть учит других, как на них летать. Сколько создается новых рабочих мест и главное, что все в бизнесе. Вот тут уж действительно, возврата в прошлое нет... Сигареты стоят миллиарды долларов, и деньги в индустрию вращаются просто огромные. Кто же захочет от них отказываться?! Напротив, ракеты будут стремительно «совершенствоваться», чтобы за сигаретами можно было летать даже на Альфу Центавра.
Аноним 25/08/21 Срд 17:53:42 213994360
>>2139864
кто о чем, а бумер о сегоретах.
Аноним 25/08/21 Срд 18:00:04 213994861
>>2139943
Буду кем тебе нравится, сладкий
Аноним 25/08/21 Срд 18:01:11 213994962
Сап, студент (3 курс) на связи.
Собираюсь в конце недели попробовать устроиться по вакансии на джуна.
1)Подскажите, что на собеседовании вообще будут спрашивать? Только синтаксис и умение писать запросы, функции триггеры или всякую теорию тоже лучше запомнить? Как вообще будут проверять, гожусь ли я?
Если что, то в требованиях ничерта особо конкретно не сказано. Просто уровня
> желательно опыт работы с ораклом
> желательно студент последних курсов.
2)Как вообще конторы относятся не к 4ым курсам? Если получится работать как надо, то готов положить на учебу, ибо всё равно бесполезна.
3)Стоит ли пытаться себя как то подать, или просто сказать как есть, что пришёл на первую работу за опытом и кроме вуза и домашней практики за плечами не имею?
4) Немного напрягает, что вакансия висит довольно долго. ЗП вроде не очень маленькая для наших пердей , указана 35-50к.
Каков шанс, что им нужны таки не джуны, или это вообще дутая вакансия?
Извиняюсь за тупые вопросы, никогда не имел дело с собеседованиями.
Аноним 26/08/21 Чтв 17:01:01 214091163
>>2139949
>Подскажите, что на собеседовании вообще будут спрашивать?
Ну чел, все зависит от конторы и человечности собеседующих. Может ограничится обычными селектами (максимум с аналитическими функциями), может будут спрашивать какие-то общие вещи по БД (что такое нормальные формы) и даже по кишочкам оракла (что из себя представляет B-дерево, как работает hash join). Я бы студента таким ебать не стал, но кто знает.
3 - будь честным, 2, 4 - зависит от конторы. Единственный совет, который я могу дать, это не дропать вышку.
Аноним 26/08/21 Чтв 17:16:37 214092864
>>2140911
Спасибо за ответы
> Единственный совет, который я могу дать, это не дропать вышку.
Но вот тут хотел бы уточнить: почему?
Из за сложностей уезда из страны?
Просто у меня в группе все наоборот стремятся работать любой ценой, а потом просто на любую доступную заочку платно поступить. Пара человек уже так делает.
Аноним 26/08/21 Чтв 17:31:07 214094465
>>2140928
БД-макакой ты и так никуда не уедешь. И удаленка на западного барина немыслима, никто не пустит тебя работать с данными.
Про вышку вопрос моих личных предпочтений, я считаю, что она нужна и дает человеку не только корочку, но и общее развитие. И в глазах рекрутеров она значит, что человек хотя бы чего-то добился, а не просто дуриком в айти залетел. В моем рабочем окружении вышка есть у всех (часто еще и топовых вузов).
Вообще, не тема для этого треда, можешь в закрепленном спросить, там будет куча безвышечных макак, которые скажут, что вышка не нужна.
Аноним 26/08/21 Чтв 17:42:29 214096166
>>2140944
Хорошо, пойду спрошу.
Ещё раз спасибо.
Аноним 26/08/21 Чтв 17:53:41 214097467
>>2140961
Ага, про собес потом отпиши в этом треде, интересно.
Аноним 26/08/21 Чтв 18:37:51 214102368
>>2139949
>Подскажите, что на собеседовании вообще будут спрашивать?
Умение писать запросы в первую очередь, но и что посложнее вполне вероятно. Сходи, узнаешь.
-> >>2140911
>Как вообще конторы относятся не к 4ым курсам?
Нормально
>Стоит ли пытаться себя как то подать, или просто сказать как есть, что пришёл на первую работу за опытом и кроме вуза и домашней практики за плечами не имею?
2
>Каков шанс, что им нужны таки не джуны, или это вообще дутая вакансия?
Сходи, узнаешь.
Аноним 28/08/21 Суб 17:05:23 214287169
Сап, есть таблица со всеми товарами и таблица со всеми заказами где есть foreign ключ клиента и товара, нужно найти клиентов которые купили каждый товар хотя бы один раз, решил сгруппировать таблицу с заказами по клиентам и найти сумму всех уникальных foreign ключей товаров,и если она равна сумме всех primary ключей в таблице товаров вывести покупателя. Но мне кажется что это говонокод. Или на деле важен только результат?

Ещё интересно что лучше использовать cross join типо(SELECT P.Part, C.Catnumb AS Cat, C.Price
FROM Parts P, Categories C
WHERE P.Cat = C.Cat_ID)
или такой же запрос с inner join? результат ведь один и тот же
Аноним 29/08/21 Вск 20:19:59 214408670
>>2128337 (OP)
В общем, долго я не мог понять как работают ваши базы данных и вообще веб.
Сейчас восстанавливаюсь после выгорания, и Андроид и веб понял с какой стороны разворачивать, наконец-то дошел и до бд.

Правильно ли я понимаю, что реляционные (от слова математического понятия отношение) БД это то же самое что и табличные? SQL это реляционные БД, noSQL это не реляционные?

Делал свое веб-приложение на основе редактирования таблиц, и сохранял данные в json, предварительно разворачивая все дерево документа в список, чтобы не было самореференсов. Получается что-то наподобие flat file database. Когда файл перевалил за 10 МБ все стало тормозить, и я уже собирался сохранять изменения через file system api, но наконец-то нашел нормальное объяснение и реализации БД, без этих ебучего псевдоязыка sql и с возможностью хранить данные локально.

tinybd + MessagePack. Слава создателям этих двух технологий. Нормальный апи, нормальный из коробки работающий модуль. Я наконец-то понял что такое базы данных!

Дальше я загуглил нечто похожее для js, выбрал localforage.js до тех пор пока окончательно не перенес хранение данных в бэкэнд (которого пока нет).

У меня только один вопрос остался, нахуй тогда вообще файловые системы? Не проще ли все хранить в БД? Может есть такие системы? А то я собирался свою придумать.
Ведь полностью отпадает проблема сохранения изменений, можно сохранять каждое действие пользователя сразу же, как это сделано в Гугл доках.
Аноним 29/08/21 Вск 20:30:57 214409071
>>2144086
> Правильно ли я понимаю, что реляционные (от слова математического понятия отношение) БД это то же самое что и табличные? SQL это реляционные БД, noSQL это не реляционные?
Не только таблицы делают реляционные БД реляционными, например, в кассандре тоже есть таблицы, но она NoSQL. Гугли 12 правил Кодда.
> нахуй тогда вообще файловые системы?
Проблемы с перфомансом. СУБД нужны там, где нужна надёжность, пусть и ценой скорости, и нельзя потерять ни одного байта. А представь, что ты копируешь 100 картинок с котиками, и если в конце копирования будет ошибка, ты посмотришь, что недокопировалось, исправишь проблему, и это будет намного быстрее, чем откат транзакции и удаление сотни картинок, когда проблема только с одной.
Аноним 29/08/21 Вск 22:17:36 214414672
>>2144090
>Не только таблицы делают реляционные БД реляционными, например, в кассандре тоже есть таблицы, но она NoSQL
А что делает?
>Гугли 12 правил Кодда.
В действительности правила столь строги, что все популярные так называемые «реляционные» СУБД не соответствуют многим критериям. И 13 правил это занудство, никто не умеет считать до стольки. Можно хотя бы 3 обязательных условия, кроме табличного представления данных которые объединяют все 7 реляционных баз из топ-10?
Аноним 30/08/21 Пнд 20:28:52 214507573
image.png 50Кб, 872x528
872x528
>>2132426
>>2132434

Почитай про JOIN.
https://www.postgresqltutorial.com/postgresql-joins/
С твоим запросом у тебя выборка получается, как у inner join.
Т.е. ты выбираешь только те компании, у которых есть телефоны.
Тебе нужен выборка по компаниям с LEFT JOIN телефонов. Тогда выберет даже те компании, где нет телефонов.
Аноним 30/08/21 Пнд 20:32:16 214508074
>>2145075
ну и группируй соответственно по c.companyId, а не p.companyId
Аноним 31/08/21 Втр 10:20:06 214546475
Есть БД MySQL в ней записи по датам, одна неделя записей в ней отсутствует и есть другая БД с этой неделей плюс несколько дней. Вопрос как из второй таблицы выполнить слияние таблиц чтобы отсутствующие записи в 1-й добавились из 2-й и не было дублей того что уже добавлено?
Аноним 31/08/21 Втр 10:24:02 214546776
>>2145464
Инсерт селекта по дблинку? Согнать с одной базы в файл и залить в другую? Я за mysql не шарю, но в оракле такие варики есть.
Аноним 01/09/21 Срд 11:47:44 214664377
Надо в оракле сджоинить 4 жирнючих исторических таблицы, из каждой взять данные за определённую дату, каких хинтов этой падле насовать чтобы не было нестед лупсов полный рот и коста 12 триллионов?
Аноним 01/09/21 Срд 13:04:37 214671478
>>2146643
Сам разберётся, он умный.
Аноним 01/09/21 Срд 13:06:57 214672079
>>2146714
Да хуй блять, эта сволочь за одну дату нормально отрабатывает, а за другую говно жрёт висит.
Аноним 01/09/21 Срд 13:08:51 214672280
>>2146720
Если покажешь запрос и план, будет содержательнее, пока хуй знает.
Можешь на шару кинуть хинт ordered, вдруг поможет.
Аноним 01/09/21 Срд 13:20:14 214674281
>>2146722
Да из контура нельзя ничего выносить, говорят один умник даже сгуху заработал себе.

Структура простая:
select * from table1 t1
left join table2 t2 on t1.id=t2.id and to_date('01.01.2021')>=t2.start_date and to_date('01.01.2021')<t2.end_date
left join table3 t3 on t2.id=t3.id and to_date('01.01.2021')>=t3.start_date and to_date('01.01.2021')<t3.end_date
left join table4 t4 on t3.id=t4.id and to_date('01.01.2021')>=t4.start_date and to_date('01.01.2021')<t4.end_date
left join table5 t5 on t4.id=t5.id and to_date('01.01.2021')>=t5.start_date and to_date('01.01.2021')<t5.end_date
left join table2 t6 on t5.id=t6.id and to_date('01.01.2021')>=t6.start_date and to_date('01.01.2021')<t6.end_date
where to_date('01.01.2021')>=t1.start_date and to_date('01.01.2021')<t1.end_date
Аноним 01/09/21 Срд 13:48:28 214677782
>>2146742
Точно left нужны, inner не катит? На id, по которым идёт джойн, есть индексы? Если id везде одинаковый, попробуй не последовательно таблицу к таблице цеплять, а цеплять каждую таблицу к первой.
Аноним 01/09/21 Срд 13:57:37 214679383
>>2146777
left нужны, id разные, там сделка к счёту к клиенту и т. д. цепляется.
Аноним 02/09/21 Чтв 22:31:59 214836384
>>2128337 (OP)
Я правильно понимаю, что при вставке данных в таблицу индекс перестраивается каждый раз? Не сьедает ли это производительность?
Аноним 02/09/21 Чтв 22:34:13 214836585
image.png 76Кб, 620x408
620x408
>>2148363
И чтобы грокнуть тему полностью: индекс перестраивается полностью? Или новое значение для интекса просто вставляется в лситья? Если мы смотрим на него, как на B-tree.
Аноним 02/09/21 Чтв 22:35:25 214836786
>>2148365
Пиздец опечаток наделал. Вот что клавиатура неродная делает
Аноним 02/09/21 Чтв 22:37:37 214837187
>>2148365
Не полностью, конечно. Ровно настолько, сколько надо для перебалансировки B+-дерева.
Аноним 02/09/21 Чтв 22:37:49 214837288
>>2148363
Да, поэтому быстрее ебануть большой инсерт, а не много маленьких. Или в транзакции, тогда тоже только при коммите будет.
Аноним 02/09/21 Чтв 22:41:47 214837889
Аноним 03/09/21 Птн 09:44:10 214868190
image.png 13Кб, 880x491
880x491
Как удалить лишние пробелы в столбцах в выводе результата таблицы? Столбец например 1024 длиной а в нём только надпись скажем на 100 символов и при просмотре они заменяются на тире
Запрос вида:
SELECT * FROM `bd`.`table1` ORDER BY `date` DESC LIMIT 1;
Аноним 03/09/21 Птн 09:48:52 214868391
>>2148681
Не пользоваться терминалом.
Аноним 03/09/21 Птн 10:13:34 214870692
>>2148681
Есть функция TRIM, должно помочь.
Аноним 06/09/21 Пнд 12:15:33 215139693
Снимок.PNG 280Кб, 1333x806
1333x806
Снимок2.PNG 8Кб, 1482x65
1482x65
Есть задание пикрелейтед и есть схема, которую я набросал. Но когда начал пилить её, то понял, что у меня primary key так же всегда является foreign key? Что делать? База sql
Аноним 06/09/21 Пнд 12:21:32 215141494
>>2151396
Или я долбоёб и в том же tour стрелочки должны идти не к полям, а от полей к таблицам? Тогда они и будут foreign key?
Аноним 06/09/21 Пнд 13:21:33 215148895
>>2138936
Какого хуя ты не проверяешь сразу при транзакции баланс, если оно тебе так надо.

Если это редкий кейс и не супер критично прям щас, то захуярь какой-то автоматический ежедневный/недельный процесс на проверку качества данных и корректировку.
Аноним 07/09/21 Втр 17:01:09 215244896
https://hh.ru/vacancy/47005661?from=share_android
Всем привет, кто знает что то о таких вакансиях стажеров-аналитиков от сбербанка, ВТБ, озона и тд. сложно ли туда попасть и как проходят?
Аноним 07/09/21 Втр 17:05:58 215245397
>>2152448
Я попал на ВТБ, кроме собственно sql ничего не спрашивали.
Аноним 07/09/21 Втр 17:11:20 215246398
>>2152453
А как проходила стажировка? Сейчас проходишь еще или уже взяли? Какой уровень sql у тебя был? Платили что то или бесплатно?
Аноним 07/09/21 Втр 17:21:27 215247899
>>2152463
А, я дебил, не прочитал про стажировку, я сразу на проект пошёл, к тому времени с базами поработал уже так что взяли без проблем, хинтов я не знал, но всякие там индексы-партиции более-менее одуплял. Могу сказать что народу нехватает сейчас, найм идёт тяжело.
Аноним 07/09/21 Втр 17:30:54 2152489100
>>2152478
Ну я знаю совсем немного sql? Могут взять с начальными знаниями?
Аноним 07/09/21 Втр 17:39:20 2152498101
>>2152489
Одновременно со мной пришла баба с эконома, её 2 месяца учили sql перед тем как на реальные задачи пустить, сейчас норм работает. Взять могут, но могут и не взять. Ты надеюсь откликнулся вакансий на 20 хотя бы?
Аноним 07/09/21 Втр 17:43:08 2152506102
>>2152498
Да сейчас начну отвлекаться. Но я учусь на направлении далеком от баз данных. Смотрят ли на образование?
Аноним 07/09/21 Втр 17:51:37 2152517103
>>2152506
На образование похуй, я АСУТПшник вообще по диплому.
Аноним 07/09/21 Втр 17:53:14 2152518104
>>2152517
А давно стажировку проходил? И кем сейчас числишься? И какая зп если не секрет?
Аноним 07/09/21 Втр 17:56:53 2152524105
>>2152518
Именно стажировку не проходил. Сейчас аналитик, зп 100к, обещают повысить.
Аноним 07/09/21 Втр 17:58:42 2152525106
Аноним 07/09/21 Втр 17:59:47 2152527107
Аноним 07/09/21 Втр 18:05:03 2152531108
>>2152527
Ну я пришёл на собес, говорю приветик, я с завода, sql в универе 1 семестр был. Мне дали задачи по sql, я их не решил, мне дали математический задачи уровня олимпиады для пятиклассников, я их решил, мне сказали что за испытательный натаскают на sql и взяли на 50к. Я там немного отработал и съебал в ВТБ. Запускай просто sql-ex и решай, 50 задач решишь, будешь готов к собесу на низкую должность на 100%, вопросы тут можешь задавать посмотри по треду, всем отвечают и тебя не обидят.
Аноним 07/09/21 Втр 18:16:14 2152539109
>>2152531
Ну я пока 10 решил. И курсы с udemy прохожу. А куда изначально с завода пришел? Что за компания?
Аноним 07/09/21 Втр 18:18:54 2152542110
>>2152539
Компания маленькая,название не скажу, вакансия техподдержка L2.
Аноним 08/09/21 Срд 19:52:52 2153266111
>>2152542
Я кажется знаю о какой компании идёт речь. Французкий склад?
Аноним 08/09/21 Срд 19:55:53 2153271112
>>2153266
Ты ебанулся, анонче? Таких компаний тысячи, та в которой я работал ничего общего не имеет ни с Францией ни со складами.
Аноним 08/09/21 Срд 23:46:10 2153393113
Посоны, есть небольшой микросервис, что взять базой - монгу или постгрес? Из данных для храния - одна сущность, которая шо таблица, шо документ. Высокой нагрузки не предвидится, скейлить не придется.
Аноним 09/09/21 Чтв 00:32:15 2153402114
face.jpg 39Кб, 725x480
725x480
>>2153271
Я работал на том складе.
Аноним 09/09/21 Чтв 02:31:15 2153440115
>>2128337 (OP)
Можно ли писать условный бекенд не подключаясь к бд? Получается нужно чтоб то, что выполняется у меня в коде делалось на уровне бд? Как это вообще реализовать? Я из sql знаю основные запросы к бд, а как писать пиоцедуры там с ифами и прочими вещами? Есть ли обучающие материалы, желательно видеоформата.
Аноним 09/09/21 Чтв 17:09:36 2153859116
>>2128337 (OP)
сап, тема есть;
my sql workbench
бд world
запрос такой:

/
5)Выведите количество официальных языков для каждой
страны в порядке убывания количества этих языков
/
SELECT country.Name, COUNT(Language) AS officialLanguageAmount
FROM country
RIGHT JOIN countrylanguage
ON countrylanguage.CountryCode = country.Code
WHERE countrylanguage.IsOfficial = 'T'
GROUP BY country.Name
ORDER BY officialLanguageAmount DESC;

претензия такая:
нужно также вывести страны, в которых нет официальных языков

я уже голову сломал, как это сделать
Аноним 09/09/21 Чтв 18:36:22 2153904117
>>2153859
Left join вместо right и условие на is official не в where, а в join. И count по какому-нибудь полю второй таблицы обязательно.
Аноним 09/09/21 Чтв 18:56:02 2153923118
Кто то может толком ответить как работает перебалансировка шард?

Например у меня есть одна шарда какой-то KV базы и у неё стало овердохера данных и я хочу её секционировать на две секции.

Смысл такой что я делю текущую секцию на две и вторую секцию копирую на другую ноду.

Вторая секция лежит в другой части интернета и копирование будет происходить по сети, а значит что долго.

Вопрос:
Как в это время данные пишутся в базу?
Как читаются?
Аноним 10/09/21 Птн 17:04:31 2154528119
>>2153904
нашел другой способ

/
5)Выведите количество официальных языков для каждой
страны в порядке убывания количества этих языков
/
SELECT country.Name, COUNT(CASE WHEN IsOfficial = 'T' THEN 1 END) AS officialLanguageAmount
FROM country
RIGHT JOIN countrylanguage
ON countrylanguage.CountryCode = country.Code
GROUP BY country.Name
ORDER BY officialLanguageAmount DESC;
Аноним 10/09/21 Птн 18:03:44 2154576120
>>2154528
Это ок, но у тебя мать сдохнет, если продолжишь пользоваться RIGHT JOIN.
Сейчас по логике, например, у тебя выведется строчка с country name = null, если в таблице countrylanguage есть записи по странам, которых нет в таблице country.
Никто не пользуется RIGHT JOIN, он нелогичен, в твоем запросе основной является таблица country, поэтому джойн должен быть LEFT.
Аноним 10/09/21 Птн 18:37:25 2154596121
Аноним 12/09/21 Вск 10:52:30 2155678122
>>2128337 (OP)
Чё-т взбрело сделать внутри базы данных - файловую систему.
Не знаю почему, тупо вот в таблице хранить имя файла, его хэш, описание файла, и всё такое, ну и в BLOB'ах - сам контент файла.
Вроде бы, потому что по хэшу проще получить файл.
А ещё, можно было бы, создать файл какой-нить текстовый,
и систему тегов к нему приебошить,
а теги на таблицах сделать, вроде,
ну мол, вот пароль. Он от банка, банк это финансы, финансы это типа бухгалтерия, и всякое такое. Сразу три тега можно приебенить к файлу: банк, финансы, бухгалтерия.
С обычной файловой системой такая хуйня не прокатит, вроде.
А вот в базе данных - можно заебенить.

Есть готовые решения, наподобие этого, с открытым исходным кодом, или придётся SQLite юзать, пушо она опенсорец?
Аноним 12/09/21 Вск 12:31:54 2155764123
>>2155678
Много чего гуглится, но сам я не тестировал. Отпишись пожалуйста когда что-нибудь выберешь.
Аноним 12/09/21 Вск 21:43:53 2156151124
image.png 20Кб, 554x201
554x201
>>2155764
Идея сырая поэтому пока вот
Аноним 13/09/21 Пнд 15:44:11 2156565125
Как загрузить дамп mysql 8 в mysql 5?

Пишет ошибку "#1193 - Неизвестная системная переменная 'GTID_PURGED'".
Аноним 14/09/21 Втр 02:44:50 2157196126
Сап аноны ,есть одна таблица...
ID-Фамиля продавца-продажа-время


Мне нужно выбрать последнею продажу по каждому продавцу, но чтоб это работала не всрато.

Когда делаю


select name,max(time)
from govno
group by name


Достаёт всю таблицу, хотя индекса поле со временем есть. Вобщем хуйня какая-то.
Аноним 14/09/21 Втр 18:18:50 2157633127
Стоит ли читать HeadFirst SQL если совсем ноль?
Аноним 14/09/21 Втр 18:42:20 2157661128
>>2157633
sql in 10 minutes глянь. Мне недавно попалась, вполне годная книга по базе.
Аноним 15/09/21 Срд 08:07:13 2158061129
>>2128337 (OP)
Пусть есть таблица с буквами.
И пусть есть таблица со словами, состоящими из этих букв.
Обе таблицы связаны, каждый элемент в таблице "слова" - осмысленная единица информации,
которая имеет свой идентификатор, и на которую можно "сослаться", так сказать.
Пусть есть третья таблица "выражения", которые тоже могут быть цельными единицами информации - всякие фразы.
Они уже состоят из нескольких слов, и знаков припинания.
И так далее, и тому подобное. Так, сложность сущностей как-бы растет.
Вопрос, как взаимосвязать всё это попроще, в случае если составных компонентов - произвольное, и возможно даже переменное количество.

Скажем, "хуй" - довольно сложная такая ебанина, состоит из трех букв, но не из шести.
Описание не особо важно, важно только наделить этот хуй идентификатором.
А есть слово "Пизда", у неё уже 5 букв, и она пиздец какая сложная.

Первое, что приходит в голову - создать большую таблицу:
>"Сложные ебанины" (ID, компонент1, компонент2, компонент3, компонент4, компонент5, компонент6, ..., ОПИСАНИЕ)
и там короче сделать null'и компонентов нет.
Можно как-то попроще всю хуйню заебенить?





Аноним 15/09/21 Срд 10:11:14 2158123130

>>2158061
ID слова,ID буквы

Одна сущность может лежать в неограниченном количестве записей. Описание в отдельной таблице.
Аноним 15/09/21 Срд 13:16:39 2158269131
Как вы нашли свою работу? Или стажировку? Долго ли искали?
Просто я отправил 15 откликов на вакансии , и из них один отказ и одно приглашение на бесплатную стажировку. Это всегда так?
Аноним 15/09/21 Срд 13:43:12 2158298132
>>2158269
Нашел в 2015 году, всем рекомендую.
Кстати, для стажировки надо быть молодым и иметь вышку, желательно достойную, у тебя как с этим?
Аноним 15/09/21 Срд 13:48:23 2158299133
>>2158298
Заканчиваю в следующем, техническая вышка,но в другой сфере
Аноним 15/09/21 Срд 13:48:45 2158300134
>>2158298
Заканчиваю в следующем, техническая вышка,но в другой сфере
Аноним 15/09/21 Срд 16:01:14 2158422135
MySQL как пронумеровать результат запроса?
SELECT 0 INTO @i;
SELECT (@i := @i+1) AS num,title,text
FROM table1
WHERE
(text LIKE '%earth%' OR title LIKE '%earth%')
Warning:
setting user variables within expressions is deprecated and will
Аноним 15/09/21 Срд 16:05:52 2158428136
Аноним 15/09/21 Срд 16:10:46 2158430137
>>2158428
Спасибо, то что нужно
Аноним 15/09/21 Срд 16:48:10 2158457138
Есть какие-то простенькие гайды и туториалы по sqlite? мне нужно что-то такое, как метанит и на русском языке так что бы даже такой аутист как я разобрался
Аноним 15/09/21 Срд 16:56:47 2158467139
image.png 28Кб, 912x342
912x342
image.png 28Кб, 916x348
916x348
image.png 99Кб, 935x863
935x863
вот так выглядит туториал по мнению офф страницы склайта :
https://www.sqlitetutorial.net/sqlite-select/
пик 1 : шаг один - сложите 1 + 1
пик 2 : поделите 10 на 2
пик 3 ...........
пик 4 поздравляю вы експерт в sqlLite
Аноним 15/09/21 Срд 22:54:33 2158700140
помогите задебажить, я не ебу куда смотреть в принципе
есть т2 постгрес база на авсе, при чем io1 тобишь с охуевшей пропускной способностью

все крутится, мутится, пока в одном месте бекенда не запускается запрос с группированием/суммированием по паре миллионов строк. Под обычной нагрузкой он выполняется без проблем, так же без проблем он выполняется в обычной, не-рдс базе на слабенькой ec2 машине но именно на рдс базе без какой-то видимой для меня причины он блочит все нахуй, в админке рдса число сессий пробивает небеса, и все последующее запросы тоже залипают до бесконечности в буффере...


я не ебу как это дебажить и где че мерить, мб трабла исключительно в max_connections, ибо сам запрос не ультра тяжелый, мб еще в чем-то, есть идеи?
Аноним 16/09/21 Чтв 04:11:32 2158808141
>>2158123
>ID буквы,Буква
+
>ID слова,ID буквы
>Одна сущность может лежать в неограниченном количестве записей. Описание в отдельной таблице.
Так букв может быть дофига,
что-то вроде:
>ID слова,ID буквы1, ID буквы2, ID буквы3, ..., Описание значение слова.
Ясное дело, что если число букв ограничено (скажем 33 буквы, что в кириллице), то можно просто сделать таблицу с 33-мя полями и не ебать мозг.
Но что если буквы добавляются в таблицу
>ID буквы, Буква
и если это не буквы, а другие составные компоненты сложных сущностей (слов, имеющих ID слова)??
Как всю хуйню попроще увязать?

Ты пишешь
>ID слова,ID буквы
может ты имеешь в виду нечто вроде:
>ID слова,ID'ы букв
?
Что-то вроде
>100500; 23,21,11
??
Тогда, как-бы, до бесконечности можно вхуярить туда буквы.
Но это не связывает сложную сущность с её компонентами, прямыми связями через связи таблиц, поэтому я хз как это всё заебенить, чтоб годно всё было.
Аноним 16/09/21 Чтв 04:20:16 2158809142
>>2158808
Может как-то так, через 3 таблицы:
>"Компоненты":              ID компоненты, компонента
>"Сущности":                   ID сущности, описание сложной сущности.
>"Состав Сущностей":     ID сущности, номер компоненты, ID компоненты
Аноним 16/09/21 Чтв 08:14:02 2158852143
>>2158808
Я видимо непонятно выразился, у тебя есть таблица с буквами где есть как минимум айдишник буквы и сама буква, можно туда вкорячить что угодно, описание буквы, также у тебя есть таблица со словами, где слово и описание, описание может состоять из любого количества полей. И в третьей таблице у тебя связь один ко многим, там для одного слова может быть сколько угодно записей со ссылками на буквы, можно номер буквы в слове добавить если нужно.
Аноним 16/09/21 Чтв 12:47:37 2159008144
>>2128337 (OP)
Посоветуйте книгу по уровням изоляции транзакции и когда какую применять, плз.
Аноним 16/09/21 Чтв 16:30:35 2159244145
СложныеТеги.png 20Кб, 470x295
470x295
>>2158852
>Я видимо непонятно выразился
Да, там какая-то неполная инфа была.
В общем пока получилось пикрил.
Теги - это сложные сущности (слово, фраза).
УникальныеКомпоненты - список атомарных компонент (буквы, слова).
СоставТегов - компонентный состав сложной тегов как сложных сущностей.
Ну и собственно Связи тегов - для взаимосвязи их - многие-ко-многим.

Скажем, тег "нейрокибениматика", состоит из нейронаук, и кибернетики и математики, и связана, блядь, с другим тегом ещё более сложной сущностью - "ассоциативная память с адресацией по содержанию, реализованная на рекуррентных нейронных сетях", которая состоит из ещё большего числа атомарных компонент. Ну ты понел.
Аноним 18/09/21 Суб 09:31:10 2160468146
>>2128337 (OP)
Пусть есть хэш-таблица.
И пусть есть некие данные, и хэш от них, в качестве идентификатора их.

Хэши могут иметь коллизии.
Скажем так:
если 1 байт (8 бит),
попытаться сжать в 4 бита и закодировать 4-х битным хэшем,
то будет 2 в 4-й степени (16) коллизий.

Номер коллизии,
всесте с хэшем (4-битным),
дадут 1 байт инфы,
и сжать инфу всё-равно не получится.

Тогда, как лучше было бы однозначно идентифицировать данные?
По номеру, что-ли? А если там все комбинации данных, то номер будет длиной в данные.
Или по паре значений {хэш, номер коллизии}?
Может по самим данны (память с адресацией по содержанию)?
Тогда какой смысл искать данные, по данынм, которые знаешь уже?

Я знаю, что вероятность коллизий хэша может быть низка, при работе с малыми данными,
но всё-же она не исключена. Так, например, файл может иметь тот же хэш, что и текст.
Если коллизий не найдено, можно использовать только хэш, иначе, по хэшу можно было бы выдавать все данные,
с номером коллизии, а для однозначного идентифицирования - хэш + номер коллизии.
Но это только набросок.

В общем, блядь, как бы так попроще, спроектировать базу данных,
чтобы однозначно идентифицировать данные в ней?
Аноним 18/09/21 Суб 11:18:01 2160531147
>>2160468
Что ты несёшь, больной ублюдок?
Зачем тебе идентифицировать данные?
Аноним 18/09/21 Суб 11:43:46 2160538148
>>2160531
Хлебалом щелкни, сам ты ублюдок.

Ты чё тупой, тут же - черным по серому, блядь.

Есть таблица:
>ID, данные
ID - это не что инное как идентификатор.
Что делает ссаный идентификатор? Да ёбана, он же, блядь - идентифицирует!
Идентификацией идентификациональной.
А что же он идентифицирует, а?
ДАННЫЕ, блядь, тупая ж ты бошка! Он идентифицирует - ебучие данные.
Терь, пусть ID'ом, будет хэш, и пусть таблица являет собой хэш-таблицу.
И пусть будет два блока данных, с одинаковым хэшем.
Вуаля - коллизия-хуизия. Дальше, по тексту, сам, снова пройдись.
Если чо непонятно - спрашивай конкретно, и без выебонов своих, дегенератских.
Аноним 18/09/21 Суб 11:47:36 2160540149
>>2128337 (OP)
Аноны, когда происходит подключение к базе данных SQLite, грузится ли она в память целиком?
Или только те таблицы, которые запрашиваются, в память прогружаются?
Имеет ли смысл разделить огромную таблицу с многовесными блобами,
на несколько таблиц, и блобы засунуть в одну отдельную таблицу, чтобы жрало меньше памяти?
Или пофиг, и можно в одной таблице всё запилить?

Потому что если без базы данных, просто
>ID, BLOB
если хранить,
то имеет смысл прописать блобы в один файл,
и сделать быстровгрузающийся индекс с оффсетами блобов в этом файле,
и грузить только индекс.
А в сиквелайте как?
Аноним 18/09/21 Суб 12:20:40 2160551150
>>2160540
> грузится ли она в память целиком?
> Или только те таблицы, которые запрашиваются, в память прогружаются?
Нет, грузится только те ячейки, что запрашиваешь, никакие таблицы целиком не подгружаются. Sqlite - полноценная СУБД, в ней нет подобных подвохов.
> Имеет ли смысл разделить огромную таблицу с многовесными блобами, на несколько таблиц
Не имеет.
> Потому что если без базы данных, просто
> ID, BLOB
> если хранить, то имеет смысл прописать блобы в один файл, и сделать быстровгрузающийся индекс с оффсетами блобов в этом файле, и грузить только индекс.
Не имеет. Как будешь обеспечивать транзакционность, неужели многогигабайтными бэкапами на каждый запрос? Как будешь откатывать данные в консистентное состояние при ошибках ввода-вывода? А оптимизировать обращение к диску как? Решение этих проблем означает изобретение своей СУБД.
Аноним 18/09/21 Суб 13:44:18 2160593151
>>2160538
>пусть ID'ом, будет хэш,
Вот с этого момента непонятно, сам придумал? Так не принято. Как ты справедливо заметил, коллизии неизбежны, поэтому нельзя завязываться на хэши. Тебе нужен уникальный ID? Бери его из данных или генери инкрементом.
>пусть таблица являет собой хэш-таблицу
Тупое ничтожество, посмотревшее лекцию по алгоритмам на ютубе. Ты понимаешь, что такое хэш-таблица? Размер хэш-таблицы фиксирован!!! Только благодаря этому достигается скорость поиска за О(1)!!! Это невозможно сделать с обычной таблицей в БД!
Мне тебя жалко. Можем сделать вид, что мы друг друга поняли и не продолжать разговор.
Аноним 18/09/21 Суб 17:07:30 2160703152
>>2160593
>Вот с этого момента непонятно, сам придумал? Так не принято.
Ну, хэш-таблица же, "хэш - значение".
>Как ты справедливо заметил, коллизии неизбежны, поэтому нельзя завязываться на хэши.
В этом и заключалась вся суть вопроса - как правильно это сделать.
>Тебе нужен уникальный ID?
Да.
>Бери его из данных
Как?
>или генери инкрементом.
Если данные добавлять в подобные таблицы, в разной очерёдности,
инкрементируемые идентификаторы будут различными,
и не получится идентифицировать данные однозначно, по этим идентификаторам. Надо че-то более универсальное, например хэш,
но у хэша могут быть коллизии.
Поэтому, пришло в голову, сделать склейку из двух разных хэшей,
что-то вроде id = sha256+md5
но опять же, при длине данных большей чем id, даже у такого id будут коллизии, блядь.
Идеальнейший вариант - идентификатор длиной в данные.
Тогда все комбинации данных заданной битности, можно будет закодировать идентификаторами этой же битности.
Но это не точно, и хуй знает короче, блядь, как это всё организовать заебато. Поэтому я и здесь.

>>пусть таблица являет собой хэш-таблицу
>Тупое ничтожество, посмотревшее лекцию по алгоритмам на ютубе.
Ой блядь, завалил бы ты своё гнилое ебало, прежде чем так дерзко мне чё-то варнякать ИТТ, тупой хуесос.

>Ты понимаешь, что такое хэш-таблица?
Да, блядь, понимаю. Тупо таблица вида "хэш - значение", где значением являются данные, в моём случае.
>Размер хэш-таблицы фиксирован!!!
А у меня нет, и туда могут добавляться данные.
>Только благодаря этому достигается скорость поиска за О(1)!!!
Пиздишь, O(n) в худшем случае.
Вообще, O(1) - это извлечение данных по ключу, в один шаг.
Такое возможно только в отсортированных по хэшам хэш-таблицах,
вгруженных в память.
В противном случае, в неотсортированной по хэшам хэш-таблице, придётся пробегать все хэши, выискивая тот самый.
И хотя в отсортированной по хэшам, хэш-таблице,
возможен бинарный поиск, но это далеко не O(1).
>Это невозможно сделать с обычной таблицей в БД!
Я поэтому и здесь, чтобы узнать, как лучше организовать всю хуйню, в реляционной базе данных, внутри таблицы,
чтобы и скорость была норм,
и чтобы коллизии эти ебучие не ебали потом мозг,
и чтобы вся хуйня в память не вгружалась, а вгружалась только по мере необходимости.

>Мне тебя жалко.
В срачиллиу себе засунь свою жалось ебучую.
Ты так и не ответил на четко-поставленный, мною, вопрос.

>Можем сделать вид, что мы друг друга поняли
>и не продолжать разговор.
Я тебя прекрасно понял. А вот ты меня понял, или нет?
По-моему нет, причем по большей части, особенно в контексте твоего кукареканья, дегенератского.
Разве что по идентификатору у тебя прояснилось. Но это не точно.
Аноним 18/09/21 Суб 20:26:38 2160772153
>>2128337 (OP)
Базоданоны, хочу приебенить sqlite3 в наноборду.
Как думаете, норм идея, или лучше оставить прежнюю, костыльную базу данных, на файлах?
https://github.com/username1565/nanoboard/blob/8f0edd8d02b9f680f7ce1f70ddd29b8f7c367110/nanodb.exe-source/Database/PostDb.cs#L36
Я не очень силён в проектировании баз данных, только вкатываюсь во всё это дело,
в общем, пока вот:


(Таблица NanoPosts)
    id        (Primary Key, autoincrement),
,   PostHash  (text)
,   replyTo (text)
,   deleted (bool)
,   PostMessage (text)
,   DateTime (DateTime)
,   Pow (text)
,   Sign (text)
,   NumberOfAttachments (INT)

(Таблица Attachments)
    id (Primary Key, autoincrement)
,   PostHash (text)
,   NumberOfAttachment (int)
,   AttachmentHash (text)
,   AttachmentFileName (text)
,   AttachmentContent(BLOB)

(NanoPosts).(PostHash) < - > (Attachments).(PostHash) - связь 1 ко многим.


Можно ли эту хуйню сделать более заебенчатой, или и так сойдёт?
Аноним 22/09/21 Срд 12:37:31 2163757154
Все доброго дня, кто может скинуть пример сопроводительного письма на аналитика, а то я откликнулся на 30 вакансий и только одно приглашение, думаю может дело в нем.
Аноним 22/09/21 Срд 12:41:41 2163764155
Давай ты скинешь свой пример лучше.
Аноним 22/09/21 Срд 13:10:39 2163802156
Вот.
Добрый день, уважаемые специалисты HR.
Буду рад, если моя кандидатура вызовет у Вас интерес и Вы сможете рассмотреть меня на вакансию "Аналитик- стажёр".
Я имею небольшой, но продуктивный опыт в аналитической сфере . Это помогло мне понять окончательно,что я очень хочу продолжать активную работу, обучение и развитие в этом направлении. В своем резюме я указал курсы, которые я успешно прошел, так же я самостоятельно изучаю SQL. Являюсь активным пользователем Excel и Power BI.
В свободное время играю в футбол,люблю музыку и чтение профессиональной и художественной литературы.

От работы жду новых интересных и нестандартных задач.

Благодарю за внимание.
Аноним 22/09/21 Срд 13:26:18 2163832157
А блять я это говно вообще никогда не писал, но могу предложить добавить по факту чем ты занимался (техподдержка банковского хранилища например)
Аноним 22/09/21 Срд 14:17:07 2163904158
>>2163802
Холуйская манера письма и очень много воды. Уважаемые специалисты эйчар? Это точно не троллинг?
Я бы такое инстинктивно скипал, будучи эйчаркой.
В целом, шаблон сопроводительного письма это гнилая затея, у тебя должно быть максимум про твой опыт и скиллы написано в резюме. А отклик нужен для того, чтобы посмотрели твое резюме, а не для того, чтобы прочли унылый шаблончик и скипнули не открывая резюме.
Если хочешь писать сопроводительные письма, пиши конкретно под вакансию. В вакансии написано "знания технологий X и Y". Ты пишешь сопроводительное письмо "Добрый день! Хотел бы предложить свою кандидатуру на вашу вакансию. Работаю аналитиком столько-то лет, хорошо знаю технологию X, знаком с технологией Y. С уважением, анон". Всё. Без воды и холуйства.
Аноним 23/09/21 Чтв 10:29:12 2164679159
>>2128337 (OP)
Зачем нужны внешние ключи, если и так джоином все показывается?
Аноним 23/09/21 Чтв 10:33:07 2164683160
>>2164679
Чтобы говняк всякий не вставляли в таблицу. Внешний ключ означает, что ты не можешь вставить в таблицу значение, которого нет во внешней таблице.
Аноним 23/09/21 Чтв 10:53:29 2164708161
>>2164683
А без джоина получается вообще из двух таблиц нельзя посмотреть столбцы? Ну типа я селект всего сделал и sql автоматом выдал результат из двух таблиц сразу по ключу?
Аноним 23/09/21 Чтв 11:03:40 2164725162
>>2164708
Нет, чел.
select * from a, b без условий соединентя вернёт тебе декартово произведение, каждую строчку с каждой.
Если лень писать условия соединентя, есть ещё natural join, которым никто не пользуется. Он джойнит по всем полям, которые одинаково называются. Внешние ключи при этом не используются, вопреки расхожему мнению. Спалил вам секрет на 300к
Аноним 24/09/21 Птн 08:32:32 2165499163
>>2128337 (OP)
Какая есть онлайн IDE для MySQL? Вот для Питона есть Replit, для фронтендеров есть Codepen, а что есть для MySQL?

Для прям небольших задач на учебнном курсе.
Аноним 24/09/21 Птн 18:27:09 2165954164
Уважаемые ананасы, есть вопрос. Делаю сервис а-ля notion, суть такова: пользователь может создавать/редактировать заметки. Заметки бывают разные, туду-списки, таблички и т.д. Сразу схему я не придумаю, будет меняться по пути. На какой стул сесть? Кажется, что MongoDB, но есть сомнения. Мне не хочется, чтобы данные пользователя терялись, хочется транзакций с гарантией, чтобы всё по уму было.
Аноним 24/09/21 Птн 18:45:31 2165972165
>>2165954
> Сразу схему я не придумаю, будет меняться по пути
Если схема меняется, пишешь sql-скрипт миграции с нужными правками. Куда меньше головной боли, чем потом на уровне приложения играть в угадайку, в каком формате хранится документ, когда эти форматы менялись, и держать в приложении десятки подходящих загрузчиков.
Аноним 24/09/21 Птн 20:13:18 2166061166
Теперь я пришел к вам.
>>2165439 →

Коротко: почему pgAdmin фетчит данные быстро, а psql медленно?
Аноним 24/09/21 Птн 21:12:47 2166087167
shot0998.png 6094Кб, 1920x1080
1920x1080
>>2166061
Посбрасывал все мертвые сессии в пг, psql зашевелился. Потом заглянул в .env и обнаружил там не ту БД.
Сейчас чешу репу, почему не та БД оптимизирована хуже чем та, индексы должны быть одинаковыми. Та БД летает.

Будьте внимательней к своему окружению, да обойдут вас лаги стороной.
Аноним 25/09/21 Суб 13:08:29 2166706168
>>2164725
Секрет пиздец секретный
Натурал джойном не пользуются и это плохая практика, т.к. его использование создаёт дополнительную точку отказа — надо весь цикл сопровождения теперь следить чтобы у тебя поля одинаково назывались и не появлялось новых полей с одинаковыми названиями в джойнящихся таблицах, а то всё посыпется.
Просто проясняю для не шарящих, не как претензия к тому что ты сказал.
Аноним 26/09/21 Вск 09:03:33 2167283169
0V6NKSSPxD4.jpg 36Кб, 604x370
604x370
>>2166706
>>2164725
Означает ли это что все остальные джоины гейские и тхреад официально зашкварен?
Аноним 27/09/21 Пнд 06:16:50 2168146170
>>2128337 (OP)
Появилась идея, создать систему личной эффективности, внутри базы данных.
Но я пока не знаю, как лучше всё это организовать.

Что я вижу.
1. Дневник.
Тупо таблица, с записями, и дата там. Что делал, и нахуя, и инфа всякая. В блокноте писать такое не очень удобно, да и читать тоже, когда инфы дофига.

2. Задачи.
Что надо сделать, когда это взбрело в голову, и когда надо завершить задачу + инфа, как именно это делать, ссылки всякие, и так далее.

3. Задачи могут быть огромными проектами, состоящими из множества подзадач, деревьев из задач с подзадачами, и даже сетей из взаимосвязанных задач, блядь.

Как это всё организовать - понятия не имею, может подскажете?
Аноним 27/09/21 Пнд 06:18:14 2168147171
>>2168146
Да, и ещё...
4. В дневнике и задачах - систему тегов бы приебенить.
Чтобы можно было к записям дневника, и записям задач, проектов, и подзадач этих всяких - теги клеить, и по тегам этим быстро находить нужные записи, и что надо бы сделать, ну и собственно - всю инфу внутри них.
Аноним 27/09/21 Пнд 07:27:19 2168165172
Аноним 27/09/21 Пнд 10:09:09 2168208173
>>2168146
Ты сформулируй задачу чётче, тебе надо систему чтобы пользоваться или процесс написания важнее? Если второе то вот посмотри >>2159244 что анончик надумал, по сути у тебя такая же многоуровневая структура с задачами и подзадачами. Если первое то вариантов как говна, личная жира это наверное совсем скрам головного мозга, но какую-нибудь канбан доску можно вести онлайн или физически на стене с листочками.
Аноним 27/09/21 Пнд 19:21:40 2168564174
Как в монге сделать группировку внутри группировки, как тут https://stackoverflow.com/a/25667256, но чтобы результат был не в виде документов типа {_id: foo, value: 5}, а в виде {foo: 5}?
Аноним 27/09/21 Пнд 21:41:24 2168652175
Наверное, платиновый вопрос, но все же.

Представим нам нужно сджойнить таблицы A и B по некоторому полю id за 2021 год (где A - таблица фактов с полем даты date). Так вот будет ли второй запрос быстрее?

а) ... FROM A INNER JOIN B ON A.id = B.id WHERE YEAR(date) = 2021

б) ... FROM (SELECT ... FROM A WHERE YEAR(date)=2021) a INNER JOIN a.id = B.id

inb4:
@
IT DEPENDS


ну пусть тогда индекса по дате нет; в обоих таблицах 2 млн строк; SQL Server
Аноним 28/09/21 Втр 03:29:14 2168830176
>>2168208
>Ты сформулируй задачу чётче
Так это даже не задача пока, а просто черновой набросок, в виде идеи.
Хотя задачу уже вижу, вроде, она как-бы выкристаллизируется.
Задача эта, собственно, в области "проектирования баз данных",
потому что я, пока, даже представить не могу толком структуру БД,
не говоря уж о том, чтобы её создать.

>чтобы пользоваться или процесс написания важнее?
А вариант - написать и пользоваться, не канает штоле?

>Если второе то вот посмотри 2159244 (You) что анончик надумал
Это я и есть, сижу и тыкаюсь втупую, в SQLiteExpertProfessionalPortable

>по сути у тебя такая же многоуровневая структура с задачами и подзадачами.
Вот собственно в этом-то и заключался вопрос.
Как лучше и оптимальнее, организовать всё это, в виде таблиц?

>Если первое то вариантов как говна,
Скорее второе, ну и первое тоже.

>личная жира это наверное совсем скрам головного мозга,
Именно, я хочу что-то вроде личной базы, которая работает локально,
и никуда нихуя не сливает пароли всякие, планы, наработки, и прочую поебень.

>но какую-нибудь канбан доску можно вести онлайн
Чтобы снифферы перехвавали и записывали?

>или физически на стене с листочками.
Опять же, нужно организовать всё это. А как?

>>2168165
>Jira
Стремно сливать свои планы хуй знает куда, онлайн, бесплатно и без смс.
Аноним 28/09/21 Втр 04:21:31 2168833177
>>2168146
Лично я для начала стал использовать формат yaml. Пишу вручную, программа парсит и отображает содержимое файлов в удобном виде. Раньше писал дневниковые записи с временными метками в текстовом виде, потом и их тоже перевел на yaml.
Аноним 29/09/21 Срд 11:01:45 2169831178
Такая задачка.
Табличка, есть колонка с датой и дополнительная дата - создания самой записи.
Надо вывести пять последних дат и количество записей с ними, плюс дополнительно количество записей с ними со времени последнего запроса. (это будет вычисляться по дате создания + печеньке с датой визита).
Можно это как-то завернуть в один запрос? Пока сделал первую часть одним запросом простым, а потом в цикле делаю вторую, что колхоз.
Аноним 30/09/21 Чтв 21:05:13 2171033179
>>2169831
Через оконные функции
Аноним 30/09/21 Чтв 21:07:40 2171038180
>>2168146
В чём именно затык? В архитектуре?
>Тупо таблица, с записями, и дата там. Что делал, и нахуя, и инфа всякая. В блокноте писать такое не очень удобно, да и читать тоже, когда инфы дофига.
Таблица с тремя полями: дата, что делал, нахуя делал
>Что надо сделать, когда это взбрело в голову, и когда надо завершить задачу + инфа, как именно это делать, ссылки всякие, и так далее.
То же самое
>Задачи могут быть огромными проектами, состоящими из множества подзадач, деревьев из задач с подзадачами, и даже сетей из взаимосвязанных задач, блядь.
Таблица вида "Задача, внешняя ссылка на задачу" это для связи с подзадачами, на каждую подзадачу у тебя в таблице запись, связывающая задачу-проект с задачей-подзадачей.
Аноним 30/09/21 Чтв 21:10:09 2171041181
Аноним 30/09/21 Чтв 21:22:48 2171054182
>>2168146
>>2171038
>Таблица вида "Задача, внешняя ссылка на задачу" это для связи с подзадачами, на каждую подзадачу у тебя в таблице запись, связывающая задачу-проект с задачей-подзадачей.
Либо, если у тебя строго древовидная-иерархическая система задач, читай не бывает ситуации когда одна задача является подзадачей нескольких других одновременно читай когда не бывает ситуации что некая задача нужна чтобы выполнить более одной родительской задачи, как например "помыть пол" является необходимым и для выполнения "прибраться в комнате" и для выполнения скажем "трахнуть тянку" (которая по какой-то причине у тебя не подразумевает полностью прибраться в комнате, типа чтобы трахнуть тянку в этой комнате тебе достаточно просто помыть пол а вытирать пыль не нужно) можно пойти ещё проще и добавить поле "родитель", являющееся ссылкой на ту же таблицу задач, у нас такое на производстве есть например в применимости материалов.
Аноним 06/10/21 Срд 16:14:39 2175658183
3f958b0.jpg 93Кб, 750x773
750x773
Сап, программач.

Как можно определить почему база жрет много ЦПУ? DB2
Аноним 07/10/21 Чтв 09:23:39 2176448184
>>2175658
Смотри топ запросов.
Гугл говорит CREATE EVENT MONITOR statement
Аноним 07/10/21 Чтв 16:01:59 2176817185
А вот хардкорные базисты, работающие с запросами в полсотни строк они когда оптимизируют запросы, применяют сложность алгоритмов и прочие кодифицированные штуки для перфоманса?
Типа к примеру сделать выборку через подзапросы или через джоины.
Просто вот в новичковых учебниках(один из которых я дочитываю) ничего про внутринине структуры данных в базах нету и соответственно про сложность алгоритмов по памяти/по времени не очень ясно.
Ну вот некоторые поверхностные вещи про перфоманс при построении схемы, связанные с нормализацией/денормализацией я читал, но это относиться к DDL.
А где описываются вопросы перфоманса для работы с существующими базами(DML)?
Я это изучать не собираюсь, но просто интересно стало насколько глубока кроличья нора в этой сфере.
Аноним 07/10/21 Чтв 16:11:12 2176827186
>>2176817
Смотрят план запроса и задрачивают по нему.
Аноним 07/10/21 Чтв 18:06:41 2176918187
>>2176827
посмотрел по диагонали что такое планы запроса. и там какие-то баллы, у частей запроса. То есть там все равно не работают с реализацией структур. Это что-то вроде бенчмарка, я правильно понимаю?
Аноним 07/10/21 Чтв 18:08:23 2176920188
>>2176918
Он показывает, что движок бд будет делать для выполнения твоего запроса. И потом можно ручками оптимизировать для его улучшения.
Аноним 09/10/21 Суб 02:35:02 2177924189
>>2176817
Это более высокий уровень, здесь есть два варианта: бинарный поиск либо поиск перебором. И ещё такие вещи, как например целесообразность искать в маленьком списке, а не в большом. Ну то есть, уменьшить список перед тем, как искать в нём что-то.
Аноним 10/10/21 Вск 13:28:22 2179228190
>>2128337 (OP)
Как лучше всего хранить большую двоичную последовательность? С микроконтроллера постоянно приходит набор бит, куда его лучше всего сохранять? Просто в файл сбрасывать? Или для этого как-то удобно приспособить ту же Монгу?
Аноним 10/10/21 Вск 21:41:55 2179774191
Пишу в MS SQL Server:

CREATE PARTITION FUNCTION PR ( datetime )
AS RANGE RIGHT
FOR VALUES (
'2010-12-31 23:59:59.997',
'2011-12-31 23:59:59.997',
'2012-12-31 23:59:59.997',
'2013-12-31 23:59:59.997',
'2014-12-31 23:59:59.997',
'2015-12-31 23:59:59.997'
)

Получаю:
Невозможно неявно преобразовать значения диапазона, указанные в параметре под порядковым номером 1 к типу параметра функции секционирования.

что не так со значениями?

;
Аноним 10/10/21 Вск 23:23:57 2179849192
>>2179774
никогда не имел дел с mssql .
насколько я помню, нигде нельзя опустить партишн в которые добавляются новые значения. то есть граница одной партиции (секции, блядь, специально для неруси) должна быть открыта
Аноним 10/10/21 Вск 23:25:22 2179851193
>>2179228
эта твоя двоичная последовательность чем характеризуется?
разумеется в файл всегда проще, если ты в пидорахенском нии вундервафли клепаешь.
нормальные программисты о таком и не спрашивают.
Аноним 11/10/21 Пнд 11:14:01 2180058194
Профессионалы, как мне добиться нужного?
Есть база в postgresql, в ней табличка с полями timestamp, bool.
Есть клиенты которые могут одновременно обращаться к базе.
Клиент должен выбрать строку с timestamp <= client_time and not flag, если такая строка нашлась, то переключить флаг и потом еще обновить время.
Важно что бы два и более клиентов не могли получить одну и ту же строку и при одновременном обращении, так же по логике работы подходящей строки в базе может и не быть, в текущий момент.
Аноним 11/10/21 Пнд 13:29:47 2180185195
>>2180058
открыть книжку и прочитать про Транзакции.
Аноним 11/10/21 Пнд 17:42:24 2180407196
>>2180185
Некогда книги читать, работать надо, объясни на пальцах.
Аноним 11/10/21 Пнд 17:57:31 2180424197
>>2180407
увольняйся или объясняй кабанчику что ты не шаришь.
Аноним 11/10/21 Пнд 20:49:38 2180597198
Можно в мускуле сделать так, чтобы в столбце true было только у одной ячейки? Что-то типа радиокнопки, один true, остальные false. При смене остальные автоматом менялись на false. не костыльный вариант
Аноним 11/10/21 Пнд 20:56:02 2180605199
>>2180597
Если бы у тебя была нормальная БД вместо мускла, можно было бы извратиться с partial unique index, но это в любом случае костыли и вообще бизнес-логика в БД. Делай на уровне приложения.
Аноним 11/10/21 Пнд 21:13:45 2180634200
>>2180605
не сметь пиздеть на mysql

create trigger before insert on ..
...
select count(id) ...

signal sqlstate '45000' set message_text = 'idite nahooy'
Аноним 13/10/21 Срд 21:04:36 2182780201
>>2180634
Говно мускул или нет это вопрос.
А вот что
>бизнес логика внутри бд
и
>делай на уровне приложения
Чистая правда
Аноним 14/10/21 Чтв 00:10:41 2182969202
>>2128337 (OP)
Зачем нужен эластик если можно юзать GIN-индекс в том же Postgres?
Аноним 14/10/21 Чтв 00:51:16 2182999203
>>2182969
что значит "зачем нужен" ?

вайти полно дублирующихся вещей в виде исторических и конкурентной борьбы артефактов.
Аноним 15/10/21 Птн 07:57:05 2184095204
Как посчитать средневзвешенное значение без оконных функций?
Аноним 15/10/21 Птн 10:51:48 2184163205
>>2128337 (OP)
Как в Постгресе эффективно индексировать boolean-значения?
Аноним 15/10/21 Птн 12:37:19 2184270206
>>2184095
никак, блядь. зачем? это с собеседования вопрос?
Аноним 15/10/21 Птн 18:04:19 2184598207
Анон, поясни плз. Нужно понять для того, чтобы сохранить деньги. Я нихуя в этом не разбираюсь, но мне надо составить документацию (для гос. организации) с требованиями по закупке. Планируется создать сайт.

Клиент-серверная архитектура будет выглядеть так: "Веб-сервер - Сервер БД - БД".

Затребовали конфигурацию сервера БД:

Процессор: такой-то
Оперативная память: столько-то
RAID-контроллер: такой-то
Свободное место на жёстких дисках: 2 ТБ

Правильно ли я понимаю, что отдельно для БД не надо запрашивать конфигурацию? БД как бы выходит в "Сервер БД"?

И еще. Как я понял, мне нужно теперь запросить вторую конфигурацию для Веб-сервера, где будет размещён сам сайт. Всё верно?
Аноним 15/10/21 Птн 18:35:37 2184641208
>>2184598
>Затребовали конфигурацию сервера БД:
Как затребовали так и оттребуют.
Если вы раньше не эксплуатировали идентичные приложения, то ничего заранее сказать нельзя.
можно только на 3000% умножить твои ожидания и наверняка все будет ок.

Хуй знает что вам там в госах делать. Биржевые аналитики вон проморгали кризис 2008 года, а ты хочешь чтобы тебе на дваче сайзинг бд сделали.
Аноним 15/10/21 Птн 18:37:00 2184643209
>>2184598
а ну да, как же я забыл!
Объявляешь ЕЩЕ один тендер на НИОКР . И дело в шляпе.
Разве не так дела у вас делаются?
Аноним 15/10/21 Птн 18:50:34 2184658210
>>2184641
>>2184643
Ну давайте тогда задам простой вопрос. Правильно ли я понимаю, что Веб-сервер должен быть размещён на одном оборудовании, а Сервер БД и БД - на втором обрудовании?
Аноним 15/10/21 Птн 18:53:28 2184665211
>>2184658
можно так, а можно эдак.
Если это малопосещаемый сайтец для конторы сделанный чтобы было, пожалуй , это даже оптимально.

Эмпирически, с одним сервером - одна проблема, а с двумя - пять проблем.
Аноним 15/10/21 Птн 18:55:25 2184668212
анончики, мимо проходил: сервер БД и БД - это одно и то же?
Аноним 15/10/21 Птн 18:56:07 2184671213
>>2184665
Нихуя не понял. Но ведь в моём случае же будет два сервера? Один сервер для Веб-приложения (где размещён сайт), а второй - для Сервера базы данных и самой БД.
Аноним 15/10/21 Птн 20:30:22 2184758214
>>2184668
Есть БД, а есть СУБД, которая управляет БД. СУБД может быть серверной, но не обязательно.
Аноним 15/10/21 Птн 22:12:59 2184837215
Ананасы, есть таблица вида:
id, reg0, reg1, reg2, count0, count1, count2
Нужно преобразовать в:
id, reg, count

Т.е. было:
1, 10, 12, 15, 2, 2, 1
А будет:
1, 10, 2
1, 12, 2
1, 15, 1

Каким можно так сделать, по мимо экспорта в csv и написание преобразования вручную?
Аноним 15/10/21 Птн 22:21:19 2184839216
>>2184837
Через insert into ... select ..., например;
insert into mytable (id, reg0, reg1, reg2, count0, count1, count2) select (id, reg0, null, null, count0, null, null) from mytable where count1 is not null and count2 is not null;
insert into mytable (id, reg0, reg1, reg2, count0, count1, count2) select (id, null, reg1, null, null, count1, null) from mytable where count0 is not null and count2 is not null;
insert into mytable (id, reg0, reg1, reg2, count0, count1, count2) select (id, null, null, reg2, null, null, count2) from mytable where count0 is not null and count1 is not null;
delete from mytable where count1 is not null and count2 is not null and count3 is not null;
Аноним 15/10/21 Птн 22:26:37 2184843217
>>2184839
Похуй, написал парсер уже
Аноним 15/10/21 Птн 23:43:45 2184887218
>>2179849
Как оказалось. проблема была куда банальнее - по умолчанию в datetime сначала пишется день. а потом месяц, хотя я был уверен, что уже писал в другом формате и всё работало.
Аноним 15/10/21 Птн 23:46:43 2184889219
Нужно написать триггер типа INSTEAD OF, который будет блокировать удаление строки в случае, если на неё ссылаются из другой таблицы, но я тупой и не могу понять: а как эта блокировка должна выглядеть? Нужно if городить с условием "если ссылается то удалить, если нет то идите нахуй", или идти от обратного и прописывать удаление строки если не ссылается?
Аноним 15/10/21 Птн 23:49:07 2184891220
>>2184889
> блокировать удаление строки в случае, если на неё ссылаются из другой таблицы
Чем обычный констреинт с внешним ключом не устраивает?
Аноним 16/10/21 Суб 03:37:55 2185040221
>>2184270
Нет, бизнес задача.
Аноним 16/10/21 Суб 04:08:28 2185044222
>>2185040
Вы там совсем охуели? Твой труд дешевле установки свежего mysql ?
Нет, ты можешь найти какие-нибудь способы сделать это в процедурном sql, но смысла нет. Посылай своих кабанчиков
Аноним 16/10/21 Суб 13:32:40 2185213223
>>2185044
Почему нет? Где это ещё считать?
Есть массив данных из селекта в том числе надо посчитать средневзвешеное, если не считать это в скуле, нужно будет передавать весь массив данных чтоб приложение считало, а так сразу все красиво и сгрупировано, в 1000 раз меньщше данных в резалте.


Вот это нужно посчитать
https://ru.wikipedia.org/wiki/%D0%A1%D1%80%D0%B5%D0%B4%D0%BD%D0%B5%D0%B5_%D0%B0%D1%80%D0%B8%D1%84%D0%BC%D0%B5%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%B2%D0%B7%D0%B2%D0%B5%D1%88%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5


Если делать через оконные, проебываются остальные агрегации, через две группировки тоже говно какое-то. Наверняка решение где-то на поверхности.
Аноним 16/10/21 Суб 17:32:07 2185334224
>>2184891
Всем устраивает, но мне именно триггер нужен
Аноним 16/10/21 Суб 18:18:28 2185359225
>>2185213
>Если делать через оконные, проебываются остальные агрегации,
так если они по одному и тому же окну, почему они проебываются?
Аноним 17/10/21 Вск 00:54:14 2185644226
image.png 84Кб, 1327x517
1327x517
А можно это сделать как то покрасивее? А то в этом запросе много кода просто дублируется
Аноним 17/10/21 Вск 02:48:39 2185689227
>>2185359
Итоговый вывод данных нужен уже сгруппированный, если мы первую задачу решаем через окно, потом при групировке все схлопнется. Там это не единственное вычисление же.
Аноним 17/10/21 Вск 02:55:37 2185691228
>>2185644
Сделать left жоины трех таблиц потом отфльтровать null
Аноним 17/10/21 Вск 04:41:34 2185703229
>>2128337 (OP)
Анон, что такое СУБД?
Давайте рассмотрим это понятие поближе.
Существуют ли СУБД, на самом деле, или же нет?
Конечно же нет.
СУБД - Система управления базами данных.
О каком управлении может идти речь, в принципиально-неуправляемом ебне фаталистичном?
Нет, блядь, и быть не может в принципе никакого "управления", блядь, более того, в объективной реальности, нет и быть не может в принципе никаких "субъектов", которые могли бы чё-то там "управлять".
То, что мы называем "управлением", есть ничто инное как исполнение алгоритма биороботами, и/или программными средствами. О каком управлении, тогда, речь?
Следовательно, нет и быть не может в принципе никаких СУБД.
Таким образом, предлагаю переименовать СУБД в СОБД - Система Обработки Базы данных, или во что-то наподобие оного.
Аноним 17/10/21 Вск 04:58:06 2185704230
>>2185703
Ты дурачок? Есть база данных, есть система, которая ей управляет - сервер и его обвзяка.
Аноним 17/10/21 Вск 07:17:03 2185713231
>>2185704
Если это тупо система, то как она может управлять? Она тупо срабатывает, как любая другая система, и нихуя не управляет. Значит это нихуя не система управления, а просто система, которая срабатывает. Не существует управления никакого, это всё пиздёж. Что непонятного, блядь?
Аноним 17/10/21 Вск 07:25:13 2185715232
>>2185713
Управляет, разруливает блокировки, выбирает планы запроса.
Откуда вы блядь лезете ебанаты
17/10/21 Вск 12:00:38 2185787233
>>2185703
Управляет не средство управления, а человек посредством средства управления. Ебать откровение, да?
Аноним 17/10/21 Вск 13:09:06 2185814234
>>2184671
Ты говорил про "на одном оборудовании", и он соответственно тебе ответил про оборудование. Говоря "два сервера", он имел в виду физически, т.е. два компа на которых крутятся серверные приложения, на одном одно на другом другое. А могут и на одном компе, кто им запретит?
>>2184668
Бд это набор нулей и единиц, это данные. Могут быть в файле, могут быть в файлАХ, эти файлы могут быть на одном диске, на двух, на миллиарде, на одном компе, на двух, на миллиарде.
СУБД это программа, которая понимает формат БД. Вот к этому добавлю >>2184758 :
>СУБД может быть серверной
из несерверных СУБД навскидку офисные приложухи (вроде) типа ms access и libreoffice base, довольно популярная встраиваемая sqlite3 и файловый режим работы 1с предприятия.
Аноним 18/10/21 Пнд 01:21:15 2186421235
>>2185715
>разруливает блокировки, выбирает планы запроса
не значит что оно управляет.
Но мы не твоя мамка

>>2185787
>Управляет не средство управления,
>а человек посредством средства управления.
>Ебать откровение, да?
Так чел - это просто биоробот, который тоже тупо срабатывает по алгоритму, в объективной реальности не существует субъектов, способных в действительности что-то там "управлять", а значит не существует никакого "управления".
Так что выкиньте нахуй это лживое слово из аббревиатуры, оно же вводит всех в заблуждение, не?
18/10/21 Пнд 01:47:08 2186432236
>>2186421
> Так чел - это просто биоробот, который тоже тупо срабатывает по алгоритму, в объективной реальности не существует субъектов, способных в действительности что-то там "управлять", а значит не существует никакого "управления".
У человека по умолчанию есть свобода воли. Сначала сходи в /ph/ (а лучше в /psy/ или /me/) и докажи обратное, затем уже сри здесь сколько вылезет. Иначе репорт за оффтоп.
Аноним 20/10/21 Срд 23:41:06 2189104237
>>2186432
>У человека по умолчанию есть свобода воли.
>докажи обратное
Коль ты пиздишь, то ты и докажи что она есть.

Детерминизм исключает наличие выбора, и свободы выбора, а значит и воли и свободы воли: https://ru.wikipedia.org/wiki/Детерминизм Фатализм, который следует из необратимости и неумолимого течения времени - тем более.
Аноним 21/10/21 Чтв 07:14:59 2189201238
image.png 90Кб, 920x936
920x936
В чём разница между cross join и cross apply?
Аноним 21/10/21 Чтв 17:21:46 2189562239
>>2128337 (OP)
Как выбрать все таблицы из бд кроме одной
SHOW TABLES FROM database NOT LIKE 'users';
При этом с LIKE работает и выбирает одну.
Аноним 21/10/21 Чтв 17:26:22 2189569240
Аноним 22/10/21 Птн 12:44:51 2190222241
>>2128337 (OP)
Пусть есть таблица с ветвлением (id, parentID, info), в которой есть дерево.
Вопрос: Каким запросом можно извлечь N ветвей дерева?
Аноним 22/10/21 Птн 12:51:49 2190227242
>>2190222
Рекурсивным запросом.
Аноним 22/10/21 Птн 13:44:52 2190263243
>>2190227
Годный ответ, но непонятный. Хотя при такой нечеткой постановке вопроса, возможно это самое лучшее что можно было ответить.

Пожалуй, уточню конкретно.
Пусть есть дерево:

х
 у
й
  н
   я
    б
     л
      я

и таблица с ветвлением:

| id | parentID | info |
| 1 | 0 | х |
| 2 | 1 | у |
| 3 | 0 | й |
| 4 | 2 | н |
| 5 | 3 | я |
| 6 | 4 | б |
| 7 | 5 | л |
| 8 | 6 | я |

Как сделать рекурсивный запрос с уровнем 3,
на селект элементов "х", "у", "й", "н", "я", чтобы "б", "л", "я" не выводилось вообще, потому что оно где-то там, уже после 3.

Это - относительно нуля 3.
А если относительно 1, или 2, надо 3 уровня извлечь,
то какой тогда SQL-запрос надо?
Не вдуплю вообще как работать с этим WITH RECURSIVE.
Аноним 22/10/21 Птн 13:55:07 2190271244
>>2190263
Ответ ожидаю такой:
>Старт=0, depth=3
| 1 | 0 | х |
| 2 | 1 | у |
| 3 | 0 | й |
| 4 | 2 | н |
| 5 | 3 | я |

>Старт=1, depth=3
| 2 | 1 | у |
| 4 | 2 | н |
| 5 | 3 | я |
| 6 | 4 | б |

>Старт=2, depth=3
| 4 | 2 | н |
| 5 | 3 | я |
| 6 | 4 | б |
| 7 | 5 | л |
| 8 | 6 | я |
Аноним 23/10/21 Суб 07:17:33 2191173245
>>2190271
В первой части рекурсивного запроса добавляешь столбец счётчик с начальным значением, во второй части прибавляешь к нему единицу, проверяешь в условии его значение
Аноним 23/10/21 Суб 11:29:23 2191263246
image.png 51Кб, 671x336
671x336
Аноним 24/10/21 Вск 03:34:56 2191929247
>>2191263
Так надо на швабре написать и в анус вставить
пошёл нахуй отсюда петросян
Аноним 24/10/21 Вск 05:01:59 2191935248
>>2191929
Та дай нормальный запрос, сукка, я ибал весь этот синтаксис пердолить. Нихуя не понятно по ангельски, какие-то схемы ебучие, какие-то Union, With, хуй знает что ещё. Мне же просто надо извлечь 3 ветви ебучего дерева, а не красноглазить неделями над этим сиквелом, ну ёбанарот.
Аноним 24/10/21 Вск 09:07:43 2191952249
>>2191935
>я ибал весь этот синтаксис пердолить
Палю лайфхак - пиши на чём умеешь. Select from ; и дальше ищешь что тебе надо ручками на жс, питоне, чём хочешь.
Аноним 24/10/21 Вск 09:09:02 2191953250
>>2191952
>Select from ;
Макака сожрала звёздочки. Ну ты понел о чём я.
Аноним 24/10/21 Вск 09:17:31 2191956251
>>2191952
Да, нахуй тот движок бд, индексы и прочую душноту. Качай гигабайты говна и молоти в похапе.
Аноним 24/10/21 Вск 19:03:06 2192425252
Кто-нибудь работал с дата стэком на Azure? Интересно, что нынче популярно, а что остается лишь как поддержка легаси.
На работе предлагают мигрировать в облако (только Azure) и хотелось бы сделать грамотно.
Аноним 25/10/21 Пнд 12:53:30 2193032253
Есть ли смысл в 2021 вкатваться в ДБА?
Аноним 25/10/21 Пнд 13:17:39 2193048254
>>2193032
мало удалёнки
много гемора, ответственности и могут заставить ебошить, когда все остальные уже видят сны или накатывают стакан вкусного вискаря в барчике
хреново со сменой работы
Аноним 25/10/21 Пнд 15:33:05 2193157255
>>2193032
зачем дба? Полно вакансий аналитиков и прочих sql-макак
Аноним 25/10/21 Пнд 23:52:58 2193583256
>>2193157
>зачем дба?
Думаю, мне это поможет в дальнейшей карьере. Научусь всякую хуету делать, а не просто запросы и етли писать.
Аноним 26/10/21 Втр 09:36:04 2193675257
>>2191952
>>2191953
>>2191956
Да ну ёбанарот, пасаны! Я же впостил таблицу вам, блядь...
Ответьте же, просто - рабочим сиквель-квери и ебись рот всей этой ебучей конструкции.
Вы хоть видели сколько матчасти, на ангельском, нужно грызть, и ещё и вдуплить, чтобы только построить этот грёбанный рекурсивный запрос?
Какие-то with, какие-то union, блядь, какие-то условия ебучие, и таблицы - таблицы в примерах совсем не те.
Просто три ветки извлечь надо и не более. Нахуй мне маны все эти колупать с букаффами-то, непонятными?
Аноним 26/10/21 Втр 09:50:47 2193687258
>>2193675
Ты даже не пытался ничего найти. Вот здесь в примере как раз твой случай, нужно только добавить фильтр по нужному уровню. https://habr.com/ru/post/27439/
Аноним 26/10/21 Втр 12:06:16 2193775259
image.png 35Кб, 552x296
552x296
image.png 91Кб, 1250x463
1250x463
>>2193687
Даблять ну ебать-копать, вы можете мне дать нормальный SQL-запрос или не можете?!!

Твой пример нихуя не пашет с первых же строк (пик1).
С горем пополам, добавив FK вручную, сделал эту долбанную-передолбанную табличку (пик2),
думал что вот вот запашет этот запрос. А вот хуй - нихуя не пашет, блядь.
Ты кого наебать пытаешься? Что это за наебалово скамное такое?
Где мой грёбанный запрос, быстро гоните запрос, ещё вчера.
Аноним 26/10/21 Втр 12:19:40 2193783260
>>2193775
Вот хуясе чё нарыл: https://newbedev.com/creating-a-list-tree-with-sqlite
Вроде даже робит.
Только как эти точки превратить в строчки - хуй знает, блядь.
И вообще, задача стояла получить 3 уровня, начиная с заданного, если вы помните...
Аноним 26/10/21 Втр 12:56:32 2193812261
>>2193783
Может можно как-то проще, без рекурсии этой хитромудровыпиханной?
Как-то, блядь, селект, потом для каждой строчки ещё по селекту, и так далее и тому подобное - три раза подряд, блеать?
Аноним 27/10/21 Срд 02:12:34 2194505262
>>2193812
Сделай три джоина саму на себя
Аноним 27/10/21 Срд 03:14:49 2194520263
Существует ли БД, которая работает с одним локальным файлом вроде sqlite, но с возможностью одновременного доступа нескольким пользователям?
Аноним 27/10/21 Срд 06:45:31 2194557264
>>2194505
Как? Просто JOIN или INNER JOIN, И что в условии ON написать? Дайте готовый запрос уже блядь, ну хули мне их составлять самому, если я нихуя не шарю в этом SQL?
Аноним 27/10/21 Срд 06:52:33 2194558265
>>2194505
>create table if not exists tree_sample (
> id integer not null primary key
>);
>
>ALTER TABLE [tree_sample] ADD COLUMN id_parent INTEGER REFERENCES tree_sample(id);
>ALTER TABLE [tree_sample] ADD COLUMN nm varchar(31);
>
>INSERT INTO tree_sample (id, id_parent, nm) VALUES(0,null,null);
>INSERT INTO tree_sample (id, id_parent, nm) VALUES(1,0,'х');
>INSERT INTO tree_sample (id, id_parent, nm) VALUES(2,1,'у');
>INSERT INTO tree_sample (id, id_parent, nm) VALUES(3,0,'й');
>INSERT INTO tree_sample (id, id_parent, nm) VALUES(4,2,'н');
>INSERT INTO tree_sample (id, id_parent, nm) VALUES(5,3,'я');
>INSERT INTO tree_sample (id, id_parent, nm) VALUES(6,4,'б');
>INSERT INTO tree_sample (id, id_parent, nm) VALUES(7,5,'л');
>INSERT INTO tree_sample (id, id_parent, nm) VALUES(8,6,'я');
>
>SELECT *
>FROM tree_sample AS level1
>JOIN tree_sample AS level2
> ON level2.id = level1.id_parent
>JOIN tree_sample AS level3
> ON level3.id = level2.id_parent
>WHERE level1.id = '0' OR level1.id = level2.id_parent OR level3.id = level2.id_parent
>
-> ХУЙНЯ, БЛЯ
Аноним 27/10/21 Срд 08:52:38 2194581266
image.png 6Кб, 255x173
255x173
image.png 38Кб, 300x250
300x250
Есть таблица по типу пикрелейтед
Нужно сначала в рамках каждой группы найти персону с наибольшем количеством баллов, а потом собрать все баллы из группы и передать этой персоне. Ну то есть условно у нас есть Вася и Петя в группе 1,у Пети больше баллов, значит оставляем строчку Петя 6. Чот ни как не могу сообразить, сплошное говно и костыли получается.
Аноним 27/10/21 Срд 09:03:25 2194583267
>>2194558
У меня норм вроде


select t1.nm,t2.nm,t3.nm
from [dbo].[tree_sample] as t1
left join [dbo].[tree_sample] as t2
on t1.id=t2.id_parent
left join [dbo].[tree_sample] as t3
on t2.id=t3.id_parent
Аноним 27/10/21 Срд 11:13:39 2194669268
>>2194520
>БД, которая работает с одним локальным файлом вроде sqlite
sqlite
>но с возможностью одновременного доступа нескольким пользователям
sqlite
+chmod 666
Аноним 27/10/21 Срд 12:14:19 2194726269
>>2194558
>>2194583
Вобще честно говоря я не понял нихуя что ты хочешь, какая бизнес задача так сказать. Очень похоже что тебе просто нужна пагинация, а ты какую-то хуйню придумываешь.
Аноним 27/10/21 Срд 12:15:29 2194728270
>>2194583
чё за дбо? из банка, что ли, капчуешь?
Аноним 27/10/21 Срд 12:17:05 2194730271
>>2194728
нет, не из банка, dbo же это стандартная схема mssql
Аноним 27/10/21 Срд 13:16:20 2194802272
image.png 38Кб, 451x468
451x468
image.png 27Кб, 444x285
444x285
>>2194728
>чё за дбо? из банка, что ли, капчуешь?
>>2194730
>нет, не из банка, dbo же это стандартная схема mssql
Ясно, я просто заменил [dbo] на [main], и оно заработало.

>>2194583
Смотри что вылазит (пик1). Сама таблица - на пик2.

>>2194726
>Вобще честно говоря я не понял нихуя что ты хочешь, какая бизнес задача так сказать.
>Очень похоже что тебе просто нужна пагинация, а ты какую-то хуйню придумываешь.
Вот смотри. Есть наноборда. И есть формат поста:
>PostHash = ReplyToHash+PostMessage
И есть таблица:
|PostHash|ReplyTo|PostMessage|
Нанопостом может быть тред, или категория.

Грубо говоря, PostHash - это id, ReplyToHash - это id_parent, PostMessage - это инфа (из предыдущей таблицы).

Ну так вот, из этой таблицы, надо выгрузить - 3 уровня ответов, по заданному хэшу.

Скажем так. Пусть имеется хэш поста-категории.
Значит, надо, получить в ответе - сам пост с категорией,
список ответов к этому посту - список тредов,
и списки ответов в треды эти - сам посты в тредах.

Ответы получаются как-то вот так:
https://github.com/username1565/nanoboard/blob/dev/nanodb.exe-source/Database/PostDb.cs#L974

И если прихуярить SQLite, то надо бы SQL-запросом из базы доставать всю эту хуйню.
Понял, да?

З.Ы. Так нихуя и не пашет ваш сиквель-запрос, блядь.
Аноним 27/10/21 Срд 15:39:17 2195053273
>>2194581
select t1.group,t2.maxname,summa
(select group, sum(points) summa from
table group by group) t1 join (select group, name maxname,points, row_number() over (partition by group, name, order by points desc) okonka from table) t2
on t1.group=t2.group and t2.okonka=1

Какое-то такое говно получилось, скорее всего оно даже не запустится так как затестить негде толком, но логику думаю можно понять.
Аноним 27/10/21 Срд 16:11:33 2195133274
Тупой вопрос тупого аналитика, который остался один.
Правильно ли я понимаю, что одну звезду нужно создавать под отдельный источник? Или нет?
Аноним 27/10/21 Срд 16:33:47 2195176275
>>2195133
Если я правильно понял что ты назвал звездой, и что ты подразумеваешь под источником, то нет. Я так понял отталкиваться надо от сущности.
Аноним 27/10/21 Срд 18:17:02 2195296276
>>2195176
Источник это какой-то левый сервис, данные из которого нужно забрать из двх. Звезда - это структура таблиц, в которой куча справочников смотрят на таблицу фактов
Аноним 27/10/21 Срд 18:51:26 2195322277
>>2195296
Так ты и источника грузишь какую-то залупу, клиентов например, в моём понимании это сущность. Если такой сущности у тебя в базе нет - ебашишь новую, если есть, надо хуярить в существующую, скорее всего придётся поебаться с ЕТЛ.
Аноним 27/10/21 Срд 19:02:01 2195329278
>>2195322
>Если такой сущности у тебя в базе нет - ебашишь новую
А если у меня есть 'продажи' из двух разных источников. И если бы я делал звезду на каждый из них они бы отличались пятью атрибутами.
Я могу создать две звезды, или добавить в старую звезду 5 атрибутов, сделать их налл для старого источника, и записать значения из новго.
Как правильней?
Аноним 27/10/21 Срд 21:26:24 2195451279
>>2195329
Второй вариант. Тебе потом из этой ебалы витрины строить, всё равно объединять придётся. идентификатор системы-источника обязательно прихуярь ко всем сущностям.
Аноним 28/10/21 Чтв 03:32:34 2195693280
>>2195053
Да спасибо анончик, понял.

типо сначала ебашим по хардкору групбай, чтоб найти сумму, а потом делаем жоин через окно, только топ 1 практиканта, и таким образом получаем имя.
Аноним 28/10/21 Чтв 17:22:46 2196292281
>>2190271 >>2194558
Блядь, хуй от вас дождёшься вменяемого ответа. Сам решил через 4 селекта с UNION.

>Старт=0, depth=3
| 1 | 0 | х |
| 2 | 1 | у |
| 3 | 0 | й |
| 4 | 2 | н |
| 5 | 3 | я |

>Select
>from tree_sample
>where id_parent = "0"
>UNION
>Select

>from tree_sample
>where id_parent = "1"
>UNION
>Select
>from tree_sample
>where id_parent = "2"
>UNION
>Select

>from tree_sample
>where id_parent = "3"


>Старт=1, depth=3
| 2 | 1 | у |
| 4 | 2 | н |
| 5 | 3 | я |
| 6 | 4 | б |

>Select
>from tree_sample
>where id_parent = "1"
>UNION
>Select

>from tree_sample
>where id_parent = "2"
>UNION
>Select
>from tree_sample
>where id_parent = "3"
>UNION
>Select

>from tree_sample
>where id_parent = "4"

>Старт=2, depth=3
| 4 | 2 | н |
| 5 | 3 | я |
| 6 | 4 | б |
| 7 | 5 | л |
| 8 | 6 | я |

>Select
>from tree_sample
>where id_parent = "2"
>UNION
>Select

>from tree_sample
>where id_parent = "3"
>UNION
>Select
>from tree_sample
>where id_parent = "4"
>UNION
>Select

>from tree_sample
>where id_parent = "5"

вроде пашет, осталось терь оптимизировать всю хуйню, походу.
Аноним 28/10/21 Чтв 23:08:03 2196700282
Двач, подскажи нубу. Есть сущность, которую в дальнейшем надо искать только по id. У этой сущности есть несколько свойств(не много), которые могут меняться время от времени(раз в день). Как это в SQL должно выглядеть?
Аноним 28/10/21 Чтв 23:08:48 2196703283
>>2196700
Даже так, не "могут меняться", а "меняются"
Аноним 28/10/21 Чтв 23:11:17 2196709284
>>2196700
Тебе нужна справка по синтаксису select/update, или в чём твой вопрос?
Аноним 28/10/21 Чтв 23:18:21 2196723285
>>2196700
Вопрос в том как спроектировать структуру базы под это. Условно есть пациенты и мне следим сколько(в граммах) каждый из них насрал и нассал в день. Нужно в итоге по id пациента(а других данных о пациенте нет и не нужно) получать инфу:
27.10.2021 нассал литр, насрал килограмм
28.10.2021 нассал 3 литра, насрал килограмм
29.10.2021 нассал поллритра, насрал 3 килограмма
...
Аноним 28/10/21 Чтв 23:25:36 2196736286
>>2196723
Две таблицы:
- patients (id (PK), name, ...) - пациенты
- patient_history (id (PK), patient_id (FK -> patients.id), date, feces_amount, urine_amount) - инфа о пациентах
Аноним 28/10/21 Чтв 23:26:57 2196740287
>>2192425
Внезапно ежур сиквель, не?
И космос дб для мажоров. Иногда космос граф.
Блоб хуита для остальных.

Я не ДБА, но чаще всего вижу такое
Аноним 28/10/21 Чтв 23:53:09 2196754288
>>2196736
Тут смущает то, что у пациента даже имени нет, только id
Аноним 29/10/21 Птн 00:03:42 2196765289
>>2196754
Ну и что? Раз у тебя такая модель данных, так и делай. Будет таблица patients с единственным столбцом id.
Аноним 29/10/21 Птн 00:16:41 2196771290
>>2196765
Мне это по началу казалось ненормальным. Спасибо
Аноним 29/10/21 Птн 01:43:04 2196812291
>>2196771
Это пациент насрал тебе на модель данных только что. Нахуя тебе выносить в таблицу с одним столбцом? Ты что ебобо?
Тебе нужна обычная звезда, если у пациентов только ID нет смысла выносить.
Ты можешь сделать два варианта в зависимости от бизнес задачи:
1) id (PK), patient_id , date, feces_amount, urine_amount,update_time) При таком подходе одна строчка в больнице это будет поведение пациента за день
2) id (PK), patient_id , date, action_id,update_time) При таком подходе одна строчка будет одно событие.
Аноним 29/10/21 Птн 02:22:34 2196832292
>>2196292
create table tree_sample (
id integer not null primary key,
id_parent int,
nm varchar(31)


);

INSERT INTO tree_sample (id, id_parent, nm) VALUES(0,null,null);
INSERT INTO tree_sample (id, id_parent, nm) VALUES(1,0,'х');
INSERT INTO tree_sample (id, id_parent, nm) VALUES(2,1,'у');
INSERT INTO tree_sample (id, id_parent, nm) VALUES(3,0,'й');
INSERT INTO tree_sample (id, id_parent, nm) VALUES(4,2,'н');
INSERT INTO tree_sample (id, id_parent, nm) VALUES(5,3,'я');
INSERT INTO tree_sample (id, id_parent, nm) VALUES(6,4,'б');
INSERT INTO tree_sample (id, id_parent, nm) VALUES(7,5,'л');
INSERT INTO tree_sample (id, id_parent, nm) VALUES(8,6,'я');

declare

@mocha int=3;



WITH govno (id,id_parent,nm)
as
(
select
id,
id_parent,
nm

from tree_sample

UNION ALL

select
t1.id,
t1.id_parent,
t1.nm
from tree_sample as t1
join govno
on t1.id=govno.id_parent
where t1.id<@mocha




)

select * from govno



Ну если нужно стартовать не с начала, ещё один фильтр повесь.
Аноним 29/10/21 Птн 02:23:20 2196833293
>>2196832
бля макака, знак табуляции добавила, спасибо Абу
Аноним 29/10/21 Птн 06:50:00 2196862294
image.png 17Кб, 239x327
239x327
>>2196832
>>2196833
>@mocha int=3;
не пошет
>WITH govno (id,id_parent,nm)
Бля, ваще не тот результат.

>Ну если нужно стартовать не с начала, ещё один фильтр повесь.
Какой нахуй фильтр? Ты думаешь я разбираюсь в этих ваших фильтрах? Я чо базоданник дохуя из какого-нибудь датацентра пентагона. Дайте же нормальный запрос ну ёбана.
Аноним 29/10/21 Птн 07:25:30 2196871295
>>2196862
Может как-то каскадом select'ов вытащить все id и сделать потом where id_parent in (selected ids)?
Аноним 29/10/21 Птн 08:07:19 2196876296
image.png 39Кб, 234x545
234x545
>>2196862
Ну разве тебе не пикрелтйтед нужен? Только офк не весь, а по фрагментам, согласно стоп и старт?
Аноним 29/10/21 Птн 08:39:44 2196890297
>>2196876
Надо запрос, чтоб достать из таблицы базы данных - все ветви дерева в виде дочерних записей - до нужной глубины, в частности 3, включая родительскую запись.

Вот эта шняга вроде пашет: >>2194558
но там 4 union'a, блядь,
и их id'ы - нужно указывать явно.
А надо сделать так, чтобы их не надо было указывать явно, эти id'ы
потому что хуй знает какие они.

Короче, вот:

>CREATE TABLE IF NOT EXISTS [main].[posts](
> [PostHash] TEXT PRIMARY KEY NOT NULL ON CONFLICT IGNORE UNIQUE ON CONFLICT >IGNORE,
> [ReplyToHash] TEXT REFERENCES [posts]([PostHash]),
> [info] TEXT
>) WITHOUT ROWID;
>
>INSERT OR REPLACE INTO [posts]([PostHash], [ReplyToHash], [info])
>VALUES
> ('0', '0', '0'),
> ('a', '0', 'х'),
> ('b', 'a', 'у'),
> ('c', '0', 'й'),
> ('d', 'b', 'н'),
> ('e', 'c', 'я'),
> ('f', 'd', 'б'),
> ('g', 'e', 'л'),
> ('h', 'f', 'я')
>;

[posts].[PostHash] и [posts].[ReplyToHash] - это хэши, а не числа. Это же идентификаоры (id's) родительских и дочерних постов.
Собственно, при указании произвольного поста,
надо выгрузить 3 ветки дочерних ответов к нему.
Список ответов к нему,
список ответов к этим ответам,
и список ответов к ответам этих ответов.
Всю хуйню соединить в одну таблицу, и вернуть её.

Глубина выводимого под-дерева - 3, но она не привязана к хэшам.
Хэши вообще неизвестны, чтобы их явно указывать,
как в этом примере с тремя union'ами: >>2194558
они могут быть любыми, и это не числа, чтобы их сравнивать с каким-то числом.

Тупо три уровня надо вывести, я не знаю, блядь, как ещё объяснить эту хуятину ебучую.
Аноним 29/10/21 Птн 08:53:10 2196895298
>>2196890
Пример с union'ами - здесь: >>2196292
и острую кавычку убрать надо, перед IGNORE.

Аноним 29/10/21 Птн 09:06:55 2196896299
>>2196890
>>2196895
>select *
>from posts as mainPost
>join posts as level0 on [level0].[ReplyToHash] = [mainPost].[PostHash]
>join posts as level1 on [level1].[ReplyToHash] = [level0].[PostHash]
>join posts as level2 on [level2].[ReplyToHash] = [level1].[PostHash]
>join posts as level3 on [level3].[ReplyToHash] = [level3].[PostHash]
>where [mainPost].[PostHash] = '0'
Не?
Аноним 29/10/21 Птн 09:45:51 2196933300
>>2190222>>2190263>>2190271>>2191263>>2191935>>2191952>>2193675>>2193775
>>2193812>>2194557>>2194558>>2194583>>2194802>>2196292>>2196832>>2196862
>>2196876>>2196871

Ебать, никто не вывел, а я наконец-то вывел это ебучее дерево, вот таким вот ебическим каскадом из селектов:

>CREATE TABLE IF NOT EXISTS [main].[posts](
>       [PostHash] TEXT PRIMARY KEY NOT NULL ON CONFLICT IGNORE UNIQUE ON CONFLICT IGNORE, 
>       [ReplyToHash] TEXT REFERENCES [posts]([PostHash]), 
>       [info] TEXT
>) WITHOUT ROWID;
>
>INSERT OR REPLACE INTO [posts]([PostHash], [ReplyToHash], [info])
>VALUES
>    ('0', '0', '0'),
>    ('a', '0', 'х'),
>    ('b', 'a', 'у'),
>    ('c', '0', 'й'),
>    ('d', 'b', 'н'),
>    ('e', 'c', 'я'),
>    ('f', 'd', 'б'),
>    ('g', 'e', 'л'),
>    ('h', 'f', 'я')
>;
>
>SELECT 
>FROM posts
>WHERE PostHash
>IN
>(
>    WITH level1
>    AS
>    (
>        WITH level0
>        AS
>        (
>            select PostHash from posts as mainPost where [mainPost].[PostHash] = @start
>        )
>        select 
 from level0
>        union
>        select PostHash from posts where posts.ReplyToHash in level0
>    )
>    select * from level1
>    union
>    select PostHash from posts where posts.ReplyToHash in level1
>);

на вход - только один стартовый элемент подаётся, записывающийся в @start.
Аноним 29/10/21 Птн 17:21:12 2197383301
>>2196740
Не, я скорее про сам процесс.
Читал про Azure Data Factory. По документации все слишком радужно выглядит, что мол подключился к базам и всем чуть ли не само выгрузилось в какой-нибудь дата лейк.
Чую в реальной жизни там ведро вазелина должно быть на готове.
Аноним 30/10/21 Суб 15:46:43 2198118302
>>2196933
А как вывести все ветки, без depth=3 ?
И как посчитать, для заданного родителя,
на базе всех веток,
число самых глубоких элементов дерева,
которые не имеют детей?
Аноним 30/10/21 Суб 16:12:05 2198147303
Вот охуевший чорт: >>2198118
Аноним 30/10/21 Суб 16:22:52 2198160304
image.png 18Кб, 219x347
219x347
Аноним 30/10/21 Суб 16:49:28 2198178305
>>2198160
Ну так сделай ее сам епта. Раз такая тривиальная.
Охуеть, школото-кабанчик в треде?

Что-то требует от всех, хуйми кроет, а само даже пояснить что ему надо нормально не может.
Аноним 30/10/21 Суб 21:30:38 2198509306
>>2198178
Что тебе непонятно? Тривиальная же задача, ебать. Вот есть ветка, надо выгрузить и вывести из таблицы-ветвления, все другие ветки от неё пиздующие, найти ебучие листики, показать их, и подсчитать их число. Для вас это должно быть тривиально, пушо вы шарите в базоданности, а я ебу весь этот синтаксис пердолить с этими всякими WITH, RECURSIVE блядь, AS, UNION, JOIN, ON, ебать копать сколько всего ещё там. Доки мне суёте, блядь, ещё бы ссылку на учебник по SQL вхуярили. Дайте нормальный запрос же ну?!!
Аноним 30/10/21 Суб 23:39:45 2198591307
>>2198509
Чел ты упускаешь что обычно этим людям за их знания и умения какие-то деньги платят.
Аноним 31/10/21 Вск 05:02:21 2198668308
>>2198591
Но здесь жи все — мои друзья... Охуенные друзья блять. Всё как ирл.
Аноним 31/10/21 Вск 08:16:40 2198687309
>>2198591
Если бы я возжелал купить ебучий запрос, я бы пошёл на биржу труда и купил бы его, блядь.
Аноним 31/10/21 Вск 09:12:54 2198698310
>>2198509
Единственное, что уже понятно- ты охуевшее говно. Пост твой не читал.
>>2198668
Хуевый друк, который залазит на голову тут ты.
Аноним 31/10/21 Вск 09:56:01 2198717311
>>2198698
Они просто нихуя не шарят в базах данных, разве это не очевидно?
Аноним 31/10/21 Вск 10:05:17 2198722312
image.png 52Кб, 1906x241
1906x241
image.png 11Кб, 718x136
718x136
Решаю задачки на sqlex. 25 оказалась сложноватой, но решил. Не могу понять почему у меня отказывается выполняться без вот этих "as q". Скопировал чужое решение и там всё работает без этого.
Вот моё решение.

SELECT distinct maker
FROM product inner join

(
SELECT distinct model
from
(
SELECT model, ram, speed
FROM pc
WHERE ram = (SELECT MIN(ram) FROM pc)
) as q
WHERE speed = (SELECT MAX(speed) from
(
SELECT model, ram, speed
FROM pc
WHERE ram = (SELECT MIN(ram) FROM pc)
) as q )
) as q

on product.model = q.model

WHERE

maker in (
SELECT maker
FROM
product
WHERE type = 'printer')
Аноним 31/10/21 Вск 21:55:09 2199374313
>>2198668
Я-то со своими друзьями так не поступаю.
А если что-то и прошу, то во-первых на то должна быть веская причина, а не "мне лень гуглить", а во-вторых постараюсь предложить денег (потому что друзей я ВНЕЗАПНО уважаю) или как-то еще отплатить. Если твои друзья поступают с тобой иначе, то это не друзья, а пидоры, ну а если ты сам так поступаешь с друзьями, то пидор ты, а они долбоебы.
Мне вон некоторое время назад друг просил матери его на др цветов купить, потому что 1 он находится в двух тысячах км от места действия и 2 мать его живет в деревне куда доставку не заказать. Чуешь разницу между его просьбой и своей? а еще он мне денег предлагал, в отличие от сам знаешь кого
Аноним 31/10/21 Вск 21:56:06 2199376314
>>2198687
Ну можешь пойти нахуй, в твоем случае это единственный выход.
Аноним 01/11/21 Пнд 02:15:10 2199481315
>>2198591
>>2199374
>>2199376
Какой же занудный капиталистоблядок приебался ко мне.
Нихуя не предложил, зато хочет жидовского говна - недоденех.
Мань, у меня недоденьхи в крипте. но я тебе не то что не дам её, а даже не покажу. А знаешь почему? Да потому, что стоит вам, антагонистичным пидарасам капиталистоблядским, показать, или хотя-бы намекнуть, где именно держишь котлету, так сразу вы всё изговните, назло, лишь бы не дать распродать эту срань. Нахуй иди со своими недоденьгами, здесь технологии обсуждаюотся, блядь.

Дайте ебучий запрос, ну ёбанарот.
Аноним 01/11/21 Пнд 03:11:03 2199491316
Допустим, есть в таблице БД гостиницы строка про дату заселения в номер и строка про дату выселения из номера. Их надо как-то между собой связывать на уровне скриптов создания таблицы?
Аноним 01/11/21 Пнд 03:16:11 2199493317
>>2199481
какой же ты душный, охуевший шизойд, я ебал
еще один мимокрок
Аноним 01/11/21 Пнд 10:52:05 2199582318
>>2199491
Можешь ограничения вкорячить чтобы нельзя было выписать раньше чем прописать и прописать кого-то в номер где есть жилец.
Аноним 01/11/21 Пнд 11:03:12 2199592319
>>2199491
Можно всё сделать одной таблицей, где будут номер, дата и тип действия, например 0 - заселение, 1 - выселение.
Аноним 01/11/21 Пнд 11:12:31 2199599320
>>2199491
Делшь одной таблицей, но когда делаешь вставку заселение, в поле выселение ставишь NULL. Если человек выселяется, заполняешь выселение. Таким образом тебе для обновления из таблицы нужно будет запрашитвать только строки с NULL.
Аноним 01/11/21 Пнд 18:52:27 2199893321
Есть один запрос. Что-то вроде этого:
SELECT wheel.id, wheel.name, COUNT(car.id) AS vehicles_count
FROM wheel
LEFT JOIN car ON (car.wheelsize = wheel.wheelsize)
WHERE wheel.id = 42

И всё бы ничего, но если нет ни одного автомобиля, соответствующего условию joina, ответ пустой, а не с vehicles_count = 0, как должно быть. Как сделать чтобы выборка не запарывалась при невыполнении джойна?
Даже не пойму что у гугла спрашивать...
Аноним 01/11/21 Пнд 19:38:05 2199947322
>>2199481
Ты мне не дашь — я тебе не дам.
>здесь технологии обсуждаюотся, блядь
Конкретно ты здесь не технологии обсуждаешь, а ищешь работника по найму, но отказываешься платить. Пшел вон.
Аноним 01/11/21 Пнд 19:46:00 2199967323
>>2128337 (OP)
>Table |id|parentID|info|
>id - Primary Key, unique, not null
>parentID - foreign key для id
Как сделать INSERT INTO для записи с каким-то parentID, которого нет в id?
Пишет Foreign constraint failed, блядь.
Аноним 01/11/21 Пнд 19:50:22 2199979324
>>2199967
Либо сноси foreign key, либо добавляй запись с таким ID. Ты не можешь просто взять и послать нахуй ссылочную целостность.
Аноним 01/11/21 Пнд 19:51:44 2199982325
>>2199967
>Как сделать INSERT INTO для записи с каким-то parentID, которого нет в id?
Никак. Ты как себе это представляешь?
Если у тебя код родителя это внешний ключ, то будет работать проверка целостности, что означает, что ты именно что не сможешь вставить запись с ключом, которого не существует. Разжалуй код родителя в обычное поле, либо создавай соотв. запись.
Аноним 01/11/21 Пнд 23:52:28 2200193326
>>2199979
>>2199982
Ясно.
А можно как-то, автоматом,
создать запись с id, которого не существует,
в случае если его не существует,
при попытке вставить запись, в которой этот id указан в parentID?
Через какой-то триггер, или хуй знает чо.
Аноним 02/11/21 Втр 00:04:57 2200208327
>>2200193
Можно, собственно через триггер.
Делаешь триггер before insert для своей таблицы, смотришь на добавляемую запись и делаешь инсерт в свою таблицу с ID равным parent_id из добавляемой записи, parent_id равным null, info равным какому-нибудь значению по умолчанию, возможно, тоже null. Но инсерт делаешь не всегда, а только если предварительный селект ничего не найдёт, либо через какой-нибудь MERGE или INSERT ... ON CONFLICT DO NOTHING, смотря что за СУБД.
Аноним 02/11/21 Втр 00:08:09 2200214328
>>2199979
>>2199982
Понял. Заебенил вот так, в сиквелайте:
>PRAGMA foreign_keys = 'off';
>
>INSERT OR IGNORE INTO NanoPosts (PostHash, ReplyToHash, PostMessage)
>VALUES ('TestHash', 'HashNotExists', 'TestHashMessage');
>
>PRAGMA foreign_keys = 'on';
Никакой хуйни не вылазит, при этом.

>>2200193
А это, походу, можно, можно сделать с помощью
INSERT OR IGNORE INTO
уже потом.

P.S.: Или даже до:
>CREATE TRIGGER [main].[InsertRowIfPrimaryKeyNotExists]
>BEFORE INSERT ON [NanoPosts]
>WHEN [NEW].[ReplyToHash] != (
>    SELECT [PostHash]
>    FROM [NanoPosts])
>BEGIN
>  INSERT OR IGNORE
>  INTO [NanoPosts] ([PostHash])
>  VALUES ([NEW].[ReplyToHash]);
>END;
Аноним 02/11/21 Втр 00:21:00 2200225329
image.png 23Кб, 690x83
690x83
>>2200214
И ещё такая шняга имеет место быть. Мудро?
Аноним 02/11/21 Втр 02:12:19 2200275330
>>2200208
Бле, а как быть с этим триггером,
если вставляется куча записек с пронумерованными rowid?

При срабатывании триггера, когда он триггерится,
вставляется rowid со значнением rowid'a в insert or replace into,
а потом оно, это insert or replace into - заменяет ту запись что создал триггер,
и опять пишет фореигн констрайнт файлед, блядь.

Удалил нахуй ровид поле, теперь какого-то хрена не все записи вставляются, и всё глючит, и зависает, и ещё и жрёт дохуя памяти. Пиздец просто.
Аноним 02/11/21 Втр 13:39:27 2200553331
>>2200275
Понял, надо удалить ON DELETE CASCADE, потому что insert or replace into срабатывает как два действия - DELETE и INSERT,
и когда производится insert or replace into (rowid, id, IDParent), и id с IDParent нет в таблице, срабатывает триггер, добавляющий id с этим же rowid, а попытка его реплейснуть, сначала удаляет всё нахер, и удаляется оно КАСКАДНО, включая инсертртную запись,
а потом инсертится другая хуйня, на место вставленного триггером id.
Там надо поставить что-то вроде do nothing, и ебись оно конём.
Аноним 02/11/21 Втр 13:48:41 2200567332
Аноним 02/11/21 Втр 13:56:25 2200589333
>>2200567
Чё ты такой токсичный, дай человеку сдать лабу и забыть.
Аноним 02/11/21 Втр 14:35:29 2200638334
>>2200589
Выше тред посмотри, этой залупе уже подсказали куда копать, но оно хуями кроет и требует решения.
Аноним 02/11/21 Втр 14:54:48 2200656335
>>2200567
Ебало завали, червь. Думай над рекурсивным иерархическим запросом лучше.
Хуй дождёшься вменяемого ответа от вас,
недоспециалисты, с купленными дипломами, блядь.
Проще самому накостылить, ке-как работающий говнокод.
Например, что-то вроде:
>CREATE TABLE [NanoPosts](
> [IsDeleted] BOOL DEFAULT False,
> [PostHash] TEXT PRIMARY KEY NOT NULL ON CONFLICT IGNORE UNIQUE ON CONFLICT IGNORE,
> [ReplyToHash] TEXT REFERENCES [NanoPosts]([PostHash]) ON DELETE NO ACTION,
> [PostMessage] TEXT) WITHOUT ROWID;
>
>CREATE TRIGGER [InsertRowIfPrimaryKeyNotExists] BEFORE INSERT ON [NanoPosts] WHEN (SELECT COUNT ([PostHash])
> FROM [NanoPosts]
> WHERE [PostHash] = [NEW].[ReplyToHash]) == 0
>BEGIN
> INSERT OR IGNORE INTO [NanoPosts]
> ([PostHash])
> VALUES ([NEW].[ReplyToHash]);
>END;
Аноним 02/11/21 Втр 16:29:24 2200747336
>>2200656
Покажи мне человека здесь, который тебе чем-то обязан, выблядок
Аноним 02/11/21 Втр 20:09:12 2200998337
Куда посты делись?
Аноним 02/11/21 Втр 20:15:27 2201013338
>>2200998
Транзакция откатилась.
Аноним 02/11/21 Втр 21:20:20 2201089339
Поясните за sparse индексы в монге.
Аноним 02/11/21 Втр 22:34:17 2201154340
>>2201148
Хуя пожар. Платить-то будешь?
Аноним 02/11/21 Втр 22:34:41 2201155341
image.png 266Кб, 500x375
500x375
>>2201148
>спиздили у меня крипты на 500 косарей
АХАХАХАХАХАХАХАХАХАХАХАХАХАХА
Аноним 03/11/21 Срд 00:01:08 2201250342
>>2201148
Как спиздили-то? Ты неправильный джойн выбрал?
инбифо: поговрил с пастой
Аноним 03/11/21 Срд 00:07:02 2201257343
Дорогуша, если ты такой мощный мститель, ты наверняка знаешь кому писать, вот с них и тряси запросы, а рандомные аноны с треда каким боком тут?
Аноним 03/11/21 Срд 00:11:49 2201261344
>>2201257
Ему теперь все бесплатно. Зашел в магазин, набрал всего и идешь без оплаты. Заебись, мне бы так.
Аноним 03/11/21 Срд 00:17:30 2201264345
>>2201261
>мне бы так
Поговорил с кем надо. Тебе разрешено.
Аноним 03/11/21 Срд 00:24:07 2201271346
>>2201264
Но у меня не спиздили деньги. Или спиздили, но я этого не знаю? Тогда давайте лучше деньгами сразу.
Аноним 03/11/21 Срд 00:27:37 2201279347
>>2201271
Ок, только натурой отработай вперед :3
Аноним 03/11/21 Срд 02:07:01 2201332348
Аноним 03/11/21 Срд 06:52:28 2201363349
Можно ли залететь стажером или джуном куда-то, если я только 2 курс вышки? Везде пишут про диплом или последнии курсы.
Аноним 03/11/21 Срд 09:18:58 2201389350
>>2201363
С sql одним? Стажировки ищи, аналитиком каким-нибудь.
Аноним 03/11/21 Срд 09:22:54 2201395351
>>2201363
стажёр - кто знает теорию, но нет опыта работы
джун - опят работы от года
ты - пустое место, от которого одни проблемы
Аноним 03/11/21 Срд 09:38:41 2201404352
>>2201389
А что должен знать джун разработчик баз данных, кроме бд, sql/pl и субд?
Аноним 03/11/21 Срд 12:58:12 2201626353
>>2201013
В шепот
>>2201404
ЯП? Вообще вводная туманная, разработчик баз данных в смысле разработчик СУБД? СУБД не так много, конкретика будет в вакансиях предприятий, которые их разрабатывают.
Или в смысле "вот я прихожу в тырпрайз и пытаюсь решить его проблемы с помощью БД"? Ну тогда конкретика будет в вакансиях бизнесов, которые хотят решать свои проблемы с помощью БД.
Аноним 03/11/21 Срд 18:27:49 2202070354
Аноним 03/11/21 Срд 18:36:58 2202077355
>>2202070
там скидос жирный был на хэллоуин
а ты его проебал
Аноним 03/11/21 Срд 18:50:55 2202102356
>>2202077
Там всегда 85% скидос.
Аноним 03/11/21 Срд 18:55:48 2202111357
>>2202077
Я по студенческой подписке могу 3 месяца бесплатно пользоваться.
Аноним 03/11/21 Срд 19:14:35 2202136358
Аноним 03/11/21 Срд 19:29:38 2202180359
>>2202136
Книги - круто, но я про курсы спросил.
Аноним 04/11/21 Чтв 01:52:07 2202526360
>>2201626
Ну я пошерстил вакансии, требуют знания sql, субд каких-нибудь типо oracle/mysql, знания ооп, с этим вроде проблем нет, но почти везде требуют корочку или последнии курсы, это отсутствует, вот мне и интересно есть ли здесь те, кто залетел на работу с первых курсов, но у меня есть еще опыт работы бекендером на пистоне, может это как-то поможет хотя опыт был, всего в пару месяцев.
Аноним 05/11/21 Птн 12:53:59 2203655361
8a5193a6aa56522[...].jpg 103Кб, 540x675
540x675
Привет!
Вопрос - как сократить и сделать запрос PostgreSQL более удобным?

Пишу

select
case when (куча-куча условий...) as a,
case when (куча-куча условий...) as b...

Возможно ли a и b как-то прописать в начале запроса, чтобы в селекте я мог написать "a-b", а не "case when (...) - case when (...)"?
Аноним 05/11/21 Птн 12:55:42 2203657362
>>2203655
With или джойн с подзапросом.
Аноним 05/11/21 Птн 12:57:45 2203658363
>>2203657
Поясни ущербному, как с помощью with сделать?
Подзапросом попробую, джойн не нужен в этом случае, кажется.
Аноним 07/11/21 Вск 23:42:18 2205797364
Сап анону. Когда вкатывался в фул-стэк сильно проседал по сиквелу (знал его только на уровне селектов с джоинами). Начал упарываться во всякие дрочи типо SlqBolt и прочие. Внимание вопрос - каким маст хев стэком нужно обладать, чтобы считаться знающим сиквел?
1. Написал процедуру/вьюху;
2. Провести анализ плана выполнения;
3. Построить архитектуру связей;
4. Знать оконные функции;
Дополните, хочу упороться по уши в БД - книги читать влень, тасков по сиквелу хуй да нихуя. Начал гуглить запросы ака Advanced sql - CTE, cross join - плевая хуйня, правда рекурсивных CTE и их применения так и не нашел. Сейчас ебусь с XML, JSON в Sql.
Жажду познаний на уровне поддержки проекта в соло, но не знаю в какую сторону клюв мочить.
Спасибо.
Аноним 08/11/21 Пнд 00:17:16 2205883365
>>2205797
Всё, что ты написал, плюс уметь решать типовые задачи из своей области.
Аноним 08/11/21 Пнд 00:21:31 2205899366
>>2205883
я реально не знаю, какие задачи ставят DBA. Через SolarWings посмотреть медленные запросы? Провести анализ для вертикального/горизонтального масштабирования? Практики нет нихуя. Я бы еще с репликациями/партеционированием поигрался, вот только негде.
Еще вопрос к знатокам MsSql - если проебался с транзацией и по случайности юзер въебашил Update/delete в прод, как можно сделать откат транзакции? Ведется ли журнал или только последней transaction Id?
Аноним 08/11/21 Пнд 04:40:30 2206358367
Привет!

Слушай, что-то я запутался, может подскажешь.

есть 4 колонки в mysql:
колонка 1, колонка 2, ip, время

Мне нужно выбрать:
ВСЕ пары колонок 1 и 2, встречающиеся максимальное количество раз за последнюю неделю, НО с уникальным ip

Если я пытаюсь делать subquery в WHERE (выбираю всё дубликаты ip за последнюю неделю, например), то идёт потом фулскан таблицы и я не ебу как победить это.

Я заебался, анон, выручай ((
Аноним 08/11/21 Пнд 04:29:29 №22063502
ну типа все уникальные пары колонок:
значение 1 - значение 2
значение 1 - значение 3

сортировка по частоте пар.

я на грани того, чтобы разделить всё на 2 запроса, сначала выбрать все уникальные ip, а потом по ним сделать:

SELECT колонка 1,
колонка 2,
COUNT(*) AS Count
FROM search
WHERE createdAt > (NOW() - INTERVAL 7 DAY)
GROUP BY колонка 1, колонка 2
ORDER BY Count DESC
Аноним 08/11/21 Пнд 04:30:18 №22063523
но я хочу в одном запросе всё заебенить, помоги, а, пажалуста
Аноним 08/11/21 Пнд 04:34:24 №22063564
я мудак. короч если я в FROM пытаюсь сделать подзапрос с выборкойуникальных - то где-то вылезает фулскан, вот что я имел в виду.

а так не должно быть или я кривой мудила, я не понимаю уже. и так и так и джоинами хуеинами пытался - не получается избежать фулскана
Аноним 08/11/21 Пнд 17:51:57 2207026368
Ребята,у меня в постгресе все таблицы смешались и переехали в public базы postgres. С чем это может быть связано? Мб я урл неправильный указывал? Работаю с базой через джаву,если это важно
Аноним 09/11/21 Втр 22:46:42 2208382369
>>2205797
Я бы ещё добавил, аналитические функции и оптимизацию запросов.
Аноним 09/11/21 Втр 22:54:44 2208387370
>>2208382
У него это есть в списке.
Аноним 11/11/21 Чтв 00:52:48 2209286371
Ну какая же пизда. Снова у меня деперсняк из-за своей ничтожности, получаю 150к. Что это, относительно заработка капитана НаВи? Я был бы пиздец счастлив, если бы за мной эскортницы бегали.. Как жить можно с такой мыслью?
Аноним 11/11/21 Чтв 20:04:57 2209771372
Какие подводные камни держать транзакцию относительно долго? Имею ввиду, открыл я ее, ничего не делаю, а в конце делаю апдейты и закрываю.
Понятно, что если сначала наапдейтить, то типа данные будут дерти и полочит все.
Аноним 12/11/21 Птн 10:28:16 2210012373
>>2207026
Ты ж Spring-макака, хуле
Недавно выяснил что мой коллега жавист не знает SQL дальше команды SELECT, ни про индексы, ни про подзапросы ни про джойны блять он нихрена не знает
Аноним 12/11/21 Птн 11:13:25 2210030374
>>2210012
Это всё из-за говнохибернейта.
Аноним 13/11/21 Суб 09:44:22 2211040375
>>2128337 (OP)
Добрый день аноны прошу помощи на коленях.
Есть запрос
select from [t0] where eid in (
select [t1] from [t1] where [t1].person_id = 12321321
)

Так вот. Вложенный запрос возвращает ID-шники и я отдаю их на вход оператору IN. Этот запрос выполняется 3 секунды. Но в тоже время если я вместо вложенного запроса напрямую передаю id-шники то запрос выполняется сразу же (т.е)

select
from [t0] where eid in (
345435345,
435435435,
154353342,
121212132,
)

Я сломал голову почему в первом случае запрос выполняется 3 секунды а во втором сразу же. Прошу помощи на коленях!

Аноним 13/11/21 Суб 09:46:53 2211041376
>>2211040
Сори ошибся в текстовке
Первый запрос :
select from [t0] where eid in (
select id from [t1] where [t1].person_id = 12321321
)

Второй:
select
from [t0] where eid in (
345435345,
435435435,
154353342,
121212132,
)



Аноним 13/11/21 Суб 10:28:47 2211049377
>>2211041
Зайка, ну, вложенному запросу тоже надо кушать процессорное время, чтобы выдать тебе готовые айдишники
Аноним 13/11/21 Суб 11:02:37 2211060378
>>2211049
Отдельно он выполняется мгновенно в том то и дело!
Аноним 15/11/21 Пнд 07:59:18 2212540379
Специалисты, подскажите плес, как работает быстрее - сделать INNER JOIN двух таблиц по определенному полю, или сделать SELECT FROM T1 WHERE ATTRNAME IN (SELECT ATTRNAME FROM T2)?
Результат один и тот же, а как лучше/быстрее?
Аноним 15/11/21 Пнд 08:14:05 2212541380
>>2212540
Вроде во втором случае нестед луп 100% похаваешь, а в первом можно хинт прописать или планировщик сам получше способ выберет, но я долбоёб, в оптимизации плохо шарю.
Аноним 15/11/21 Пнд 11:35:34 2212678381
>>2209771
Твоя говнотранзакция может удерживать лок на строчках или даже целиком на таблице
Аноним 15/11/21 Пнд 13:55:09 2212868382
>>2210012
Это какие-то пряники с быстрых спринг-курсов для долбоебов. У меня все наоборот - умею низкоуровнево шлепать через SQL (JDBC), но понятия пока не имею о хибере и прочих ОРМ.
Кстати, сам по себе спринг не обязательно значит использование ORM. Ты можешь в DAO-классах юзать хоть что, хоть сериализацию в файлы.
мимо-джавоблядь
Аноним 15/11/21 Пнд 14:03:59 2212882383
>>2212540
Настоящий специалист в это (да что уж там, в любой) ситуации уклонится от предсказания.

Померяй, заебал.
Аноним 15/11/21 Пнд 14:06:12 2212889384
>>2210012
ну надо же, язык, который призван скрывать от программиста все эти сложности, довольно часто их скрывает успешно!
кто бы мог подумать..
(нет, это все вполне ожидаемо и даже хорошо)
Аноним 15/11/21 Пнд 19:07:21 2213231385
>>2212889
Джава то призвана скрывать? В сравнениии с чем? С сями что ли? Ты просто пользуешься ей поверхностно, видимо
Аноним 15/11/21 Пнд 19:38:13 2213248386
image.png 46Кб, 660x287
660x287
Почему драйвер? Почему не какой-то программный интерфейс, api, а именно драйвер? Это же интерфейс софт-железо, причем тут драйвер, если у нас уровень софт-софт?
Аноним 15/11/21 Пнд 19:46:20 2213254387
>>2213248
Забей, терминологию всегда придумывают шизики, которым изначально это казалось логичным, а потом просто прижилось.
Аноним 15/11/21 Пнд 19:53:44 2213267388
>>2213254
Не могу, да я даже смысла его не понимаю. Всегда 2 сущности, клиент-сервер, мне достаточно клиента, чтобы коннектится к серверу. Зачем мне драйвер? Есть у меня psql, я ввожу необходимые опции и аргументы, все, могу работать.
Аноним 15/11/21 Пнд 19:56:28 2213270389
>>2213267
Драйвер - это либа, которую ты дергаешь из своего кода, чтобы дернуть базульку
15/11/21 Пнд 20:17:25 2213295390
image.png 130Кб, 2638x568
2638x568
Аноним 15/11/21 Пнд 20:22:46 2213301391
>>2213267
Драйвер нужен для того, чтобы у тебя была одна либа с стандартным интерфейсом, а сам драйвер реализует уже работу с конкретным сервером базы.
Аноним 16/11/21 Втр 12:22:58 2213742392
Аноним 16/11/21 Втр 15:20:41 2213968393
>>2200747
>Аноним
Когда аноним пиздит бабло у анонима, то аноним торчит анониму, так что не залупайся мне тут и гони мой SQL запрос, а то двойку поставлю, и завалю тебе сессию, да так что не сможешь составить даже резюме, лентяй необразованный. Элементарные вещи сделать не может, зато засел в базоданном треде и мнит из себя хуй знает что, нихуя не шаря притом. Лол.
Аноним 16/11/21 Втр 18:41:02 2214129394
Есть ли в Sql server журнал транзакций, если IMPLICIT_TRANSACTIONS ON? Как хендлить кейсы, когда по ошибке сносят данные/схему?
Аноним 16/11/21 Втр 20:15:52 2214191395
Screenshot336.jpg 64Кб, 1134x615
1134x615
>>2214129
Здравствуйте.
Вам ответит Сертифицированный Специалист !


Чтобы не проебать данные используйте стратегии: CYA и PITR !
Подробности Вы найдете в Google.

Спасибо за вопрос!
Аноним 16/11/21 Втр 23:42:21 2214337396
>>2213968
Ты до сих пор здесь, чучело?
Аноним 17/11/21 Срд 14:55:41 2214945397
>>2214191
спасибо. PITR нагуглил, а вот CYA не могу найти. И я так понял PITR - это обычный ажуровский бэкап?
Аноним 17/11/21 Срд 16:09:05 2215034398
Подскажите, пожалуйста. Есть SQLlite база. Мне нужно в неё сделать INSERT в том и только в том случае, если в таблицах есть определенные записи, то есть инсерт с условием. Так делать можно или нельзя? Почему я для селекта могу написать WHERE, а для инсерта не могу? Выполнять инсерт, если true и не выполнять, если false.
Аноним 17/11/21 Срд 21:50:52 2215395399
>>2214945
CYA - это юмор такой. Cover Your ASS.

Под PITR обычно подразумевается ручное накатывание лога на один из недавних бекапов.
Возможно, в Ажуре это уже автоматизировано настолько что все в ажуре. Конкретикой по mssql не владею.
Аноним 17/11/21 Срд 22:02:43 2215402400
Аноним 17/11/21 Срд 22:14:44 2215412401
Возможно ли в mysql запретить ручную установку/изменение столбца id? Чтобы любое присвоение значения гарантированно происходило через auto_increment. То же самое было бы уместно для столбца last_modified, в который гарантированно записывался бы текущий timestamp, а не любое значение, которое туда передадут.
Аноним 17/11/21 Срд 22:20:47 2215414402
>>2215412
Триггер с проверкой, что ему передали именно NULL, и последующей установкой нужных значений. Но лучше так не делать.
Аноним 17/11/21 Срд 23:35:27 2215507403
>>2215414
>Но лучше так не делать.
Почему? А как делать?
Это же инкапсуляция, безопасность, уверенность в завтрашнем дне, член 21см.
При создании столбца ты указываешь, что в нём будут храниться int, и c этого момента ты уверен, что даже аллах не засунет туда varchar. Если что-то пойдёт не так, тебе и в голову не придёт подумать, что в одном из столбцов число записано как строка, а не как число - потому, что это невозможно.
Потом ты создаёшь primary key на основе столбца и с этого момента ты уверен, что в этом столбце никогда не будет двух одинаковых значений. Твой толстый 13-сантиметровый член стоит колом, ведь ты - доминант, и созданная тобой структура данных надёжно защищена.
Но вот ты делаешь столбец auto_increment и больше ты ни в чём не уверен, уже на следующий день приходит ехидная тётя Зина из бухгалтерии и записывает туда свой день рождения. Этому никак нельзя помешать? Это же язык для бухгалтерш, он наоборот должен быть напичкан защитами от дурака.
Аноним 18/11/21 Чтв 02:10:19 2215589404
sovietpk3b.jpg 81Кб, 700x374
700x374
evm-13.jpg 48Кб, 757x508
757x508
evm-14.jpg 45Кб, 493x703
493x703
>>2215507
ты не прав. SQL - язык для Оператора ЭВМ.
Оператор ЭВМ в 1970-ом году имел два высших образования и выглядел примерно так.
Аноним 18/11/21 Чтв 16:46:03 2216168405
erDiagram.png 138Кб, 1931x792
1931x792
Аноны, оцените, пожалуйста, правильность ER-диаграммы. Предметная область: Автоматизация расчёта стоимости билета на самолёт и объёма продаж в аэропорту.

Это вузовское задание, и мы только начинаем изучать бд, поэтому всё довольно упрощено, да и + к этому есть некоторые обязательства по типу: "Должны быть минимум одна связь M:N и 1 поле с фото".
Аноним 18/11/21 Чтв 23:09:39 2216613406
>>2215412>>2215507
Ты подразумеваешь, что БД - это некая отдельная очень важная сущность, содержание которой имеет значение само по себе и что очень важно, что там лежит в конкретный момент времени - строка, число, автоинкремент или еще что. Я тебе открою секрет: это не так, и БД - это просто сучка основного приложения, т.е сучка бизнес-логики и сама по себе она значения не имеет. В сучке будет лежать то, что в нее засунет альфач, если альфачу нужно всунуть id в обход маняинкремента, то он всунет. Если альфачу захочется поменять тип данных и держать числа в виде строк, то он поменяет и будет держать. А что ты сделаешь, пукнешь и попросишь соблюдать твои маняправила потому что тебе так будет приятнее?
Аноним 19/11/21 Птн 02:36:42 2216671407
>>2216168
мне кажется рейс где-то не там. Билет не пришей пизде рукав, у тебя нет таблицы фактов, надо начинать с неё строить, представь как как выглядит одна строчка таблицы фактов, а вокруг неё строй справочники, чтоб получилась звезда\снежинка.
Аноним 19/11/21 Птн 05:31:11 2216711408
>>2216613
Ну, если воспринимать sql как грязную суку, которую в любой момент можно завалить в клумбу, трахнуть и уйти не попрощавшись, то возможно. Но, во-первых, это делает взаимодействие с ней менее приятным - я предпочитаю более порядочных женщин. Во-вторых, мне каждый раз приходится передавать ей null, чтобы она вспомнила, что у неё там автоинкремент на столбце стоит.
Можно периодически заглядывать в бордель, но жить с тупой шлюхой не захочется.
Аноним 19/11/21 Птн 22:26:09 2217481409
>>2128337 (OP)
Как сделать в одном селекте соединить два и более селектов разных таблиц? Что-то типа такого нужно получить:
(SELECT FROM table_1 WHERE id = ) + (SELECT FROM table_2 WHERE id = AND status = )
На выходе я получаю жсон где мне нужно иметь массив из первой таблицы, плюс не связанный с ним массив из другой таблицы.
Аноним 19/11/21 Птн 23:00:45 2217506410
Аноним 21/11/21 Вск 14:54:40 2218686411
proc.png 6Кб, 576x147
576x147
Как мне в postgesql создать процедуру, которая будет удалять по условию WHERE IN (...).
Пик очевидно не работает, потому что в IN(...) приходит строка
Аноним 21/11/21 Вск 15:11:36 2218706412
>>2218686
Очевидно заменить в аргументах процедуры тип ids с text на массив (text[]. integer[], uuid[], etc), все остальное вроде ок
Аноним 21/11/21 Вск 15:31:47 2218730413
proc.png 25Кб, 672x498
672x498
>>2218706
А как мне ее вызвать? А то он меня шлет
Аноним 21/11/21 Вск 16:00:45 2218762414
>>2218730
Сделал вот так вот
WHERE p."Id" = ANY(ids)
Аноним 21/11/21 Вск 17:54:32 2218936415
>>2218762
на эни ему вернет всю таблицу, если тру
Аноним 21/11/21 Вск 18:07:08 2218957416
>>2128337 (OP)
Добрый день, хочу вкатится в IT и выдрочить чисто sql. Можно ли будет, обладая только знаниями в бд, иметь возможность зарабатывать? Просто, в свое время, изучал все это в шараге и мне показалось, базы данных, довольно простыми, для изучения, правда это было давно и сейчас я уже мало, что помню.
Аноним 21/11/21 Вск 18:08:16 2218960417
image.png 60Кб, 558x314
558x314
Что за хуйня? Хотел Power BI пощупать, а он мне шиш показывает.

Алсо, если я хочу написать зародыш ускоспециализированной ERP в качестве пет проджекта с перспективой его дальнейшей доработки до ума, запуска на сервере и использования 3,5 человеками, имеет ли смысл в начале на десктопе юзать SQLite и уже потом перекатываться на что-то повеселее, когда (если) оно пойдёт в веб, или лучше потратить пару лишних вечеров и сразу какой-нибудь MySQL в качестве БД использовать?
Аноним 21/11/21 Вск 18:10:38 2218966418
>>2218957
Можно. Только знать придётся га том уровне, где нифига не просто. Как минимум, писать хранимые процедуры.
Аноним 21/11/21 Вск 18:43:44 2219011419
>>2218730
попробуй call deleteus('{1,2}':int[]);
Аноним 21/11/21 Вск 19:18:53 2219041420
>>2219011
не работает
>>2218936
да вроде все норм, удаляет только с теми айдишниками, что переданы в процедуру
Аноним 21/11/21 Вск 21:17:04 2219127421
посоветуйте материалы для глубокого изучения postgresql (не sql, а именно внутрянка)
мне нужно не для работы, а для собесов
что-то меня на последнем размазали тем, что начали спрашивать о том, как работает mvcc, как устроена репликация, что такое b-tree (бля, вот позор, я был уверен, что там обычное бинарное дерево поиска) и прочий бред
как будто мне как простому разрабу это может понадобиться
хотя стоит признать, интересно почитать какие-нибудь статьи/видосы о внутренностях и устройстве базки
Аноним 21/11/21 Вск 21:23:45 2219128422
>>2219127

ну и если по перечисленным трем топикам я могу прочесть отдельные статьи, то инетерсует какие еще есть странные и прикольные штуки внутри бд
Аноним 21/11/21 Вск 21:56:12 2219150423
Проходил кто сертификацию от PostgresPro?
Аноним 21/11/21 Вск 22:32:22 2219194424
>>2219128
Помню про работу Vacuum, AutoVacuum спрашивали. Что происходит, когда делается DELETE. Бери любую книгу по PostgreSQL с хорошими отзывами, там обычно именно про устройство, конфигурирование и пишут. Либо ищи книги именно с Deploy/Configure/for DevOps в название.
Аноним 22/11/21 Пнд 00:30:55 2219242425
>>2214337
Разумеется, я до сих пор жду свой сиквель-запрос, и поскольку вы у меня на счетчике уже, то с каждой наносекундой просрочки, будете торчать мне на 20% больше должного сиквель-запроса, разумеетяс с учетом реинвеста процентов.
Аноним 22/11/21 Пнд 14:15:49 2219508426
image.png 9Кб, 431x141
431x141
Почему блять неправильно?(
Аноним 22/11/21 Пнд 14:23:25 2219515427
>>2219508
Потому что апдейтишь ты только одну конкретную таблицу. Фильтры выноси в where.
Аноним 22/11/21 Пнд 14:44:52 2219526428
>>2219515
>Фильтры выноси в where.
Как? :C
UPDATE [dbo].[Pollers] p
INNER JOIN [dbo].[Volumes] v on v.VolumeID = p.NetObjectID
SET p.Enabled = 'False'
WHERE p.NetObjectType = 'V'
AND v.VolumeID IN (3533, 3532, 3531, 3530)
Аноним 22/11/21 Пнд 19:10:06 2219745429
Сап, анон.

Ищу какое-нибудь визуальное средство проектирования БД. Прицел на SQLite, но было бы хорошо иметь и поддержку чего-нибудь "взрослого".

Требования:
- Свободное ПО, не онлайн-редактор;
- Нормальный машиночитаемый вариант сохранения проектов или готовые генераторы кода для ORM.

Из симпатичного вижу pgModeler, но он чисто для Postgres, как я понял.
Аноним 22/11/21 Пнд 19:44:44 2219800430
>>2219745
Попробуй хуйню от джетбрейнс.
Аноним 22/11/21 Пнд 20:05:29 2219823431
>>2219800
Она разве свободная?
Аноним 22/11/21 Пнд 20:12:54 2219832432
Насколько надо знать sql для разработки на CMS. Например, на битриксе и вп.

Уже знаю силекты, группировки, функции встроенные всякие и иннеры джойны.
Аноним 22/11/21 Пнд 20:20:54 2219839433
Аноним 23/11/21 Втр 01:05:36 2220078434
>>2219526
UPDATE [dbo].[Pollers] p
SET p.Enabled = 'False'
WHERE p.NetObjectID IN (
SELECT p1.NetObjectID FROM [dbo].[Pollers] p1
INNER JOIN [dbo].[Volumes] v1 on v1.VolumeID = p1.NetObjectID
WHERE p1.NetObjectType = 'V'
AND v1.VolumeID IN (3533, 3532, 3531, 3530)
);

Можешь еще подзапрос в CTE вынести
Аноним 24/11/21 Срд 10:59:06 2221091435
1) Можно ли в марии явно указать какой из фильтров where применять первым?
2)Почему в марии такой ебанный оптимизатор запросов? В постгресе тоже самое? в оракле и мускуле вроде норм
Аноним 24/11/21 Срд 11:03:27 2221096436
>>2221091
> 1) Можно ли в марии явно указать какой из фильтров where применять первым?
Костылями с CASE WHEN THEN.
Аноним 24/11/21 Срд 11:44:40 2221135437
>>2221091
Какой же ты ебанат.
Нет, нельзя. Нельзя в декларативном языке указать что выполнять первым.
Но ты можешь написать подзапрос в скобочках.
Аноним 24/11/21 Срд 17:36:58 2221387438
>>2221135
>скобочках
Я не использую скобочки
Аноним 25/11/21 Чтв 12:37:57 2221923439
>>2221387
>Я не использую скобочки
а надо бы :)))))

по сути, единственный способ задать зависимости в вычислениях sql.
ты ведь этого хотел, да?

Только не говори что хотел последовательного выполнения. Нет никакого последовательного выполнения в SQL.
Аноним 25/11/21 Чтв 18:41:56 2222239440
>>2128337 (OP)
Послали нахуй в js треде.
Суть вопроса:
Кто сталкивался с postgreSQL ошибкой: неверный синтаксис для типа uuid: "hello@world.com"
Я пытаюсь зарегистрировать пользователя, и какого-то хуя, пострге думает, что поле email имеет тип UUID. Как это блять так? Я ничего не менял в entity пользователя. Поле email было и остается строкой, я просто добавил обертку над методом save (который работал до этого просто отлично и всегда создавал пользователя), с логикой регистрации. Если явно указать, что email это text или VARCHAR, то БД просто виснет нахуй, сервер пишет, что соединение невозможно установить. Если убрать из entity email, то регистрация проходит как по маслу, т.е. проблема именно в этом поле. Пиздец, я просто охуел блять.
P.S. Я буду завтра более детально ковырять код, сегодня у меня мозги уже не работают. Для эксперимента спиздил модуль авторизации с гитахаба, точно такой же результат. Почему-то именно поле emai создает проблемы на ровном месте. БД просто нисхуя решает, что это UUID и, в полном праве ругается, что строка вида: hui@zaloopa.com нихуя не похожа на валидный UUID.
Аноним 25/11/21 Чтв 19:04:16 2222262441
16373615596070.webm 392Кб, 320x180, 00:00:12
320x180
Аноним 25/11/21 Чтв 19:09:50 2222268442
>>2222239
Как схему БД создавал? SQL-скриптом или какой-нибудь очередной ORM? Проверь, какого типа у тебя поле в базе, может, оно действительно у тебя почему-то UUID.
Аноним 26/11/21 Птн 01:20:05 2222514443
Кто-нить шарит за датаволт? Схуяли он более гибкий, чем дайменш моделинг? Ведь если мы хотим поменять связь или добавить атрибут, нам необходимо создать новый сателит, но схуяли в таком случая не будет перезагружаться хаб, линки и т.д?
Аноним 26/11/21 Птн 07:02:38 2222561444
>>2222239
Короче я нашел проблему, она никак не связана с БД. Странно, ORM и серверный фреймворк полностью проигнорировали несоответствие типов в запросе к БД, а отправили запрос как есть. Это меня очень сильно смутило, я получил ошибку не о несоответствии типов или хз о чем на английском от фреймворка, а на русском от БД.
Аноним 26/11/21 Птн 09:33:33 2222621445
image.png 150Кб, 981x810
981x810
Всем привет.

Нужны гайды (желательно видео + отработка навыков) по MS SQL. Очень прям надо. Не спрашивайте почему я не практикуюсь на других SQL, просто пожалуйста помогите мне.

Спасибо
Аноним 26/11/21 Птн 09:33:55 2222622446
26/11/21 Птн 11:06:42 2222654447
26/11/21 Птн 11:08:22 2222656448
Аноним 26/11/21 Птн 11:56:16 2222675449
2ср.png 2239Кб, 2048x1940
2048x1940
>>2222621
Пчел, шапка для кого?
Аноним 27/11/21 Суб 11:43:05 2223251450
image.png 127Кб, 1431x486
1431x486
image.png 98Кб, 607x466
607x466
Нужна помощь, как выполнить этот запрос:

"Для каждой специальности сформировать список абитуриентов
набравших проходной балл. В выборке должны присутствовать
следующие поля: название специальности, ФИО студента,
набранные баллы." ?

срок сдачи уже завтра, не могу разобраться. Спасибо.
Аноним 27/11/21 Суб 11:52:53 2223257451
>>2223251
ты долбоеб и надеюсь завалишь свой экзамен по РБД. Не благодари
Аноним 27/11/21 Суб 12:02:06 2223265452
Аноним 27/11/21 Суб 13:19:32 2223341453
изображение.png 222Кб, 300x251
300x251
>>2223265
И хули ты без супа с сиськами пришла, курица?
Аноним 28/11/21 Вск 15:04:26 2224244454
image.png 5Кб, 598x187
598x187
Как из жёлтой таблицы сделать зелёное представление?
Пробую различные сочетания distinct, case when, group by, но что-то мне начинает казаться, что средствами SQL это невозможно сделать.
Аноним 28/11/21 Вск 15:46:46 2224295455
>>2224244
SELECT NUMS.NUM, A.LETTER, B.LETTER FROM (
    SELECT DISTINCT NUM FROM MYTABLE
) NUMS
LEFT JOIN MYTABLE A ON A.NUM = NUMS.NUM AND A.LETTER = 'a'
LEFT JOIN MYTABLE B ON B.NUM = NUMS.NUM AND B.LETTER = 'b'
ORDER BY NUMS.NUM ASC
Аноним 28/11/21 Вск 16:00:30 2224305456
>>2223251
Скинешь сиськи с супом, решу.

Аноним 28/11/21 Вск 16:09:43 2224317457
Аноним 28/11/21 Вск 16:13:53 2224324458
Аноним 01/12/21 Срд 13:36:11 2226647459
Поясните, пожалуйста, за key-value. Насколько я понял, на них довольно сложно выполнять аналитические запросы, но почему их тогда используют для ДВХ, например, вертику в авито?
Аноним 01/12/21 Срд 15:24:43 2226737460
>>2226647
ты какой-то хуйни начитался. Принеси сначала ее источник.

Похоже, речь о крайних формах нормализации. Авито действительно этим публично хвалилась. Я даже забыл как точно они называются и тебе советую забыть.
Это не key-value.
Аноним 01/12/21 Срд 15:35:55 2226745461
Аноним 02/12/21 Чтв 00:45:03 2227239462
>>2226737
> Я даже забыл как точно они называются и тебе советую забыть.
Это 6 нормальная форма, якорная модель называется. Речь не о ней, а том, что в:
>key-value сложно выполнять аналитические запросы
Сказал архитектор яндекс ГО.
А в авито ничего примечательного и сложного нет, лол. Я тоже самое в хадупе для гамбургеров делал.
Аноним 02/12/21 Чтв 00:52:05 2227243463
>>2226745
>Вспомни о чем ты
То что key-value не подходят для олап нагрузки сказал архитектор яндекс го, я завтра это вырежу и скину сюда.
Ещё вопрос - https://habr.com/ru/post/495670/
Юзал кто-нить микросервисное кхд? Хуета или имеет
Аноним 02/12/21 Чтв 01:10:39 2227251464
>>2227243
>То что key-value не подходят для олап нагрузки сказал архитектор яндекс го,
Ну так он и не подходит. С чего ты взял что в avito key-value типа redis? Нет у них не redis для этих данных.

Причем, это не значит что у них нет redis вообще.
Аноним 02/12/21 Чтв 01:13:11 2227252465
>>2227243
лично я нихуя не понимаю что происходит, что такое data lake, зачем так много разных тупых названий и почему нельзя все уложить в реляционные базы.

Похоже, никто ничего не понимает, но данные хранить все равно надо для потомков и поэтому возник data lake.
Аноним 02/12/21 Чтв 01:24:07 2227254466
15842999757210.jpg 5Кб, 224x225
224x225
Расскажите за бэкапы. На работе их делают через Azure DevOps, но замалчивают что и как. Меня интересуют следующие вопросы:
1. Как часто их проводят? Понятно, что у каждого по своему, но какие практики - раз в сутки/12 часов/каждый час?
2. Как бэкапится база, в фоновом режиме? Если нагрузка на базу идет 24/7, скорее всего schedule будет в пики самого низкого прайм тайма? Много ли ресурсов хавает бэкап?
3. Как долго и где хранятся прошлые бэкапы? Прод базы весят хуеву тучу места, нужно не малое хранилище, чтобы хранить как минимум 10 бэкапов по 50 гбт.
4. В каких реально случаях бэкап спасает? Пиздой накрывается вся база, если да, то как это возможно?
5. Bakpack хранит все данные + индексы? После рестора идет построение индексов?

Знаю, что высрал много вопросов, но реально хочется разобраться, а ответов на вопросы хуй кто дает. Или не хотят шарить или сами не разбираются.
Всем добра.
Аноним 02/12/21 Чтв 01:33:08 2227255467
>>2227251
> С чего ты взял что в avito key-value
Разве там основное Хд не на вертике? Вертика - кей валуе.
Аноним 02/12/21 Чтв 01:37:17 2227258468
>>2227252
>что такое data lake,
Это тоже самое что и хранилище данных, только больше. По хорошему, это помойка куда кидают вообще все данные, в том числе и картинки с видосами.
Аноним 02/12/21 Чтв 01:50:33 2227261469
Я по ходу обосрался и вертика это не Кей валуе. Сорян.
Аноним 02/12/21 Чтв 02:32:15 2227265470
>>2227258
Все равно не объяснил.
> https://habr.com/ru/post/495670/
о чем статья?

Это место откуда дата-саентисты надеятся в будущем извлечь что-то полезное, поэтому бизнес вынужден хранить, хоть пока у них ничего не получается ?
Хранить-то навалом попроще будет. Но о чем тогда статья?
Аноним 02/12/21 Чтв 09:50:19 2227314471
>>2227265
>о чем статья?
Я пока не читал, почитаю расскажу.
Аноним 02/12/21 Чтв 10:57:32 2227343472
>>2227314
А я читал. Комментарии читал (это же хабр).
Хуйня там.

>>2227261
>Я по ходу обосрался
Это сразу было понятно, вкатун ебучий.

Нет, знать термины недостаточно чтобы вкатиться.
Нет, Аношин не сделает из тебя востребованного специалиста.
Аноним 02/12/21 Чтв 12:02:06 2227379473
>>2227343
как так? я уже приготовился с работы увольняться и канадский язык учить! а что? датаинжеренты везде нужны, ща нехватка, понимать надо!
Аноним 02/12/21 Чтв 12:08:09 2227380474
>>2227379
Судя по вакансиям, тебе надо не столько знать бд, сколько хорошо пердолять на яве/питухоне
Аноним 02/12/21 Чтв 12:10:33 2227382475
>>2227380
ёпта, вон автор курсов в питоне ни в зуб ногой и ничо, укатился
вообще хуею, чо им надо всем? одним субд, другим скалу, третьим набор каких-то хипстерских приблуд...
Аноним 02/12/21 Чтв 12:16:18 2227386476
>>2227343
>Это сразу было понятно, вкатун ебучий.
3 года в професии...
Аноним 02/12/21 Чтв 12:17:10 2227387477
Аноним 02/12/21 Чтв 12:31:26 2227398478
>>2227382
хз о каких ты курсах, но щас все просят Spark\Airflow, в 9 из 10 вакансий эти говна на дата инженера.
Аноним 02/12/21 Чтв 13:18:37 2227426479
повар.jpg 38Кб, 1280x720
1280x720
>>2227386
ПОВАР СПРАШИВАЕТ ПОВАРА КАКОВА ТВОЯ ПРОФЕССИЯ
ПОВАР, БЛЯДЬ!


>>2227387
Да есть тут один Дмитрий Аношин.
В следствие совпадения обстоятельств и отличного нетворкинга умудряется не зная программирования работать с данными в Канаде.

Пропагандирует идею, что любой повар может перекатиться в Канаду. Нужно просто пройти 50 собеседований и обязательно повезет.
Недавно к нему в телеграме на канале пришел некий банковский архитектор и как давай правду-матку рубить. Очень весело было. Жаль он его забанил.
Аноним 02/12/21 Чтв 13:23:37 2227427480
>>2227426
Ах да, в отличие от мутных инфобизнесменчиков, курсы он не продает. Плана у него нет. Денег ему и так хватает, поэтому он просто может позволить делать себе всякую дичь хаотично.

То есть, обманывает он бесплатно. От чистого сердца.

Аноним 02/12/21 Чтв 13:29:28 2227430481
>>2227426
>ПОВАР СПРАШИВАЕТ ПОВАРА КАКОВА ТВОЯ ПРОФЕССИЯ
>ПОВАР, БЛЯДЬ!
На самом деле, чтобы вкатиться в бд, нужно знать всего-лишь Анси скл. Я 2 года етл разработчиком работаю, айпфлоу, гринплам и т. д. Тоже хочу архитектором стать, вот только хз как...
Аноним 02/12/21 Чтв 13:33:02 2227434482
Аноним 02/12/21 Чтв 13:35:00 2227435483
Аноним 02/12/21 Чтв 13:36:05 2227436484
>>2227430
ну и сколько платят? Простое не может оплачиваться хорошо. SQL ведь не существует в вакууме. Он связан с кучей разных программ и процессов.

Если только реально альтернатива между заводом и офисом.
Причем, на заводе тебя все уважают, а тут будут считать ненастоящим айтишником, которому даже винду нужно показывать как траблшутить.
Аноним 02/12/21 Чтв 13:37:49 2227438485
>>2227436
Ответил уже. А с чего ты взял, что это легко?
Аноним 02/12/21 Чтв 13:40:22 2227441486
>>2227438
ты же сам пишешь, что знал только ansi sql.
Аноним 02/12/21 Чтв 13:41:03 2227443487
>>2227441
Когда знал, получал 70к.
Аноним 02/12/21 Чтв 13:44:03 2227445488
>>2227438
мне кажется по сравнение с остальным ИТ - колдунством, бд самое лёгкое...


мимокрок
Аноним 02/12/21 Чтв 13:51:58 2227450489
>>2227435
Мне кажется, для двух лет неплохо..
>>2227436
блять, херню же пишешь
Аноним 02/12/21 Чтв 13:55:43 2227453490
>>2227450
>Мне кажется, для двух лет неплохо..
Для 3х
Аноним 02/12/21 Чтв 13:59:37 2227459491
>>2227450
Ну давай от противного.
Принеси-ка ссылку на HH где нужно знать только SQL и посмотрим сколько предлагают.
Много ли найдется программистов готовых вкатывать левого чувака который ничего особо не знает?

В большой компании такой может пристроится. Но больших компаний у нас сколько? ДВе. Сбербанк и Газпром.
Аноним 02/12/21 Чтв 14:04:51 2227466492
>>2227459
Ща, разбежался я тут ссылки искать и доказывать. Реально пишешь глупости и хочешь, чтобы с тобой спорили вокруг этого
Аноним 02/12/21 Чтв 14:05:08 2227467493
Аноним 02/12/21 Чтв 14:05:57 2227470494
Аноним 02/12/21 Чтв 14:08:02 2227473495
Аноним 02/12/21 Чтв 14:08:47 2227476496
Аноним 02/12/21 Чтв 14:09:03 2227477497
Аноним 02/12/21 Чтв 14:11:15 2227483498
>>2227476
>оптимизация
Не один ждун не знает оптимизацию. Можно вкатиться на джуна и выучить её.
Тут тоже самое, не знает ждун, который вкатывается что такое олап, а что такое олтп. Это понимание приходит во время работы.
Аноним 02/12/21 Чтв 14:33:03 2227510499
>>2227483
А можно не вкатиться. Давай рассуждать о главных тендециях, а не об исключениях.

Еще раз:
в чем польза бизнесу от sql-джуна, если его работу в 3 раза быстрее выполняет нормальный программист, которого просто сняли на неделю с проекта?

50 собеседований значит нужно пройти?
Аноним 02/12/21 Чтв 14:34:50 2227512500
изображение.png 116Кб, 3087x985
3087x985
>>2227476

Ну да ну да ,чистый SQL

И да, если взять долю вакансий, то вот этих синьёров помидоров со скулюм 2 вакансии при том с одной ты обосрался лол, а дата инженеров 200 вакансий.
Аноним 02/12/21 Чтв 14:38:45 2227525501
>>2227510
>в чем польза бизнесу от sql-джуна
Когда я пришёл в компанию джуном только с анси sql-ем я взял на себя всю 3 линию тех. поддержки, я попросил за это 50к, мне сказали, что будут платить 70к. Потом я пошёл на новый проект уже в роле мидла, освоил airflow, разобрался, также как разбирались остальные с хадупом и гринпламом.
>>2227512
Нужен очень низкий уровень питона, чтобы освоить airflow и писать на нём ЕТЛ.
Аноним 02/12/21 Чтв 14:39:40 2227526502
>>2227483
вкатывался в ваш sql именно через OLAP и MDX

мимио
Аноним 02/12/21 Чтв 14:41:57 2227531503
изображение.png 124Кб, 260x194
260x194
>>2227525
очень низкий уровень питона
@
чтобы освоить airflow и писать на нём ЕТЛ



Аноним 02/12/21 Чтв 14:44:35 2227532504
>>2227525
>Когда я пришёл в компанию джуном только с анси sql-ем я взял на себя всю 3 линию тех. поддержки

окей. сколько таких вакансий сейчас на hh.ru наблюдается?
Аноним 02/12/21 Чтв 14:47:49 2227539505
Аноним 02/12/21 Чтв 14:48:31 2227541506
>>2227531
А какой уровень питона нужен? Чтобы написать селект из одной базы в другую?
Аноним 02/12/21 Чтв 14:50:26 2227544507
>>2227539
>40000
>15000
>зп-не указана

Не лучше ли на завод?
Аноним 02/12/21 Чтв 14:51:22 2227547508
>>2227541
Там же ещё даги оркестрация, передача туда судапеременны, плюс источники не всегода бд, довольно много пердрлинга. Да и в ЕТЛ как бы есть ещё ТРАНСФОРМ
Аноним 02/12/21 Чтв 14:51:38 2227549509
>>2227532
строго говоря, нуль таких вакансий. ведь тебе 3 года назад дали 70000.
Аноним 02/12/21 Чтв 15:04:38 2227563510
16056125054221.jpg 28Кб, 343x256
343x256
Прослушал курс М10987С: Оптимизация баз данных в Microsoft SQL Server

Что-то просветления не достиг, из полезного узнал про IN-Memory таблицы только хзачем, есть же REDIS и как различия в работе жоинов при анализе плана запроса. Но что-то в целом все какое-то слишком мутное, чтоб можно было брать и применять на практике, без особых усилий, куча всякого про устройства сервера и про механизмы, но если бы я этого не знал, не много бы потерял.



Задавайте свои ответы
хуй не сосу, бочку не делаю
Аноним 02/12/21 Чтв 15:05:44 2227565511
>>2227547
>Там же ещё даги оркестрация, передача туда судапеременны
Если для тебя это СЛОЖНА СЛОЖНА НИПОНЯТНО, то я не вижу смысла продолжать дискуссию.
>Да и в ЕТЛ как бы есть ещё ТРАНСФОРМ
В большинстве своём пишется на SQL.
Аноним 02/12/21 Чтв 15:07:21 2227569512
>>2227544
Ну да, они ведь никакие навыки не приобретут и не будут через год - два мидлами. Конечно лучше на завод.
Это толстый тролинг такой?
Аноним 02/12/21 Чтв 15:10:05 2227571513
>>2227565
речь о том что если ты можешь выучить аирфлоу и успешно пердолится с ним в контйнере, надо катится в полноценное погромирование, где и зп больше и вакансий выбор шире
Аноним 02/12/21 Чтв 15:11:27 2227575514
>>2227571
Я могу выучить что угодно, только зачем, если мне и тут норм платят? Может сразу GO учить?
Аноним 02/12/21 Чтв 15:13:17 2227577515
>>2227575
180 как бы довольно не много для пограмиста
Аноним 02/12/21 Чтв 15:14:32 2227580516
>>2227577
Немного, приходится просрочку жрать, но у меня есть коллеги, которые получают 200 и 250к.
Аноним 02/12/21 Чтв 15:27:28 2227595517
>>2227569
Не троллинг.
Пытаюсь узнать как рассуждают кабанчики.
Неужели такая нехватка кадров имеет место быть?
Аноним 02/12/21 Чтв 15:38:08 2227601518
>>2227525
О, ты то мне и нужен. Как лучше вкатываться воздущный поток? Как там вобще разрабатывать и код писать, дебагать? Он же крутится где-то далеко, а просто подкладывать ему файлы без проверки неудобно наверное. Как запускать вот это все для локльно, из того же пичарма например?

А то вот написал я говнокод, не сразу же выкатывать, позапускать сначала где-то нужно, посмотреть на ошибки.
Аноним 02/12/21 Чтв 16:13:23 2227635519
>>2227601
Я вот буквально только что ради тебя нашёл одну книгу.
https://vk.com/doc255577237_598735863?hash=d0ec40ea846c0f4123&dl=d9ce12e35a07f168e7
>Он же крутится где-то далеко, а просто подкладывать ему файлы без проверки неудобно наверное.
Наверняка как-то можно, но я подкладываю, хотя выгугливал специальные IDE, где его можно потестить.
Аноним 02/12/21 Чтв 16:39:38 2227656520
Аноним 02/12/21 Чтв 18:48:38 2227757521
>>2227656
че ты доебался? откуда нам знать как у тебя на работе делают бекапы?
Устраивайся в Амазон. Там нет секретов.

кроме секрета о том, что все персональные данные спиздили и продали в ЦРУ
Аноним 02/12/21 Чтв 22:30:38 2227896522
Аноним 03/12/21 Птн 00:46:41 2227950523
>>2227757
я не спрашиваю за себя - спрашиваю как у анона
Аноним 16/12/21 Чтв 19:52:56 2239370524
>>2133991
Падажжи. У тебя какие требования к событиям? Они должны быть прочитаны только одним потребителем? Если да, то в таком случае оба варианты являются опасными, можно продублировать событие.
unit testing Аноним 19/12/21 Вск 19:03:52 2242134525
Кто-нибудь тестирует логику в БД? Профиты действительно есть, или не стоит того?
Аноним 26/03/22 Суб 02:23:31 2323298526
>>2128337 (OP)
Есть ли либы на Питон (или любой другой язык), которые позволяют читать данные из дамп-файлов Postgres, не распаковывая их?
а если нет, то зачем это говнище вообще нужно?
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов