М.Двач / Программирование

Этого треда уже нет.
Это копия, сохраненная 3 января 2019 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

И снова это неиндексированный баз данных тред! /sql/ 4 июля, 12:52 1222346 В конец треда | Веб

107 Кб, 836x673163 Кб, 512x512355 Кб, 1600x1247

И снова это неиндексированный баз данных тред!
Тут мы решаем ультраважные вопросы о том, как правильно хранить динамические атрибуты сущностей: в полях или в строках,
Рассказываем, как работаем аналитиками и мечтаем стать разработчиками,
Строим АНАЛИТИЧЕСКИЕ отчеты в экселе, выгружая по миллиону строк, а потом фильтруя,
Дружно не понимаем, ЗОЧЕМ ЖИ НУЖИН ОЛАП, ЕСЛИ И ТАК ВСЕ РАБОТАЕТ ЗАЕБИСЯ,
Ищем ошибки в аббривиатурах MDX DMX XMLA,
Доебываемся до эс - ку - элей наших же потенциальных конкурентов
>Select id from tbl_table_with_id where id = (select max(id) from tbl_table_with_id)
>ЧТО НЕ ТАК-ТО У МЕНЯ?
Удивляемся, как за знания, приобретаемые за 4 месяца на sql-ex, могут платить по 100к, и бугуртим, что ниасилили и 100к не получаем.
А так же:
Постгре или постгрес?
Май эс ку эль или мускуль?
Эс ку эль или сиквел?

В общем, это очередной баз данных тред, поехали!

Награда светит не посмертною медалью, отнюдь
Это храм старого формата, так предали огню
И скоптили небо старики, что слышны с Невской реки
Мы видим дым от костра - "Да здравствуют базовики!"

ПРЕДЫДУЩИЙ: >>1167018 (OP)

#sql #бд #базы данных

Ответы222349225960237407251747251805253781262567270898284427290475293708302266

2 4 июля, 12:54 2 1222349

>>1222346 (OP)
Сразу вопрос. Каким образом можно удалить знаки препинания из строки?
Есть ли что-то похожее?
SELECT функция(атрибут, знак препинания)
FROM таблица

Ответы222350222364

3 4 июля, 12:55 3 1222350

>>1222349
СУБД oracle

4 4 июля, 13:14 4 1222364

>>1222349
Replace (stroka, ',')

5 5 июля, 21:33 5 1223234

sudo apt-get install mysql-server
он устанавливает, но не просит пароль, и я не могу войти под root. что не так?

Ответы223475223486240098

6 6 июля, 11:17 6 1223475

>>1223234
У тебя полномочия администратора может быть?
Как я помню там не из под рута, а из под ассоциативного пользователя необходимо заходить или из под mysql

7 6 июля, 11:32 7 1223486

>>1223234
>он устанавливает, но не просит пароль, и я не могу войти под root. что не так?

sudo service mysql stop

sudo mysqld --skip-grant-tables --user=root

mysql -u root

и меняешь пароль.

203 Кб, 1280x1024
8 7 июля, 00:44 8 1223922

Анон можешь дать пару советов и гайдов как вкатиться в sql?
Из скилов только знания уровня дауна С++ типа решения не сложных задач, которые были получены 10 лет назад и успешно забыты.
А сейчас короч мне нужно сделать базу данных для стоматологии похожую на оп пик, это реально ? скок времени это может занять?

Ответы223927224603

9 7 июля, 00:53 9 1223927

>>1223922
>Анон можешь дать пару советов
Alan_Beaulieu-Learning_SQL-EN.pdf
Learning PostgreSQL by Salahaldin Juba.pdf
sql-ex.ru

>дауна С++
При чем тут это? Тебе сказали БД сделать или прямо все приложение с кнопочками и свистоперделками на пике?

>скок времени это может занять?
Это от тебя зависит

>Word не был активирован
лол

Откуда вообще тебе дали это задание и почему? забрал пик себе, тоже сделаю, для самопрактики

Ответы224173

10 7 июля, 18:33 10 1224173

>>1223927
спасибо анон
> с кнопочками и свистоперделками на пике
было бы то что надо
>Откуда вообще тебе дали это
дали по работе, подробностей пока нету тк сам их не знаю надо звонить

82 Кб, 1132x390
11 8 июля, 00:34 11 1224316

О чем они? Я про последнее предложение. Почему 4 бэкслэша? При single quote это был бы один слэш, т.к. их не надо эскейпить вообще, при E'yoba' пришлось бы написать 2 слэша, т.к. в Е строках \ значит начало escape sequence. Но откуда 4 то блять. В обычной 'строке' ? Это документация постгреса если че

4 Кб, 238x212
12 8 июля, 17:39 12 1224594

Внимание, господа бездельники и позеры, есть всем известное хранилилище редис и для чего его только не используют из-за его производительности.

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

Соответственно, вопрос к господам знатокам, а если ли концепиуально похожее, легковестное in-memory хранилище не имееющее такого врожденного недостатка, как блокировка всего сервиса, пока выполняется один запрос?

Ответы224604

13 8 июля, 17:46 13 1224603

>>1223922
имея нормальные требования - проектирование бд где-нить день, лучше два, реализация бизнес логики, гуйни на веб технологиях html+js+css python/go/php неделя-две в плюсах и десктопных технологиях у меня нет компетенций для оценки сроков.

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

14 8 июля, 17:49 14 1224604

>>1224594
tarantool?

Ответы224609224612

15 8 июля, 17:51 15 1224609

>>1224604
Александр?

16 8 июля, 17:53 16 1224612

>>1224604
>tarantool
оно может быть и подойдет, но не хотелось бы держать такого монстра в проде только ради по сути большой хеш-таблицы (опционально распределенной).

Ответы224650

17 8 июля, 18:43 17 1224650

>>1224612
смотрю пока на reindexer и кажется, что лучше ничего не найду

18 9 июля, 15:46 18 1225074

Сап, бигдаты. Я JS макака, вкатываюсь в бэкенд на node.js ага, я еще питон знаю - но это позже, да и не суть
Хочу освоить SQL.
Скажите с чего начать совсем нубарю? Какой учебник? Какая СУБД?
Как мне облегчить жизнь и обучение себе? GUI какое юзать?
Я вообще лошара в БД.

Ответы225170225182287280

19 9 июля, 19:01 19 1225170

>>1225074
POSTGRESQL
O
S
T
G
R
E
S
Q
L

20 9 июля, 19:46 20 1225182

>>1225074
Иди скачай книжку ицыка бен-ган, основы T-SQL.
Накати MS SQL, если нужно, напиши сюда, я скину тебе скрипт учебной базы лучше сам на торренте найди. После того как прочтёшь главу о подзапросах, пиздуй выполнять упражнения на сайте sql-exe. Дальше сам разберёшься.
Если тебе нужна реляционная теория больше чем просто одна глава, то читай Дейта.

Ответы233768

21 11 июля, 08:40 21 1225960

>>1222346 (OP)
Рейт https://pastebin.com/rC3RAGTJ
мимо-бэкенд-крокодил
С меня сотни кросс-таблиц

Ответы227327

22 13 июля, 16:17 22 1227327

>>1225960
>https://pastebin.com/rC3RAGTJ

>TABLE "thread"
>TABLE "thread_post"
>TABLE "post_answer"
что-то тут лишнее

>TABLE "user"
>TABLE "user_role"
- Регистрацию вводишь?

>TABLE "attachment"
>TABLE "post_attachment"
Зочем тут 2 таблицы? У тебя аттачменты всегда уникальные. Или ты собираешься проверять на уникальность при загрузке?

255 Кб, 512x512
23 13 июля, 17:13 23 1227352

Посоветуйте годные видеоуроки mysql на ютупе желательно где больше практики показано.

Ответы228530

24 14 июля, 23:43 24 1228399

работаю десять лет в DWH/ETL
спрашивайте ответы

Ответы228513228614228618232098

25 15 июля, 10:28 25 1228513

>>1228399
тоже хочу работать, какой минимум нужен для работы ?

Ответы228862

26 15 июля, 11:43 26 1228530

>>1227352
> видеоуроки mysql
Что за хуйня такая?
> больше практики
https://www.google.com/search?q=sql+cookbook

27 15 июля, 13:59 27 1228614

>>1228399
В какой сфере работаешь? Какая зп?

Ответы228872

28 15 июля, 14:08 28 1228618

>>1228399
Пиздунок итт

29 15 июля, 21:06 29 1228862

>>1228513
минимум - это хорошо знать SQL и уже можно начинать вкатываться.

если не знаешь БД вообще, то читать какие-нибудь основы (дейт или чо там) дрочить sql-exe.ru. Скачать какую-нибудь Oracle(лучше), MS SQL. Почитать их документацию, потыкаться в них. Знать какие индексы есть нахуа они нужны. (хотя они зачастую в DWH не нужны, но долбоебы любят спрашивать). Чем OLTP база отличается от аналитической. Про етль можно почитать в data warehouse etl tookit кимбалла. Но лучше это делать с практикой, просто так туго будет заходить.

Проще всего, если в Рахе, то с одним SQL вкатиться в интегратор. Они набирают на эту тему пиздюков толпами. И потом уже на работе читать ньюансы, хоть понятно о чем будет речь.

Если погромист в душе, то лучше вкатываться в жабу. Там больше бабла и разнообразия.

30 15 июля, 21:17 30 1228872

>>1228614
делаю в телекомах и банках. Разный оракел/ексадату/терадату и прочий mpp задорого. Просто быдлокодер. Получаю оклад 165к и если с премией через год, то средне в месяц будет 210+.

Но такие зп у обычных ETL почти не бывают. Не стоит обольщаться. Больше 200 это уже у архитекторов, погоняльщиков рабов, РП-шек. Можно полуперекатиться в банке на полубизнес - отчетность, фрод, розничная аналитика, риски. Сидеть по сути клепать те же отчеты, только со знанием прикладной области, называться типа директор направления и получать до 250к. Ну это если более менее софт скилы есть.

В целом работа не матан. Местами примитивная. Хотя есть места, где на экспертизе можно выезжать из толпы. Если сыч и чисто технарь, лучше вкатываться в general purpose языки. Там больше бабла и веселей.

Ответы228963

31 15 июля, 23:21 31 1228963

>>1228872
Какой лвл? Банковскую сферу долго осваивал? Видишь какие-нибудь перспективы?

Ответы228970

32 15 июля, 23:53 32 1228970

>>1228963
35. Когда работаешь с двх так или иначе осваиваешь. Кто-то быстрее, кто-то нихуя.

Управлять рабами никогда не стремился. Если по тех стязе смотреть, можно стать арихтектором. Я им был некоторое время. Но он в банках в основном занимается тем, что долго хуесосится на митингах с дебилами, доказывая очевидные вещи. Пишет в ворд, рисует в визио и поверпейнт. зп 250-300к может быть. (столько может жаба кодер получать). Вакансий мало очень.

планы заниматься тем же за 200к. (основной план)

либо перекат в мл
либо перекат в жабу (если схуято уволят, что очень маловероятно)
либо перекат в гермашку

Ответы228978

33 16 июля, 00:23 33 1228978

>>1228970
Тянок много было?

Ответы228980

34 16 июля, 00:43 34 1228980

>>1228978
только трапы

166 Кб, 810x1080
35 16 июля, 20:46 35 1229418

sql sql slq slq slq slq slq slq slq slq

13 Кб, 1152x648
Мэри Поппинс 36 17 июля, 00:52 36 1229582

Привет!
помогите пожалуйста!

я хочу создать базу данных для сенсорных данных и классификаторов на них.

я создала entity сенсорные данные и entity классификатор, они соединены relationship "использует", n:m.
У сенсорных данных свои свойства, а у классификатора есть ещё свойство "тренировочные данные", где я планирую сохранять список id использованных сенсорных данных. Как 'то пометить? И я правильно всё сделала?

Ответы229587229592241851241900

37 17 июля, 01:06 37 1229587

>>1229582
>Использует
Лол

38 17 июля, 01:12 38 1229592

>>1229582
Только что написал тебе развёрнутый ответ, а потом увидел "сделала".
Скинешь сиськи?

Ответы229594

39 17 июля, 01:17 39 1229594

>>1229592
только что сфоткалась красиво, а потом увидела, что ты анон с двача и.. напишешь как надо рисовать ер модель?

53 Кб, 604x603
40 17 июля, 19:57 40 1230066

Перешёл на новое место работы как data ANALyst. Сразу же посадили хуярить репортинг (используется mysql + excel, больше нихуя). И тут стало известно что будут имплементировать Zeppelin (т.к. просто и бесплатный). Установил дома на локалку, почитал документацию, остались такие вопросы:
Насколько эта приблуда перспективна в плане отчётности и аналитики на уровне "мы вчера всё проебали\заработали"?

Ответы230216244020

41 18 июля, 01:32 41 1230216

>>1230066
судя по стэку вы вчера заработали нихуя
надо работать там, где в репортинге используется ПО задорого. Там и бабла больше платят.

Ответы230289

42 18 июля, 10:22 42 1230289

>>1230216
Это не отменяет самого вопроса.

43 21 июля, 01:19 43 1232098

>>1228399
Где успел поработать? Где больше всего платят?

Ответы232125

44 21 июля, 03:17 44 1232114

посоветуйте книгу по mysql чтоб через 4 дня на интервьюшке не обосраться, плиз

Ответы232115

45 21 июля, 03:19 45 1232115

>>1232114
Вот да очень интересует, что за 4 дня выучить, чтобы на интервью казаться неказуалом

46 21 июля, 04:58 46 1232125

>>1232098
делал хд в 4 банках из топ 5 кроме колхоза, в двух телекомах. работал в 2х интеграторах, в штате 2х банков и в телекоме. Больше платят в сбере сейчас.

Ответы245506

47 23 июля, 12:01 47 1233459

Что хорошего посоветуете для вката в SQL

Ответы233768

48 23 июля, 22:06 48 1233768

>>1225182
>>1233459

49 25 июля, 10:28 49 1234559

Хочу, по заветам пасты, написать свою борду.
Насколько для каждого раздела обоснованно создавать свою таблицу? Вроде это и поиск ускорит, и еблю с айдишниками постов снизит значительно (для каждого раздела свой счетчик номера поста).
Или лучше сделать составной первичный ключ из раздел+номер_поста?

Ответы234657235107

50 25 июля, 13:43 50 1234657

>>1234559
Ето платиновый вопрос плоские таблицы vs таблицы со связями.
Коли хочеш изучять SQL -- выбирай второе.

51 26 июля, 00:33 51 1235091

Няши, поясните, а то сам не могу выбрать. Использую postgresql. Есть два стула:
1)Разбить все данные по схемам, в которых будет много-много небольших таблиц
2)Использовать одну схему, а данные разбить по таблицам, соответственно их будет не так много (несколько сотен), но они будут ОЧЕ большими - десятки (а то и сотни) тысяч строк.
Что лучше?

Ответы235108

52 26 июля, 00:57 52 1235107

>>1234559
> Насколько для каждого раздела обоснованно создавать свою таблицу?
Отвратительно. Разделы с точки зрения постов абсолютно одинаковые.

Таблица Board. В ней все разделы. К каждому разделу цепляются правила раздела типа размера картинок и прочей дрисни что надо. Также к каждому разделу делается сиквенс чтобы новые посты их дергали.
К Board один ко многим таблица Post. В ней суррогатный PK и номер поста в борде и FK к разделу. Это позволит делать нормальные ссылки на посты на других бордах без писек.

Кто не согласен, того обоссу.

53 26 июля, 01:01 53 1235108

>>1235091
Можешь юзать разные схемы если у тебя разные приложухи и реально они не пересекаются. Если приложуха одна, то не еби мозг и делай одну схему с нормальными таблицами и нормализацией.
> они будут ОЧЕ большими - десятки (а то и сотни) тысяч строк
Это вообще не размер. Просто вообще.
Шардирование для больших таблиц с идемпотентной аффинити-функцией от ключа если дорастешь до миллионов и миллионов, а на оракл денег не дают. Про бигдату же узнаешь если дорастешь.

Ответы235118

54 26 июля, 01:33 54 1235118

>>1235108
> Это вообще не размер. Просто вообще.
Для какой-нибудь компании - вполне возможно, а у меня приложение для личного пользования. И когда я вижу что постгрес жрет 90% проца и 6 гб рамы, мне становится печально.
Но спасибо, не стал запариваться со схемами.

Ответы235122

55 26 июля, 01:52 55 1235122

>>1235118
> 6 гб рамы
У каждого второго браузер жрет больше.
> постгрес жрет 90% проца
Что у тебя жрет 90% проца? Селекты? Нехуй фуллсканы по неиндексированным колонкам делать. Исправь и будет нормально работать.

Ответы235127

15 Кб, 1112x96
56 26 июля, 02:12 56 1235127

>>1235122
> У каждого второго браузер жрет больше.
Ну так то на рабочем компе, где меньше 16 гигов по определению не бывает. А на домашний сервак, где и крутится дб, пришлось докупить еще 8 гб, а то он в своп уходил сразу же.
> Нехуй фуллсканы по неиндексированным колонкам делать.
В каком плане "неиндексированным"?
У меня колонки как на пике, и когда я делаю самый обычный запрос типа
"SELECT board, url, tag, notInteresting, dead FROM interesting_threads WHERE url = '"+num+"' AND board = '"+board+"';" хотя бы раз в секунду, начинаются просадки. Я конечно понимаю, что проблема еще и в том, что там стоит пень с 2 ядрами, но не на столько же все плохо должно быть.

Ответы235208

57 26 июля, 09:54 57 1235208

>>1235127
> В каком плане "неиндексированным"?
В чем у тебя проблема я написал и слова для гуглинга тоже написал. Пиздуй гуглить и тогда решить свою проблему или иди нахуй и страдай.

Ответы235242

58 26 июля, 10:44 58 1235242

>>1235208
Мать твою ебал.

Ответы235243235245

59 26 июля, 10:46 59 1235243

>>1235242
Кекнул с дурачка.
мимокрокодил

Ответы235251

8 Кб, 480x360
60 26 июля, 10:48 60 1235245

>>1235242
Свинья неблагодарная.

Ответы235251

61 26 июля, 10:52 61 1235251

>>1235243
>>1235245
Зарепортил шитпостинг.

Ответы235255235257

62 26 июля, 10:55 62 1235255

>>1235251
Не забудь поставить минус в карму, долбоеб. Как можно использовать бд, но не знать про индексы? Уму блять непостижимо.

Ответы235279

17 Кб, 200x188
63 26 июля, 10:59 63 1235257

>>1235251
А за щеку-то хоть зарепортил, порванка?

Ответы235279

64 26 июля, 11:39 64 1235279

>>1235255
>>1235257
Бан.

Ответы235442

65 26 июля, 15:38 65 1235442

>>1235279
Помог анонам выше забанить твою мать.

66 29 июля, 18:44 66 1237333

402 Кб, 1280x1024145 Кб, 1034x466109 Кб, 1140x369

Анон нид хелп, это почти правильный код, где ошибки точно не знаю.он типа выдает результаты, но где то с нулами. Скажите на пальцах как это понимать и где можно посмотреть информацию по таким сложным техническим запросам или какие главы учебника почитать чтобы это понять и какого учебника?
я проходил только лоу уровень где связь только 2 таблиц джоинами, а тут их много и еще вложенные селекты ...
Это типа надо сделать отчеты для врачей по времени и по определенным случаем лечения, фотка задания на третьем пике. вторая это почти тоже задание только меньше столбцов и лучше видно таблицу сверху.

Ответы237337237514

67 29 июля, 18:51 67 1237337

>>1237333
Еще часть однотипных темповых таблиц по середине я удалил чтобы помещалось на скрине
быстрофикс

68 29 июля, 20:53 68 1237407

>>1222346 (OP)
Аноны, работал кто-нибудь с монго дб?
У меныя тут запрос, который делает много lookup'ов, сторонних коллекций в основную. К сожалению пока я их не могу убрать, так что ищу советов по по оптимизации. К счастью все эти лукапы не зависят друг от друга и могли бы выполняться параллельно. Я перепробовал несколько решений, пока единственное работающее было - через $facet, но оно оказалось в 2 раза медленнее обычной последовательности лукапов. Может кто помочь?

Ответы237409

69 29 июля, 20:57 69 1237409

>>1237407
> У меныя тут запрос, который делает много lookup'ов, сторонних коллекций в основную.
Ничего личного, но еще один пример когда ужа натягивают на ежа реляционные по природе данные натягивают в нереляционщину.

Ответы237411

70 29 июля, 21:07 70 1237411

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

71 30 июля, 00:39 71 1237514

>>1237333
>сложным техническим запросам
В каком месте они сложные?

Ответы237545

72 30 июля, 08:04 72 1237545

>>1237514
для меня сложные, я 5 дней сикуэль изучаю. анон помоги плс, скажи где ошибки ?
хм может использовать Coalesce, чтобы не считал пустые значение, это поможет ?

73 30 июля, 09:35 73 1237569

Сап, анончики. Знаю, платина нахуя нужен apply? Чтоб понятнее, сколько гуглил - ниасилил.

мимо веб макака и не тяну SQL дальше оконных функций

Ответы238049255686

74 30 июля, 15:25 74 1237719

Платиновый вопрос: кого можно называть разработчиком SQL, а кого аналитиком?

Я вот вообще просто работаю СПЕЦИАЛИСТОМ в банке. Но по факту строю витрины данных, пилю скрипты на PL для правильного переноса из одной системы в другую, иногда заливаю данные с помощью sqlldr, разрабатываю функции всякий парсинг, pipeline, пилю мониторинг систем рассылки там на почту при пиздецоме, пару раз проектировал всякую ебанину для новых проектов в БД. Ну и конечно сопровождаю все что написал. Работаю на оракле. И кто я? Разраб или аналитик все таки?

И сколько получают в среднем в ДС разрабы SQL? На hh забанили, хочу услышать мнение анонов

Ответы238049

75 30 июля, 20:19 75 1237837

Бамп

Ответы238049

76 31 июля, 00:22 76 1238030

С каким минимумом можно найти работу в дс2?

Ответы238049238126

# OP 77 31 июля, 00:43 77 1238049

>>1237569
>>1237719
>>1237837
>>1238030
Съебись с треда, пожалуйста.

Ответы238154

160 Кб, 750x1000
78 31 июля, 08:48 78 1238126

>>1238030
Получи сертификат на sql-ex.сру и можешь вкатываться

79 31 июля, 10:25 79 1238154

>>1238049
Или что?

579 Кб, 1171x689
80 1 авг, 18:55 80 1239072

Двощик, выручай! Есть постгрес установленный в сраный шиндоус. Тут вы меня захотите закидать тряпками, но это не я так хочу, юзер моего говнософта не сможет в линакс. Короче, я запустил инсталер, несколько раз нажал далее, инсталер сам создал юзера postgres, мой козырный пароль 1234, добавил в PATH каталог с бинарями C:\Program Files\PostgreSQL\10\bin. Теперь мне надо запилить тестовую базу данных шоб оттестировать работу на шинде, а она нихуя не создается. Двощик, помогай-выручай, что я делаю не так?

Ответы239111240103

81 1 авг, 20:05 81 1239111

>>1239072
>что я делаю не так?
прова админа?

82 3 авг, 11:27 82 1240098

>>1223234
mysql_secure_installation

83 3 авг, 11:36 83 1240103

>>1239072
> юзер моего говнософта не сможет в линакс
А ты не умеешь в виндас. Кто из вас хуже, как ты думаешь?

84 3 авг, 21:03 84 1240444

Прив. Я совсем нуб, вкатываюсь фронта JS.
Развернул Microsoft SQL server, поставил SQL Server Management Studio.
Кое как прицепил к ней какую то учебную базу. И нихуя не понял.
Что куда и откуда.
НА этапе установки базы я задал (а точнее дефолтное оставил ) некоторое имя: MSSQLSERVER.
И где его юзать?
Когда запускаю SSMS - появляется окошко "Соединение с сервером" - и там ток из вариантов имя моей учетки компа. Короче пустой сервер.
Потом я подгрузил туда учебную базувыполнил скрипт ф5 нажал, лол и у меня во вкладке "Базы данных" появилась новая БД.
Я не оч понимаю менеджмент баз. У меня один сервер называющийся по моей учетке, да? В него я могу подгрузить самые разные БД, и все они отобразятся в вкладке "Базы данных"? И все они независимы будут?

Ответы240625

85 4 авг, 08:47 85 1240625

>>1240444
Такс, с тем что я выше написал - я разобрался. Сижу, пишу первые запросики.

Ответы240842240851

86 4 авг, 15:41 86 1240779

Поясните за HDF5 и за перспективу замены баз данных ей

87 4 авг, 18:10 87 1240842

>>1240625
Ставь linux/mac nvm yarn и все остальное. А то ты не релевантный опыт получаешь

Ответы241526

88 4 авг, 18:17 88 1240851

>>1240625
Держи нас в курсе, аноним.

89 5 авг, 12:30 89 1241169

Всем привет.
Какие вопросы по mysql вы можете задать, чтобы отличить сеньора от не-сеньора?
Я пока придумал три.
1) В чём отличие движков разных БД? InnoDB vs Mysql (trollface), Mysql vs MariaDB и причём тут Postgres? В чём отличия каждого из них при репликации?
2) Как устроен внутри поисковый индекс? Как он работает? Как это связано с составными ключами?
3) Есть колонка в таблице, в ней численные значения (1,5,6,10,xxx). Написать запрос, который выведет отсутствующие промежутки (1-5,6-10).

Ответы268051

90 5 авг, 20:21 90 1241526

>>1240842
Да бля, я тут с SELECT WHERE ковыряюсь. Большего пока не нужно. На работке есть большая база на 5 млн. лиц. Моя работа прямо связана с работой в этой базе, и прогой что ею управляет. В перспективе я должен овладеть мастерством SQL, но жопу никто не жжет, поэтому вкатываюсь равномерно.
Лучше скажи - у меня на nodejs сайт есть, учебный. Хочу к нему прикрутить базу. MS SQL Server чет монструозно для этих целей выглядит. ЧТо легкое юзать?

Ответы242924

91 6 авг, 12:35 91 1241851

>>1229582
Нахуй тебе в это вкатываться? У тебя есть писька, просто найди себе по богаче кого-нибудь и заделай личинок.

Ответы241900

38 Кб, 300x300
92 6 авг, 13:22 92 1241870

Ща найс трольну тред ИТТ.

ORM

Ответы242042

93 6 авг, 14:09 93 1241900

>>1229582
There are No Girls on the Internet

>>1241851
Предполагаю, что чтобы найти кого-нибудь побогаче писка у него должна быть сильно побольше.

94 6 авг, 16:52 94 1241966

гайз, хелпа нужна. Есть допустим запрос.
select
from table
where 1=1
and field in (value1, value2, value3)
;

Можно ли как-нибудь заебенить:
set @variable = (value1, value2, value3);
select
from table
where 1=1
and field in @variable
;

????

95 6 авг, 17:59 95 1242042

>>1241870
Это в пхп тред.

96 8 авг, 10:29 96 1242851

Анон, как в PostgreSQL замутить следующее:
Есть article и article_tag.
Есть поисковик статей по тэгам.
Нужен запрос, чтобы найти статьи, у которых присутствуют все выбранные тэги.

Например:
article1 имеет tag1, tag2, tag3
article2 имеет tag1, tag2
в поисковике выбраны tag1, tag3

через оператора IN найдется и 1 и 2 статья, но у второй нет tag3, ее надо исключить.

вопрос: какой оператор нужен в условии?

Ответы242898242906244107255578

27 Кб, 1574x440
97 8 авг, 12:09 97 1242898

>>1242851

Ответы242906

52 Кб, 1735x833
98 8 авг, 12:20 98 1242906

>>1242898
slow fix
>>1242851

Ответы242919

35 Кб, 740x710
99 8 авг, 12:33 99 1242919

>>1242906
А можно еще вот так, кажется, что так по-проще.

Ответы242989

100 8 авг, 12:49 100 1242924

>>1241526
Постгрес накати. Лучше мускула, хуже промышленных гигантов типа оракла и мс, но быстрее в развертывании.

101 8 авг, 12:50 101 1242926

Сколько обычно платят ETL/DWH в ДС?

Ответы242945242976

102 8 авг, 13:10 102 1242945

>>1242926
7,5 дошиков и стакан урины чтобо ополоснуть ебало

103 8 авг, 13:31 103 1242976

>>1242926
100-180к

104 8 авг, 13:43 104 1242989

>>1242919
спасибо! ключевое условие - подсчет приджойненых тэгов - помог.

186 Кб, 720x1280
105 9 авг, 16:55 105 1243644

Как вкатиться в БД и написать свою собственную?

Ответы243647243677

106 9 авг, 17:02 106 1243647

>>1243644
зачем?

Ответы243654243670

107 9 авг, 17:21 107 1243654

>>1243647
Он просто шизик, не обращай внимания.

Ответы243669

108 9 авг, 17:57 108 1243669

>>1243654
ты просто пидор, я не обращаю внимания

109 9 авг, 17:57 109 1243670

>>1243647
зачем вопрос на вопрос отвечать?

Ответы244000

110 9 авг, 18:02 110 1243677

>>1243644
бамп, "зачем?" - это не ответ на вопрос.

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

Ответы243686

111 9 авг, 18:14 111 1243686

>>1243677
>>1243643

Он либо шизик, либо жирный тролль.

Ответы243698

112 9 авг, 18:32 112 1243698

>>1243686
я шизик-жирный-тролль.

113 10 авг, 03:08 113 1243931

Народ, какая БД используется в Вики-движке?

Ответы243957

114 10 авг, 07:20 114 1243957

>>1243931
mariadb/postgres

Ответы243958

115 10 авг, 07:22 115 1243958

>>1243957
Но можно и без движка?

Ответы243959243960

116 10 авг, 07:22 116 1243959

>>1243958
ёп, без БД имел ввиду

Ответы243960

117 10 авг, 07:23 117 1243960

>>1243958
>>1243959

Вряд ли.

118 10 авг, 09:28 118 1244000

>>1243670
затем, что если бы ты имел хоть малейшее представление о базах данных и о том как они устроены, ты бы не задавал этот дебильный вопрос.

119 10 авг, 10:08 119 1244020

>>1230066
>Zeppelin
Хуета хует так то. Накати хотя бы Tableau, спирать ее, думаю в твоей шараге похуй на это

Ответы244342

120 10 авг, 12:22 120 1244107

>>1242851
table(article_id, article_tag)

select article_id
from table
where article_tag in ("tag1", ..., "tagN")
group by article_id
having count(*) = N

121 10 авг, 17:14 121 1244342

>>1244020
https://www.youtube.com/watch?v=4GELtgLNseM

122 10 авг, 17:50 122 1244352

Что почитать по графовым БД?

123 11 авг, 09:09 123 1244609

Бля а где у вас шапка? С чего начать-то?
Собираюсь "для портфолио" подучить базы и лучшим вариантом будет PostgreSQL. С какой литературы начать?

Ответы244893

59 Кб, 600x600
124 11 авг, 15:44 124 1244893

>>1244609
по литературе ап. тоже любопытны советы что почитать в начале

Ответы245178

125 11 авг, 23:18 125 1245178

>>1244893

Давайте. Раз уж зашёл такой кутёж, то поделюсь тем, что я читал и советую всегда.

Мат.часть:
Гарсиа-Молина Г., Ульман Дж. Д., Уидом Дж.-Системы баз данных. Полный курс
есть книга "Проектированные Объектно-Ориентированных баз данных"

Oracle
Книги Тома Кайта ( есть книги для совсем новичков, есть книги про тонкости)

Gupta S. - Oracle Advanced PL SQL Developer Professional Guide

Хочешь обмазаться Oracle по полной и не замараться в говне и своих ошибках?
Фейерштейн С., Прибыл Б. - Oracle PLS.QL. Для профессионалов

Для богатеньких, и чтоб совсем обмазаться:
Покупайте книги Burleson'а ( потому что в интернете их обычно нет, особенно новых и самых нужных ( типа Advanced Oracle SQL Tuning))

Postgress:
Bartolini G., Ciolli G., Riggs S. - PostgreSQL Administration Cookbook ( средненькая такая книга для тех кто хочет обмазаться бэкапами и тонкими настройками)

Ibrar Ahmed, Gregory Smith, Enrico Pirozzi - PostgreSQL 10 High Performance ( тюнинг)

пограммирование на postgres -
Pavel Luzanov, Egor Rogov, Igor Levshin PostgreSQL for beginners
Regina Obe and Leo Hsu - PostgreSQL: Up and Running

Обмазаться основами:
так как дико модно молодёжно это Postgres
то, пусть будет
Е.Моргунов - Язык SQL. Базовый курс

125 11 авг, 23:18 125 1245178

>>1244893

Давайте. Раз уж зашёл такой кутёж, то поделюсь тем, что я читал и советую всегда.

Мат.часть:
Гарсиа-Молина Г., Ульман Дж. Д., Уидом Дж.-Системы баз данных. Полный курс
есть книга "Проектированные Объектно-Ориентированных баз данных"

Oracle
Книги Тома Кайта ( есть книги для совсем новичков, есть книги про тонкости)

Gupta S. - Oracle Advanced PL SQL Developer Professional Guide

Хочешь обмазаться Oracle по полной и не замараться в говне и своих ошибках?
Фейерштейн С., Прибыл Б. - Oracle PLS.QL. Для профессионалов

Для богатеньких, и чтоб совсем обмазаться:
Покупайте книги Burleson'а ( потому что в интернете их обычно нет, особенно новых и самых нужных ( типа Advanced Oracle SQL Tuning))

Postgress:
Bartolini G., Ciolli G., Riggs S. - PostgreSQL Administration Cookbook ( средненькая такая книга для тех кто хочет обмазаться бэкапами и тонкими настройками)

Ibrar Ahmed, Gregory Smith, Enrico Pirozzi - PostgreSQL 10 High Performance ( тюнинг)

пограммирование на postgres -
Pavel Luzanov, Egor Rogov, Igor Levshin PostgreSQL for beginners
Regina Obe and Leo Hsu - PostgreSQL: Up and Running

Обмазаться основами:
так как дико модно молодёжно это Postgres
то, пусть будет
Е.Моргунов - Язык SQL. Базовый курс

Показать весь текст
Ответы245181245216245217245290

126 11 авг, 23:20 126 1245181

>>1245178
ну, бля, проебался с разметкой.
А так кто будет шапку пилить, то добавьте всякие
hackerrank
sql-ex-шарашка

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

127 12 авг, 00:53 127 1245216

>>1245178
Еще нужно вбросить туда книги ицыка бен гана по мс скл.

128 12 авг, 00:53 128 1245217

>>1245178
+ Дейта

129 12 авг, 05:58 129 1245290

>>1245178
>Давайте.
На Тома Кайта дрочат в основном в рахе. Так как в издательстве пидер его стали певодить и выкидывать на развалы вот эти вот книжки в мягком переплете. В мире он просто какой-то Том. Нигде такой дрочи на него на англоязычных сайтах не видел. Хотя книги, наверное, неплохие.

Бурлесон это чувак со свинорылой аватарой, у которого его дрочь сайт почему-то вылезает в результатах гугола по запросу оракла. На сайте на тривиальные даются так себе ответы. У чувака образование - психолог. (это написано на его сайте же). Всегда считал его и его сайт каким-то смешным недороразумением в интеренте.

С Pavel Luzanov я работал в одном интеграторе. Он был манагером по какому скажут ИТ. Ничего о его великих познаниях в БД не слышал. Может он их скрывал. После того как он устроился в постргепрофешнл к Бартунову, стал вот книги писать. Ну ладно чё.

зы. Сам(я) ни одной книги по Ораклу не читал, кроме документации и интернетов. Мимокрокодил 200+к, был в том числе архитектором.

Ответы245308245525

130 12 авг, 07:56 130 1245308

>>1245290
Спасибо тебе добрый человек.
Мне 27 и я экселедрочер, надеюсь это всё еще не поздно

131 12 авг, 15:55 131 1245506

>>1232125
А в двх хцфб не участвовал?

Ответы245510

132 12 авг, 16:04 132 1245510

>>1245506
>хцфб
хомяк шоле?
нет

133 12 авг, 16:23 133 1245525

>>1245290
половина новичков надрачивает на Кайта, так как у него есть сайт asktom и он неебаца интегратор оракла был, потом стал каким-то директором в корпорации.

Свинорылый Бурлесон не сам пишет свой сайт, у него же целый комплекс идиотов, которые пишут ему и консультирует других, я Бурлесона не очень люблю, но иногда у него есть нужный материал.

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

Ответы245547

134 12 авг, 16:48 134 1245547

>>1245525
>потом стал
Кайт уволился из Оракла два года назад. Был он там типа вайс президентом - таких там штук двести может быть. На сайт асктом он не пишет лет десять. Его ведут какие-то нанятные редакторы из левых стран.

Оракл хотя и пока силён, теряет позиции. Могу говорить за двх. Его место медленно но верно занимают мпп, ин-мемори системы и прочие богомерзкие хадупы.

Ответы245600

135 12 авг, 17:45 135 1245600

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

Ответы246139246142

136 13 авг, 16:38 136 1246139

>>1245600
Аноны-ораклисты, а доводилось писать хранимки на Java? Уж больно стремный этот PL\SQL. Как там в 12 версии, работу с XML ускорили? Не нужно больше сохранять XML во временную таблицу чтобы он пободрее шевелился?

Ответы246218

137 13 авг, 16:40 137 1246142

>>1245600

Банковские системы с DB2/Симетрикс/бигайронZ не слезают, правда только крупные от самого ZOG.

Ответы246596

138 13 авг, 19:27 138 1246218

>>1246139
очнись. В этом году уже 18 версия будет.
Пиши на pl/sql. Он нихуя не страшный, это просто ты даун.

>>Как там в 12 версии, работу с XML ускорили?
Ты можешь xml инсертить без парсинга прямо в таблицу. Зачем что-то ещё?

Ответы246432

139 14 авг, 01:25 139 1246401

Анонче, я в тебя верю
OCCI кто-нибудь курил?
Нужен способ реализации bulk collect для clob в ResultSet::setdatabuffer - а то некрасиво фетчить 5+к строк по одной и обрабатывать каждую.

В гугле полторы статьи и те для апдейта строк.
Или это делается через getvectorofclobs? Если да, то как в этом разобраться? Он же принимает строку коннекта, а не запрос.

Единственный случай в моей практике, когда в документации оракла нихрена нет практически, а приложениями на плюсах для оракла, видимо, три извращенца вроде меня занимаются, потому не могу найти годных примеров использованияя дурачок и не хочуне могу в джаву

140 14 авг, 06:08 140 1246432

>>1246218
Про 18с слышал, но заказчик сидит на 11g.

На PL/SQL пишу много лет, я не говорил что он страшный - он стремный и примитивный, не развивается.
Вот и стало интересно, есть ли у кого опыт использования встроенной Java.
Но ты прав насчет дауна, вроде и опыт нормальный, но о 200+к я могу только мечать

Про XML вот пример:

https://pastebin.com/kEnbhLXM

В двух словах - если делать запрос из PL/SQL переменной xmltype, то он будет в разы медленнее чем запрос, который получает предварительно сохраненный xml из таблицы с колонкой xmltype.

Вот результат для XML из 5000 записей на 11g:

Запрос из переменной: 00:00:03.953000000
-------------
Запрос из таблицы: 00:00:00.062000000

В этом примере для таблицы время вставки не учитывается, с учетом вставки оно работает вдвое дольше, но все равно на порядки быстрее запроса из переменной.

Чем объемней xml, тем более впечатляющая разница.

Ответы251927

141 14 авг, 14:54 141 1246596

>>1246142
Даже мелкобанки которые не даже в ТОП 100 по капитализации тоже на Оракле. Ебаться с постгресами нет времени и сил, когда есть обтесанный напильником Оракле.

142 24 авг, 12:42 142 1251747

>>1222346 (OP)
Господа, а есть ли встроенный в эскуль способ сделать так, чтобы каждое значение в определённой таблице повторялось не более двух раз? Мускуль, если это важно.

Ответы251871

143 24 авг, 15:09 143 1251805

>>1222346 (OP)
На 3 пике все выглядит слишком сложно.

144 24 авг, 17:11 144 1251871

>>1251747
Есть. Having count(%column%) < 3.
Только правильно укажи группировку.

Ответы251954252164

145 24 авг, 19:12 145 1251927

>>1246432
Ну у него скоро лицуха кончится.В этом году,например.
Пробовал xml-ку как базу соедтинять?
то есть file-db

146 24 авг, 19:50 146 1251954

>>1251871
Окей, спасибо большое.

147 25 авг, 00:56 147 1252164

>>1251871
Блджад, InnoDB не поддерживает инструкцию CHECK? О таком, чёрт побери, надо большими красными буквами поверх названия писать, зря только ебался. Придётся на уровне приложения реализовывать. Ссаное говно.

8 Кб, 693x135
148 25 авг, 16:39 148 1252491

Сап аноны, есть одна сущность таблица.
Там есть два атрибута столбца. Один - действие, второй - отмена действия.
Подскажите алгоритм, который выведет последнее неотменённое действие.

Ответы252585

149 25 авг, 19:26 149 1252585

>>1252491
select from (select from table
Where cancel is null
Order by counter desc)
Where rownum = 1;

Ну либо select top 1 with ties, если субд поддерживает.

Ответы252768

150 25 авг, 19:32 150 1252590

40 Кб, 768x6596 Кб, 470x215

Анонче, на первом пике процедура, на втором запрос к ней.
Вопрос, что это за конструкция такая N'O'?
Я в sql не особо шарю просто, но нужно к этой процедуре через entity framework обращаться, и поэтому нужно понять, как работает.
Подскажите, пожалуйста.

Ответы255279

151 26 авг, 02:01 151 1252768

>>1252585
В табличке инфа о многих людях. Также действие может быть не отменено.

Ответы252769

152 26 авг, 02:13 152 1252769

>>1252768
Сразу об этом надо писать, я откуда знаю, что тебе с группировкой надо.
Если оракл - то keep first агрегатный или row_number().
Если нет - то группировка по людям с having count = max (count) с условием cancel is null.

Что значит твое "действие может быть не отменено"?
Не отмененное действие - null в строке, такой гарантированно будет как минимум один для человека, судя по твоей таблице, потому что назначение действия соответствует null.
Если ты слегка перепутал клавиши и "действие может быть отмененно" в последней строке, то я не вижу проблемы - либо ничего не надо выводить (фильтрацию по null вводишь запросом сверху), либо надо вывести предыдущее - тогда ничего не надо менять.

А ещё бы лучше оригинальный текст задания дал.

153 26 авг, 10:09 153 1252833

Анон, помоги написать запрос. Я только только вкатился и никак не могу написать запрос под такое задание:
Нужно вывести информацию о велосипедах у которых 6 скоростей И на которых можно ездить вдвоем.
Высрал примерно следующее, но естесна это не работает:
SELECT DISTINCT
FROM Tab1
JOIN Tab2 ON Tab1.ID = Tab2.CarID
WHERE Count = 6
AND
EXISTS (SELECT ID, COUNT() FROM Tab1 GROUP BY ID) = 2)

36 Кб, 820x277
154 27 авг, 10:45 154 1253496

Есть табличка в excel'е, там sheet примерно такого вида (пик). Много колонок, много строк. Каждый день приходит выхлоп, который туда заносится в новую колонку.

Хочу все это дело перенести в sqlite.
Использовать собираюсь python и pandas.

Нужно будет запрашивать инфу по номеру и рисовать графики.
Например: сегодня у нас в 0098 g123, а месяц назад было g87, нарисовать график того, как изменялось за месяц в 0098, сколько номеров с выросшим g за 3 месяца и пр.
Или
Вывести список номеров где вчера было g меньше 100, но у которых в названии есть Test.

1) для каждого номера table (0023, например), внутри rows с date,
и columns с распарсеной инфой (num, name, ip etc)
2) для каждого числа table, а внутри уже данные?

Как в панде сделать индексом первую row колонки?

Времени читать книжу о том как дизайнить базы правильно нет.

155 27 авг, 21:32 155 1253781

>>1222346 (OP)
Может ли в MYSQL триггер активироваться и от UPDATE и от INSERT, или нужно лепить два разных триггера?

156 27 авг, 21:37 156 1253784

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

157 30 авг, 07:45 157 1255136

В шапку https://pgexercises.com/

158 30 авг, 13:28 158 1255279

>>1252590
Оказывается эта N означает Unicode. Пидарасы, сказать не могли? Или вы настолько ничтожные, что даже этого не знаете?

37 Кб, 605x596
159 30 авг, 22:10 159 1255578

>>1242851
Можно еще как-то вот так через массивы извратиться

160 31 авг, 00:57 160 1255686

>>1237569
чтобы джойнить функции с таблицей

267 Кб, 1920x1080
161 31 авг, 12:04 161 1255883

анон помоги
есть приложение для бд
рабочее
но
при добавлении новых данных все данные дублируются
удаление прописано но не работает

https://pastebin.com/w12JcR9Y

Ответы255910256431

162 31 авг, 12:30 162 1255910

>>1255883
Да

Ответы255973

163 31 авг, 13:50 163 1255973

>>1255910
что исправить?

164 1 сен, 09:34 164 1256431

>>1255883
Ебани триггер.

843 Кб, 2028x1518
165 1 сен, 23:09 165 1256847

Анончик, а есть какие-то отказустойчивые SQL решения, но что бы это не овердорогущий Oracle, и не дорогущий MS SQL Server?

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

Посему вопросец: если ли какие-то реляционные решения, толерантные к падению? Вот что бы прям можно было потерять узел, и не заметить этого с точки зрения клиента. Посгрес и мускуль не имеют нормальных мастер-мастер связок. А для варианта мастер-слэйв, насколько я знаю, нужен сторонний механизм мониторинга и переключения узлов, что как бы тоже анально.

Вроде как RDS че-то умеет, но это клауд решение.

Ответы256851256860256875

166 1 сен, 23:19 166 1256851

>>1256847
Вот потому Oracle столько и стоит, что это нифига не просто сделать.

167 1 сен, 23:38 167 1256860

>>1256847
> отказустойчивые SQL решения

Постройте отказоустойчивый кластер с живой миграцией. Делов то. Только придется потратиться на vmware esxi, vCenter и кучу другого. Либо на попен сорсе выезжать, но там боль.

168 2 сен, 00:07 168 1256875

>>1256847
>если ли какие-то реляционные решения, толерантные к падению
Посмотри в сторону индеец зажигай. Поддерживает реляционку, джоины (как локал, так и дистрибьютед) и как кассандра мастер-мастер хуячит. Фактор репликации решаешь для каждого кэша (таблицы) сам, хоть полный репликейтед. И в отличие от кассандры нет диких проблем, что должно быть 50% свободного места быть, или рипейр фейлед. Ну и порешали проблемы с получением неконсистентных данных при развале кластера.

Но это все же не оракл и не поддерживаются констрейнты и если у тебя ехал джоин через джоин по сабквери, то лучше потеститься.

Алсо можешь посмотреть в сторону тараканбд, но не юзал.

169 4 сен, 17:49 169 1259043

Поясните пожалуйста где я не прав в 16 упражнение на sql-ex
Вот пишу такое, на первой бд проходит, но второй нет.
select p.model, k.model, p.speed, p.ram from pc p inner join pc k on p.speed = k.speed and p.ram = k.ram and k.model < p.model
Прочитал их хелп топики, но там ничего толком не сказано.

Ответы259118259549

170 4 сен, 19:59 170 1259118

>>1259043
В голос с дебила

171 5 сен, 15:21 171 1259549

>>1259043
distinct ты забыл
Зы, ОП ты ещё тут сидишь ? Как дела?

Ответы259826260690

нужна помощь помощьSQL 172 5 сен, 19:24 172 1259693

15 Кб, 683x4153 Кб, 400x1396 Кб, 390x1394 Кб, 408x97

Хелп, пытаюсь освоить SQL, есть такие задания ,

# OP 173 5 сен, 22:00 173 1259826

>>1259549
Всё норм, я тут.

174 6 сен, 19:43 174 1260231

Зачем нужна монга?

Ответы260360260417260692

175 7 сен, 00:26 175 1260360

>>1260231
Зачем нужно что-то, когда есть постгрес?

176 7 сен, 07:47 176 1260417

>>1260231
> Зачем нужна монга?

Чтобы смузихлебы с разработанными и отбеленными анусами чувствовали себя комфортно и могли писать запросы на жабоскрипте.

Ответы260641

177 7 сен, 18:43 177 1260641

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

Ответы260670

178 7 сен, 19:59 178 1260670

>>1260641
>где не нужна реляционность
Там где данные, внезапно, неоднородны.
Например, хранение метаданных (ключ-значение) у некоторых сущностей.
Не, накрутить реляционность можно и в таком случае. Но нужно ли?

Ответы260671

179 7 сен, 20:01 179 1260671

>>1260670
Давай конкретные примеры.

Ответы260673

180 7 сен, 20:02 180 1260673

>>1260671
Ты ебобо?
>Например, хранение метаданных (ключ-значение) у некоторых сущностей.

Ответы260675

181 7 сен, 20:03 181 1260675

>>1260673
Еще конкретнее.

Ответы260680

182 7 сен, 20:17 182 1260680

>>1260675
google: EAV

183 7 сен, 20:40 183 1260690

>>1259549
Спасибо, а я прочитал первый ответ и расстроился, пошел смотреть уже опять книжки читать, видео смотреть..

184 7 сен, 20:42 184 1260692

>>1260231
умеет в шардирование, в отличии от постгреса

185 7 сен, 23:53 185 1260757

Двош помоги. 1 как происходит добавления новых индексов? Они же типа хранятся отсортированные и получается чтобы добавить новый нужно смешать все остальные? 2 если в таблицы поменять один тип колонки на другой который требует больше места ( int - bigint например ) происходит смещение данных во всей таблицы? Поясните за эти вопросы аноны или дайте где почитать

Ответы260781

186 8 сен, 00:58 186 1260781

>>1260757
> Двош помоги. 1 как происходит добавления новых индексов? Они же типа хранятся отсортированные и получается чтобы добавить новый нужно смешать все остальные?
Да, потому вставка в таблицы с несколькими индексами замедляется, потому что приходится перестраивать его сегменты
>2 если в таблицы поменять один тип колонки на другой который требует больше места ( int - bigint например ) происходит смещение данных во всей таблицы? Поясните за эти вопросы аноны или дайте где почитать
Думаю, зависит от реализации - оракл, например, не даст тебе сменить тип данных не пустого столбца (следовательно - у не пустой таблицы). А так - да, скорее всего перестроит начальный сегмент таблицы, чтобы запись влезала в блок

Ответы262037

187 10 сен, 01:04 187 1261673

Есть у меня база MSSQL с таблицей с кучей говна данных, порядка 1488 GB. Структура Id, A int, B bit и куча других. Так вот, мне нужно сделать поиск говна данных по A, у которых B = 1. Я добавил индекс на A, есть ли смысл делать его и на B? Или нужно сделать один индекс, который включает в себя два столбца? Помогите, с меня как всегда нихуя

Ответы262098

188 10 сен, 16:31 188 1262037

>>1260781
>следовательно - у не пустой таблицы

Тип у пустого столбца можно спокойно менять в непустой таблице:

create table yoba as
select cast (null as number) a, level b from dual
connect by level < 11;
-- Add/modify columns
alter table YOBA modify a varchar2(12);

189 10 сен, 19:01 189 1262098

>>1261673
Partial index.

190 11 сен, 15:53 190 1262567

>>1222346 (OP)
Посоветуйте с чего начать изучать базы данных? Какие книги? Важно ли изначально определиться с СУБД или это не так важно? Может курсы есть какие-нибудь?

Ответы262719263081

191 11 сен, 20:36 191 1262719

>>1262567
sql-ex.ru

postgers

Ответы263291

192 12 сен, 10:48 192 1262996

Анон, есть таблица, в которой около 150 столбцов. я делаю из нее селект и потом должен сформировать строку аля
"UPSERT INTO "tabl"."prod" VALUES (values for record 1);
...
UPSERT INTO "tabl"."prod" VALUES (values for record n);
"
Как мне это все дело перебирать? Нашел курсор, но там нужно ему задать столбцы, по которым идет переборка, а мне 150 вручную бить не охота.
в sql полный ноль, всю жизнь на шарпе писал, а сейчас решили процедуру для говнонода заебошить.

Ответы263480

193 12 сен, 12:57 193 1263081

>>1262567
Бен Форта "Освой самостоятельно SQL за 10 минут". Для начинающих самое то

Ответы263291

194 12 сен, 19:41 194 1263291

>>1263081
>>1262719
Спасибо. А какую СУБД выбрать? Макрософт - это нормальный выбор?

Ответы263333

20 Кб, 372x446
195 12 сен, 19:47 195 1263294

ЧЯДНТ?
хочу создать таблицу, занести в нее пару значений, вывести все в аутпут.
код пикрилейтед.
пишет "саксесфулли", нихуя не происходит. (рефреш таблиц делал)

Ответы263299

262 Кб, 480x480
196 12 сен, 20:00 196 1263299

>>1263294
пиздец, скобки после varchar не поставил. блять это невыносимо. нет ли какой нибудь номальной проги чтобы с пострес работать? эта даже синтаксис не проверяет блять ссука.

Ответы263328266219

870 Кб, 1280x720
197 12 сен, 21:44 197 1263328

>>1263299
Почему бы не использовать ОРМ того языка на котором ты говнокодишь с использованием этой базы?
Например на Питоне есть отличный SQLAlchemy.

198 12 сен, 21:48 198 1263333

>>1263291
Ты не очень сообразительный, да?
Тебе же написали: postgres.

199 13 сен, 10:50 199 1263480

>>1262996
Все, забил хуй, сделал выгрузку из базы и скрафтил все через js. Ебал я эти базы.

Help 200 14 сен, 12:14 200 1264062

117 Кб, 2560x330149 Кб, 2560x354

Есть два select-a которые возвращают таблицы с одинаковыми(кроме последнего) столбцами, которые надо объединить в одну таблицу сгруппированную по полю name.
Пикрелейтед - результат выборки, результат второго селекта такой же, только там "col_2" вместо col_1.

Пикрелейтед 2, то что я получаю используя FULL OUTER JOIN second_table ON first_table.name = second_table.name , но проблема в том что оно джоинит не все записи из второй таблицы (т.е. есть строки где col_2 = <nul> но нету где col_1=<nul>, а они должны быть), где я проебался, не тот join использую или что ?
Бд - postgresql

Ответы264143

201 14 сен, 14:26 201 1264143

>>1264062
А все, сам разобрался уже

3 Кб, 392x57
202 17 сен, 10:31 202 1265433

Помогите, пытаюсь выбрать максимальное значение из таблицы, но их там несколько, и sql выбирает только первое максимальное, на остальные ему пофиг, как это можно поправить?

Ответы265438266107

203 17 сен, 10:36 203 1265438

>>1265433
ya dolboyob, zachem to napisal price vmesto speed...

204 17 сен, 11:13 204 1265455

Анон мне надо поставить точки в конце разных фраз разных строк. Как это можно сделать в майсикуэле?

Ответы266106

205 18 сен, 15:56 205 1266106

>>1265455
Как ты определяешь, что фразе пришёл конец?

Ответы266226

206 18 сен, 15:58 206 1266107

>>1265433
А разве не должен выбирать одно?
Ты даже в постановке задачи на Дваче написал
>пытаюсь выбрать МАКСИМАЛЬНОЕ ЗНАЧЕНИЕ из таблицы

Сформулируй номрально задачку.

207 18 сен, 18:58 207 1266219

>>1263299
Датагрип, сычуш

Ответы266242

37 Кб, 720x679
208 18 сен, 19:24 208 1266226

>>1266106
В моем случае, если после символа(буквы) во фразе не стоит другой символ или пробел, то это конец фразы.

Ответы266304

209 18 сен, 19:53 209 1266242

>>1266219
Не понял, я тебе помочь хочу, ответь нормально.
Что такое датагрип, в терминах май скл, непонятно.

210 18 сен, 22:06 210 1266304

>>1266226
>после символа не стоит другой символ или пробел

Приведи пару примеров, ни хуя непонятно

Ответы266901

211 20 сен, 01:53 211 1266901

>>1266304
Ну например есть столбец text varchar 512. В нем фразы по типу 'Сап, двач'. Эта фраза состоит из букв, символов(,) и пробелов. Буква "ч" в слове двач- конец фразы, потому что после нее нету ни пробела, ни буквы, символа.

Ответы267900

212 21 сен, 19:33 212 1267900

>>1266901
я правильно понимаю, что тебе надо поставить точку после последнего символа?
Если да, то
>select concat(text, '.') from t_data

Если нет, то ты крайне хуево умеешь выражать свои мысли.

213 22 сен, 00:16 213 1268051

>>1241169
> Всем привет.
> Какие вопросы по 2ch вы можете задать, чтобы отличить ньюфага от долбаеба?
> (trollface)

214 24 сен, 11:01 214 1269371

В общем, долблю сайт в задний конец на PHP. Есть таблица с пользователями, таблица некоторых актов, связанных с этими пользователями, и рейтинги участия пользователя в акте, идущие отдельной таблицей. Подскажите, к можно на Секелях выбрать среднее значение рейтинга для конкретного пользователя и отсортировать их по нему?

Ответы269390

215 24 сен, 11:49 215 1269390

>>1269371
>таблица с пользователями - d_usr (id, name)
>таблица некоторых актов - d_act (id, name)
>рейтинги участия пользователя в акте - t_usr_act (usr_id, act_id, usr_rating)
>SELECT
>u.id,
>u.name,
>avg(ua.usr_rating) as avg_usr_rating
>FROM d_usr u
>LEFT JOIN t_usr_act ua ON u.id = ua.usr_id
>GROUP BY
>u.id,
>u.name
>ORDER BY avg_usr_rating DESC

Ответы269467

216 24 сен, 14:56 216 1269467

>>1269390
Премного благодарен, буду пробовать.

49 Кб, 483x604
217 24 сен, 22:29 217 1269732

Базач, помоги оптимизировать запрос.
Есть запрос с двумя JOIN, который отрабатывает за доли секунды. Понадобилось мне еще одно поле из другой таблицы, дописал еще LEFT JOIN по двум полям.
Запрос стал выполняться 25 секунд. Все таблицы небольшие, по 2000-5000 строк в каждой. В результирующем наборе 5к строк.

Был запрос такой, быстрый:
SELECT ma.answer_id, m.date, ma.percentage FROM measuring_answers ma INNER JOIN answers a ON a.poll_id = АЙДИ_ОПРОСА AND a.id = ma.answer_id LEFT JOIN measurings m ON m.id = ma.measuring_id ORDER BY date;

Стал такой, медленный:
SELECT ma.answer_id, m.date, ma.percentage, mp.votes FROM measuring_answers ma INNER JOIN answers a ON a.poll_id = АЙДИ_ОПРОСА AND a.id = ma.answer_id LEFT JOIN measurings m ON m.id = ma.measuring_id LEFT JOIN measuring_polls mp ON mp.measuring_id = ma.measuring_id AND mp.poll_id = a.poll_id ORDER BY date;

Я с базами на вы, поэтому во всех базах первичный ключ - это просто id. Теоретически в таблице measuring_polls первичным ключом может быть связка measuring_id + poll_id - эта комбинация всегда уникальна. Но я такое еще не умею, и не знаю, будет ли так быстрее.

Ответы269782

218 25 сен, 01:01 218 1269782

>>1269732
Приложи лучше планы запросов до и после.

Ответы269822

219 25 сен, 07:39 219 1269822

>>1269782
Эх, спасибо за удочку.
Убил джва часа, но разобрался с explain, почитал про индексы, настроил логирование медленных запросов.
Сделал CREATE INDEX measuring_id_polls ON measuring_polls(measuring_id, poll_id); и теперь запрос выполняется за десятую долю секунды.

220 25 сен, 18:12 220 1270117

Аноны, разбираюсь с бд, конкретно с postgresql. Вот у меня есть таблица с id пользователей в базе (допустим, это мои друзяшки из вкшки, которых я вчера вытащил из апи). Сегодня я, допустим, часть их удалил, часть добавил, вот я снова вытаскиваю список id из api и хочу его актуализировать в базе. Как это лучше сделать? Удалить все записи и внести их заново?
Или вот я хочу удалить часть записей каких-то с определенными id. Как это лучше сделать? Тупо в цикле по запросу на id? Или писать один запрос, а в него подставлять в цикле по условию на id, чтобы результат был типа
... WHERE user_id = 1 OR user_id = 2 и т.д.
Гуглю и не могу найти таких примеров что-то, только по диапазону идентификаторов.

Ответы270240

221 25 сен, 20:25 221 1270198

Секелюшники, подскажите, хули MySQL выёбывается на это:

ALTER TABLE Хуи AUTO_INCREMENT = (SELECT MAX(номер) FROM Хуи) + 1

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

Ответы270229270347270369

222 25 сен, 21:16 222 1270229

>>1270198
Спешите видеть, макака не может в сиквел.

Ответы270326

223 25 сен, 21:51 223 1270240

>>1270117
>Удалить все записи и внести их заново?
Очевидно, глупое решение.
В целом, если у тебя вкшный id - PRIMARY, либо хотя бы UNIQUE, то можешь просто добавить всех друзей заново в существующую таблицу. Старые просто не добавятся, ибо такой id уже существует. Новые - добавятся.
В случае же если требуется еще сделать UPDATE старых друзей (например, мало ли сменилось имя), то делаешь UPDATE, если INSERT закончился неудачей.

Ответы270307270553

224 25 сен, 23:09 224 1270307

>>1270240
>то делаешь UPDATE, если INSERT закончился неудачей
Открой для себя ON CONFLICT DO UPDATE ...

sage 225 26 сен, 00:00 225 1270326

>>1270229
При чём тут "не может"? Вопрос был о том, почему автоинкременту можно присвоить только число.

34 Кб, 560x560
226 26 сен, 00:25 226 1270340

Анчоусы, у меня опять траблы с производительностью.
Я настроил логирование медленных запросов (более секунды), и периодически вижу там COMMIT, занимающий 3 секунды, или даже простой INSERT INTO measuring_polls (measuring_id, poll_id, votes) VALUES('чиселко', 'чиселко', 'чиселко'), занявший полторы секунды.
За COMMIT скрывается около десяти простеньких INSERT, типа такого, что повыше. Инсерты идут из цикла foreach, потому что похапешный PDO не умеет мультиинсерт на массиве неизвестной длины, как я понял. Некоторые заканчиваются фейлом из-за дублирующегося UNIQUE, так было задумано.
Далеко не каждый коммит и тем более инсерт попадает в лог, только некоторые. Это как-то фиксится или это просто лаги жесткого диска при записи?

Ответы270709

227 26 сен, 00:43 227 1270347

>>1270198
ALTER TABLE Хуи AUTO_INCREMENT = SELECT MAX(номер) + 1 FROM Хуи

попробуй

Ответы270353270369

228 26 сен, 00:56 228 1270353

>>1270347
До пизды (в т. ч. со скобками, в которые берётся подзапрос):

> #1064 - У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около '(SELECT MAX(номер) + 1 FROM Хуи)' на строке

229 26 сен, 01:51 229 1270369

>>1270347>>1270198
Вы не охуели мешать DDL и DML в одном запросе? В переменную и EXECUTE IMMEDIATE

Ответы270432

230 26 сен, 08:29 230 1270432

>>1270369
Так пишешь, будто в этом есть что-то плохое. Секелям не похуй ли, в одном я запросе это сделаю или так:

> $последний_номер = $БД->Запросить_ячейку('SELECT MAX(номер) FROM Хуи');
> $БД->Выполнить_запрос('ALTER TABLE Хуи AUTO_INCREMENT = ' . ($последний_номер + 1));

Результат тот же, только кода больше и запроса два.

Ответы270462270592

231 26 сен, 10:55 231 1270462

>>1270432
Ты сейчас сделал 2 запроса к БД, вместо одно, как было до этого. Дебил.

Ответы270491

232 26 сен, 12:19 232 1270491

>>1270462
Дебил тут ты, а не я. По-моему, я об этом и пишу. Или ты думаешь, тот запрос выполняется? Долбоёба слепошарого кусок.

233 26 сен, 16:11 233 1270553

>>1270240
> Очевидно, глупое решение.
Да я тоже не в восторге, но это первое что пришло в голову.
> просто добавить всех друзей заново в существующую таблицу.
id уникальные, но не primary. С добавлением всё более-менее понятно, только вот при конфликтах primary key инкрементируется всё равно. Почитал интернеты, оказалось, что так и задумано, только вот не понял, стоит ли с этим бороться или забить.
Вопрос больше про то, как лучше удалить сразу несколько записей по id, которые не идут друг за другом.
Пока вот такую конструкцию придумал:
> DELETE FROM friends WHERE friends.user_id IN (SELECT * FROM unnest(%s))
И вторым аргументом в execute() список id пользователей, которых хочу из таблицы убрать. Он лист преобразует в array постгрес и подставит в запрос. Вроде работает, но правильно ли так делать?

234 26 сен, 18:08 234 1270592

>>1270432
Представь себе, не похуй. Потому что dml запрос будет выполнять движок, который о ddl знает ровно столько же, сколько ты о базах данных. Естественно он нижняя тебе не посчитает и пошлёт нахуй с ошибкой синтаксиса.

Ответы270600270711

235 26 сен, 18:21 235 1270600

>>1270592
> нижняя
Ничего

236 26 сен, 18:53 236 1270616

Еще вопрос: вот у меня есть таблицы:
> users: id (pk), vk_id, name
> artists: id (pk), name, genre
> users_artists: user_id, artist_id, tracks_num
То есть, я собираю таблицу с друзяшками, таблицу с исполнителями из аудиозаписей всех друзяшек и таблицу, в которой содержится инфа у какого пользователя какие исполнители в аудиозаписях и сколько треков этих исполнителей. Естественно в последней таблице ни одно поле не является уникальным, но уникальным зато является сочетание (user_id, artist_id). Я хочу при одновременном совпадении обоих полей обновлять поле tracks_num, но INSERT ON CONFLICT выдает ошибку
> there is no unique or exclusion constraint matching the ON CONFLICT specification
Я так понимаю, ON CONFLICT работает только с теми полями, у которых есть аттрибут UNIQUE. Помоги, анон, пожалуйста. Никак не могу сообразить как в моем случае написать запрос, чтобы не было дублирующихся сочетаний. То есть, если в последней таблице уже есть пользователь с id n и у него уже есть исполнитель с id m, то не вставлять еще одну запись, а у существующей обновить поле tracks_num.

237 26 сен, 23:03 237 1270709

>>1270340
Что за СУБД? По идее, за исключением случаев блокировок, сам commit должен выполнятся мгновенно(данные уже на диске/в буфере).

Ответы270792

238 26 сен, 23:07 238 1270711

>>1270592
Нет, дело лишь в хуёвой реализации языка запросов.

239 26 сен, 23:54 239 1270733

Аноны, каким простым запросом можно удалить из таблицы все записи, где данные повторяются в одной колонке?

240 27 сен, 05:53 240 1270792

>>1270709
MySQL 5.6.40

241 27 сен, 12:13 241 1270898

>>1222346 (OP)
>Select id from tbl_table_with_id where id = (select max(id) from tbl_table_with_id)

Поясните что не так?

Ответы270930

242 27 сен, 13:05 242 1270930

>>1270898
А что не так? Кроме того, что достаточно одного подзапроса.

243 27 сен, 14:14 243 1270967

если в кратце, MariaDB Это тоже самое, что MySQL

Что перспективнее ставить на свои проекты- MySQL или PostgreSQL?

Ответы272455

244 30 сен, 09:39 244 1272241

Сап, аноны. Не пинайте сильно, поясните, будьте добры, за принципы ACID в бд.

Если происходит транзакция, допустим на изменение, затрагивающая множество связанных данных, и в этот момент параллельно происходит запрос, допустим на чтение, какого-то подмножества из этих данных, что должно происходить

1) Запрос на чтение будет ожидать окончания транзакции?
-- 1.1) А если транзакция выполняется ну пиздец как долго (в теории), часы-сутки-недели?
2) Запрос на чтение не будет ожидать окончания транзакции и
-- 2.1) Окончится ошибкой
-- 2.2) Получит данные, которые были до начала транзакции

Ответы272270

245 30 сен, 11:50 245 1272270

>>1272241
Ты хоть бы в вики заглянул. Зависит от уровня изоляции транзакций.

246 30 сен, 18:14 246 1272455

>>1270967
>MySQL или PostgreSQL?
BUMP

Ответы272562273006

247 30 сен, 21:48 247 1272562

>>1272455
Postgres

248 1 окт, 22:05 248 1273006

>>1272455
Oracle

Ответы273335

249 2 окт, 01:26 249 1273067

Тупой вопрос от новичка.
Есть две таблицы:
FUNDS с полями id, name, comment
BALANCE с полями id, fund, balance
Поля BALANCE.fund и FUNDS.id связаны по primary-foreign key (в балансе fk, в фунде - pk)
не могу найти, как мне делать селеет так, чтобы в запросе типа
SELECT fund,balance FROM BALANCE у меня вместо айдишников было FUND.name. Я подозреваю, что это какой-то типа JOIN но я тупой и не могу составить запрос. Возможно ли это вообще?
PostgreSQL, есличо

Ответы273071

250 2 окт, 01:58 250 1273071

>>1273067
select name, balance
from balance
inner join funds
on balance.fund = funds.id;

join разных типов бывает, посмотри, какой подходит тебе

Ответы273156

251 2 окт, 09:27 251 1273156

>>1273071
Этого более чем достаточно!
Огромное тебе спасибо, добрый анон!
Я пока ковырялся, пришел к такому вот решению:
SELECT id,(SELECT name from funds where funds.id = balance.fund) as balance FROM balance;
Так нельзя сделать? Чем Join лучше?

Ответы273219

252 2 окт, 09:28 252 1273158

Блин, криво вставил кусок, правильно так:
SELECT id,
(SELECT name from funds where funds.id = balance.fund) as fund,
balance FROM balance

Ответы273160

253 2 окт, 09:30 253 1273160

>>1273158
Это тоже джойн, по факту.
Но лучше переделай на джойн и все будет так красиво

Ответы273162

254 2 окт, 09:34 254 1273162

>>1273160
Ок, спасибо за науку!

Ответы273182

255 2 окт, 10:12 255 1273182

>>1273162
Вообще в оракле, например, построится план запроса как для джойна обычного - то есть что ты сделаешь через поздзапрос, что через левое соединение - разницы не будет

Только твой вариант упадет, если вдруг нарушено ограничение целостности в таблице funds и найдется несколько записей на один id

256 2 окт, 11:24 256 1273219

>>1273156
Так как у тебя свзяка pk/fk ничем, план скорее всего одинаковый построится, но вообще, такие подзапросы могут возвращать не одну строку, а несколько, и тогда всё поломается. Плюс он более трудный для понимания.

257 2 окт, 14:45 257 1273335

>>1273006
он же ПЛАТНЫЙ? не?

Ответы273590

258 2 окт, 21:31 258 1273590

>>1273335
Нищий что ли?

Ответы273943

259 2 окт, 21:43 259 1273593

А в этом ИТТ только реляционки?

260 3 окт, 14:59 260 1273943

>>1273590
Зачем какой-то конторе тратиться на платную БД, когда можно развернуть элитный проект на PostreSQL - и ничего не потерять?

Да, я нищук. Но даже будь у меня большие деньги на проект, я бы не стал просто так тратиться на БД

21 Кб, 967x252
261 3 окт, 20:59 261 1274124

Сап, pr
Может кто-нибудь простым языком объяснить суть уровней изолированности объяснить, чтобы решать такие задачи как на пикрил. Ну и посоветовать годноту по теории, конечно.
Пиздец блядь, 2 года с базами работаю, а теорию не знаю, стыдно.

Ответы274129274207274372

262 3 окт, 21:09 262 1274129

>>1274124
Все от СУБД зависит. В книжках Тома Кайта и Ицыка Бена Гана всё это расписано.

Ответы274145274207

263 3 окт, 21:25 263 1274145

>>1274129
Вторую бегло читал, шоб писать код и чтобы получать 150к/нс мес. Видимо пропустил.
Сможешь простыми словами это объяснить?

Ответы274150

264 3 окт, 21:38 264 1274150

>>1274145
Там целая глава.

Ответы274172

265 3 окт, 22:22 265 1274172

>>1274150
Пиздос. Пойду ковырять мсскл. А ответ какой должен быть на задачу?

266 3 окт, 23:05 266 1274207

>>1274129
>>1274124
Не слушай его.
От СУБД зависит то, какие поддерживаются уровни изоляции, но теория - она одна.

Очень просто.
Грязное чтение(read uncommitted) - твои изменения видны всем в любой момент, даже если они не зафиксированы.
Обычное чтение(read committed) - всем видны только зафиксированные данные.
Повторяющееся чтения(я бы сюда и фантомные отнес, repeatable/phantom reads) - если в пределах транзакции ты делаешь агрегированный запрос в момент времени т1, потом другая транзакция в момент т2 меняет какие-то данные и фиксирует их, то если ты запускаешь этот же запрос в момент т3, ты должен получить такой же результат, будто никаких изменений не было. Фантомные чтения - то же самое, только без агрегации: селект всех строк в т1 и в т3 абсолютно идентичен, даже если в момент т2 кто-то добавил новую строку и закоммитил инсерт. То есть одна штука за апдейты отвечает, вторая за инсерты, а смысл один - во время транзакции одинаковые селекты в разное время дают одинаковый результат.
Сериализованные транзакции - всегда пишут, что якобы транзакции выстраиваются в ряд и система становится однопользовательской, а все зависит от базы. Оракл, например, образно говоря, делает тебе снэпшот базы на момент начала транзакции и кто бы что не делал, ты будешь видеть ее только в таком виде до конца транзакции, но нюансы связаны с оракловской реализацией, так что в общем сказать не могу.
Притом, если две транзакции не будут трогать одни и те же строки, то вставка в таблицу на основании ее же данных становится очень интересной, инфу об этом я нарыл вроде в оракловской документации.

Вроде понятно описал, если что - постараюсь объяснить подробнее и понятнее.

Ответы274208

267 3 окт, 23:13 267 1274208

>>1274207
Спасибо, стало намного более понятно, именно этого и хотел.
А как такие задачи решать с этими знаниями?

Ответы274299

268 4 окт, 09:21 268 1274281

Столкнулся с тем, что надо будет перетягивать базу оракла в mssql раз в неделю. Какой самый простой путь? Сделать пакет шоб тащил, думаю несложно, но на сервак наверное кучу аддонов надо нахуярить? (2014 стоит). Алсо, можно ли в оракле права доступа на селект для сервака с мс прописать?

269 4 окт, 09:52 269 1274299

>>1274208
Представлять то, о чем написано.
Открылась транзакция, поменяла данные и до коммита две другие транзакции читают эти же данные.
Read uncommitted увидит единицу, а read committed увидит ноль. Почему - я расписал выше.

Ответы274318

270 4 окт, 10:18 270 1274318

>>1274299
Я понял, спасибо. Само задание на уровни первый раз вижу, с запросами проблем не было.

50 Кб, 640x480
271 4 окт, 12:29 271 1274372

ИТТ Батя Т-Скуль, овер 12 лет в профессии
Задавайте ваши ответы, если есть желание.

>>1274124
Читни Ицика Бен Гана, пидор.

Ответы274447274450274460275541

272 4 окт, 14:14 272 1274447

>>1274372
Какой наиболее простой по нагрузке способ в MSSQL заменить значения на выводе, если они меньше X?
Насколько использование CTE для повышения читаемости тормозит запросы? Стоит злоупотреблять?

Ответы274510275085

273 4 окт, 14:15 273 1274450

>>1274372
Алсо посоветуй гайдов как работать с R в MSSQL.

Ответы275080

274 4 окт, 14:21 274 1274460

>>1274372
Как перекатиться с этого всего на бигдату?

Ответы275079

275 4 окт, 15:11 275 1274510

>>1274447
>Для повышения читаемости
если сравнивать подхапросы и cte, то это одно и то же.

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

Ответы274517275093

276 4 окт, 15:15 276 1274517

>>1274510
Спасибо, анон
Как научиться оптимизировать запросы, чтобы понимать как их ускорить?

Ответы274907275087

277 5 окт, 06:31 277 1274907

>>1274517
Научиться разбирать план запроса

278 5 окт, 13:56 278 1275079

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

Торадиционного варианта с "читни книг катай видосы" тут нет, хотя бы потому, что БИГ дату ты у себя на коферарке дома не поднимешь. Для БИГ даты нужны БИГ компании. А им, в свою очередь, нужны готовые спецы которые будут делать работу сдесь и сейчас, а не чуваки которые может и перспективны, но на отрезке полгода-год.

Обзаводись знакомствами, гоняй на семинары и конференции, может через расширение круга знакомств ты и придешь к успеху.

279 5 окт, 13:56 279 1275080

>>1274450
Я не работаю с Р

280 5 окт, 14:00 280 1275085

>>1274447
Что значит "заменить значения на выходе", обизян, а?
Учись внятно формулировать свой вопрос; правильно

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

Зависит какое ЦТЕ. Лично я считаю, что использовать ЦТЕ "для повышения читаемости" ебаное дно.

ЦТЕ нужно для очень конкретных вещей, например для рекурсии. Если ты что-то другое хочешь делать через ЦТЕ, остоновись и ПОДУМОЙ почему. Если ты делаешь это не внутри инлайн фунции, с вероятностью 99% ты делаешь это напрасно.

В оставшемся проценте случаев ты пишешь ЦТЕ, потому, что задачу вменяемо можно решить только через него.

281 5 окт, 14:04 281 1275087

>>1274517
Ставишь просмотрщик планов от скульсентри
https://www.sentryone.com/plan-explorer

В отличие от ебаной параши, которая встроена в SSMS, сразу тебе показзывает нагрузку, потоки данных, узкие места и миллион метки.

Дальше смотришь какие операции жрут у тебя максимум от твоих запросов

Дальше смотришь свой код, и ДУМОЕШЬ как можно избежать этих узких мест.

Ну посмотри какие нить базовые видосики по "Understanding a SQL Server execution plan"

282 5 окт, 14:12 282 1275093

>>1274510
>если сравнивать подхапросы и cte, то это одно и то же.
Я включу зануду, и отмечу, что для протокола. С огромной долей вероятности интерпретатор построит для НЕРЕКУРСИВНОГО ЦТЕ и для соответсвующего подзапроса абсолютно одинаковые планы. Но бати пишут, что бывают случаи, когда планы получаются разные.
Лично я с таким эффектом не встречался, по краней мере не помню, чтоб были какие-то спецэффекты, которые заставили бы меня делать выбор между цте и подзапросом.

Однако нюансы, всеже, важны.

Ответы275096

283 5 окт, 14:16 283 1275096

Ответы275102

284 5 окт, 14:22 284 1275102

sage sage 285 5 окт, 15:12 285 1275136

Есть тут спецы по DB2? Имеется множество таблиц и один MQT. Этот MQT построен на джойнах этих таблиц. Поставили в продакшен, и теперь, если обновляется одна из таблиц, входящая в MQT, то этот MQT не обновляется сам.

Собсна, 2 вопроса.

1. Какого хрена не обновляется и зачем эта фича тогда вообще нужна?
2. Как решить проблему? Неyжели нельзя просто сделать виртуальную таблицу, которая обновляет информацию вместе с реальными?

Прошу прощения за неровный почерк, я не дб админ, а всего лишь ДЖЕЗВА девелопер.

286 6 окт, 14:52 286 1275541

>>1274372
Сколько раз херил инфу без бэкапа?

Ответы276320

287 7 окт, 15:36 287 1275987

Аноны, есть таблица в БД, и мне нужно добавить к 2 столбцам ON DELETE SET NULL;. Как мне это сделать не снося таблицу к хуям и не создавая заново?
p.s. PostgreSQL 10.
p.p.s. Хотя бы подскажите как загуглить ибо ничего не нашёл.

Ответы276171

288 7 окт, 20:50 288 1276171

>>1275987
>Как мне это сделать не снося таблицу к хуям и не создавая заново?
А этот вариант чем не устраивает? Сколько данных в таблице?

Ответы276181

289 7 окт, 21:09 289 1276181

>>1276171
Данных немного, но они постоянно в движении, новые приходят/уходят и т.д.
Короче разобрался как сделать.
ALTER TABLE ..... ALTER CONSTRAINT ...и тут вот определил ON DELETE SET NULL;

290 8 окт, 11:32 290 1276320

>>1275541
Совсем без бэкапа ни разу, парочку раз были острые проебы которые успел восстановить из параллельных источников.

291 8 окт, 16:58 291 1276444

Кто-нибудь знает как подключить R/Python к MS SQL шоб можно было простейший мл хуярить?

292 8 окт, 17:24 292 1276461

Select from tbl_table_with_id where id = (select max(id) from tbl_table_with_id)

Посоны, такое можно упростить как-нибудь?

inb4 select , max(id) from tbl_table_with_id

Ответы276462276803

sage 293 8 окт, 17:26 293 1276462

>>1276461
Select звездочка from tbl_table_with_id where id = (select max(id) from tbl_table_with_id)

inb4 select звездочка, max(id) from tbl_table_with_id

Ответы276804

294 9 окт, 15:29 294 1276803

>>1276461
Зелект топ (1) ид фром парашанейм оедер бай айди деск

Откуда блдяь вы такие беретесь?

Ответы276958

295 9 окт, 15:30 295 1276804

>>1276462
рассыпалася на групбаях из за звездочки, ебобо

296 9 окт, 16:11 296 1276825

Как называется такая архитектура?

1
В одной базе около 10 таблиц, в них содержится
dbo.users, dbo.items, dbo.something, dbo.else и тд

2
Во второй базе около 9000 таблиц, названия которых содержат:
dbo.users, dbo.items429219_0, dbo.items231452_1, dbo.items23125252, dbo.items_myitem и так далее

На какую сам сядешь, на какую мать посадишь?

Ответы276828276841

297 9 окт, 16:11 297 1276827

Мне в идеале надо конвертировать все таблицы 2го типа в таблицы 1го вида...

Ответы276828

298 9 окт, 16:13 298 1276828

>>1276827
>>1276825
В плане оптимизации и выборок может 2я лучше, но 1я удобнее для разработки

299 9 окт, 16:39 299 1276841

>>1276825
Так у тебя во втором случае партицированые таблицы, как я понимаю? Там же доступ к ним ничем не отличается от обычных, это просто вопрос хранения, не?

Ответы276848

300 9 окт, 16:59 300 1276848

>>1276841
>партицированые таблицы
спасибо, это слово я искал

301 9 окт, 17:08 301 1276849

Ладно, теперь встала проблема в оптимизации.
в программе, условно, 9 кнопок. Каждая кнопка выплевывает по 1000 селектов, естественно с задержками.

Как правильно делать селекты, чтобы пользователь не ощущал задержек?

Ответы276852

302 9 окт, 17:25 302 1276852

>>1276849
Читать планы запросов, мониторить нагрузку на систому ввода вывода, переписывать свои ебаные селекты чтобы они вменяемо работали, ИНДЕКСЫ накрутить
Делать ПРЕДРАСЧЕТЫ

Ты сейчас реально очень глубокий вопрос задал, в режиме "хочу чтоб было заебись"

Что за пользователи, что за каналы связи? Что за хранилище данных?

Ответы276854

303 9 окт, 17:28 303 1276854

>>1276852
>Читать планы запросов, мониторить нагрузку на систому ввода вывода, переписывать свои ебаные селекты чтобы они вменяемо работали, ИНДЕКСЫ накрутить
>Делать ПРЕДРАСЧЕТЫ
>
>Ты сейчас реально очень глубокий вопрос задал, в режиме "хочу чтоб было заебись"
>
>Что за пользователи, что за каналы связи? Что за хранилище данных?
MSSQL standalone :)
Каналы 100мбит\с
Пользователи - макаки

Ответы276866

304 9 окт, 17:49 304 1276866

>>1276854
Не,я не кокнретно хотел ответ услышать. Мне там похуй какие у тебя каналы.

И вообще может у тебя и сто мегабит, а читаешь ты с ебаного китайского харда с иолатчем 70

Или крутится твой стандалоне на каком нибудь пентиум ммх

Я просто тебе хотел ПОКАЗАТЬ, что вопрос "ой чет у нас медленно , а надо быстро" требует пиздец какой глубокой проаботки

Но вообще, начни вот с чего

Ебани аналитику от Глена Берри по отсутствующим индексам и статистике топовых ЗАДЕРЖЕК системы

http://sqlcom.ru/dba-tools/express-diagnostic-ms-sql-server/

Ответы277326

305 9 окт, 20:04 305 1276958

>>1276803
Умный какой. А на оракле что делать?

Ответы276983

306 9 окт, 20:35 306 1276983

>>1276958
В оркале ордербаи и топ отменили? Это спецификация языка, макак

Ответы276994277883

307 9 окт, 20:42 307 1276994

>>1276983
А, лол, оракл макаки не могут в топ

Ну тогда роунамбер посчитай или офсет сделай

http://bfy.tw/KHID

Ответы277328

308 10 окт, 16:01 308 1277326

>>1276866
>
>Не,я не кокнретно хотел ответ услышать. Мне там похуй какие у тебя каналы.
>
>И вообще может у тебя и сто мегабит, а читаешь ты с ебаного китайского харда с иолатчем 70
>
>Или крутится твой стандалоне на каком нибудь пентиум ммх
>
>Я просто тебе хотел ПОКАЗАТЬ, что вопрос "ой чет у нас медленно , а надо быстро" требует пиздец какой глубокой проаботки
>
>Но вообще, начни вот с чего
>
>Ебани аналитику от Глена Берри по отсутствующим индексам и статистике топовых ЗАДЕРЖЕК системы
>
>http://sqlcom.ru/dba-tools/express-diagnostic-ms-sql-server/
>
Спасибо, за вечер не разобрать. ._.

309 10 окт, 16:09 309 1277328

>>1276994
>А, лол, оракл макаки не могут в топ

Зато у нас (+) вместо километров join лапши.

Ответы277329

310 10 окт, 16:09 310 1277329

>>1277328

И да, where rownum=1 order by ;

311 11 окт, 22:12 311 1277883

>>1276983
> В оркале ордербаи и топ отменили? Это спецификация языка, макак
Как вы живёте, блядь?

18 Кб, 682x304
312 14 окт, 00:36 312 1278667

сап анон

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

небольшое описание:
MySQL
две бд и три таблицы
1) db_default -> tb_user, tb_logins
2) db_billing -> tb_operations

Ответы278686278687279345279473

313 14 окт, 01:29 313 1278686

>>1278667
Ничего не знаю о SQL, но попробуй первый аргумент писать на той же строке.

314 14 окт, 01:32 314 1278687

>>1278667
У тебя гроуп бай по одному полю, а без формул ты выводишь 3.

Ответы279030

315 14 окт, 19:10 315 1279030

>>1278687
если совсем убрать grop by, то проблема не уходит

316 15 окт, 11:56 316 1279345

>>1278667
Ну значит у тебя там выше залупа какая то
Поставь ; перед SELECT

317 15 окт, 14:58 317 1279473

>>1278667
А меня вот, например, в 11 строке запятая в конце смущает

Ответы279497

318 15 окт, 15:45 318 1279497

>>1279473
а блядь, и точно
какая запятая между джойнами? рука лицо

319 16 окт, 23:08 319 1280276

В современном проектировании БД используются триггеры? Просто учусь в шараге по методичке 2005 года, и сервер тоже старый.

Ответы280447

320 17 окт, 11:59 320 1280447

>>1280276
Зависит что проектируешь.

Если говорить о МС скульсервере, есть задачи, которые принципиально не решить без триггера.

Прежде всего это всяческое логирование.

Но вообще взрослые дяди стараются свести использование триггеров по минимому, потому, что это все довольно непрозрачные механизмы. Особенно те,которые INSTEAD OF

В общем, административные задачи в триггеры _можно_ если иначе никак.
НУ например DDL логи.

Все остальное лучше делать без триггеров. Особенно все то, что относится к модификации данных.

О! Есть еще один хитровыебанный кейс, когда ты делаешь механизм, который позволяет прервать и откатить батч по свистку, типа IF (1=2) EXEC dbo.AbortAll

Там тоже нужен триггер-шмиггер

мимо-батя-скуля

321 17 окт, 18:48 321 1280651

Перепощу из ньюфаг-треда, может, кто-то сможет ответить, и да, я осознаю, что этот тред о SQL, но он единственный тематический.

Изучаю NoSQL на PouchDB, что-то не очень понимаю, как работают коллекции. Давайте с простым примером и-магазина, есть коллекции заказов и товаров, разумеется, они должны быть связаны, и насколько я понимаю, в документах заказов уже имеет смысл хранить товары, потому что заказ без товаров сам по себе бесполезен. Я правильно понимаю, что в NoSQL БД не существует некоего волшебного механизма, который при изменении документов товаров автоматически обновит документы в коллекции заказов? В RxDB и Mongoose есть population, если знаете, как это работает (в поле документа одной коллекции указывается отсылка на конкретные документы в другой коллекции, и при конкретном запросе БД их подтягивает в первую коллекцию), но я не уверен, что правильно так делать.

322 18 окт, 12:44 322 1280965

Вот я хочу добавить запись вида (первое поле, второе, третье). Но оно добавится, только если первое поле уникальное. Как можно сделать такой запрос? И, если желательно, в одну строку.

Ответы281042

323 18 окт, 15:49 323 1281042

>>1280965
Причем тут запрос? У тебя констрейнт уникальности на поле
первое_поле нужен.

Ответы281063

324 18 окт, 16:17 324 1281063

>>1281042
Блин, ну я ж помню, что как то через запрос делал. А сейчас, к сожалению, все проебал.

Ответы281088281096

325 18 окт, 16:48 325 1281088

>>1281063
Еще рас, сукА, селект это ОПЕРАЦИЯ ПРОЕКЦИИ, ты не управляешь в селекте проверками на уникальность и прочее

Ты можешь заказать

"инсерт инто залупа_тейбл селект хуйня, молофья фром парашатейбл вере ... (и вот тут параметры отбора)"

но это _не_ ограничения вставки

Ответы281138

326 18 окт, 17:07 326 1281096

>>1281063
ПыСы

Если тебе нужно проверить что запись только одна

SELECT
T1.WannaBeDistinct as Field1
, T2.Field2
, T3.Field3
FROM
Table1 T1 ... Table2 T2
... WHERE
NOT EXISTS (
SELECT 1 FROM Table1 TT WHERE TT.PkID = T1.PkID
)

Ответы281138

327 18 окт, 18:17 327 1281138

>>1281088
>>1281096
Жаль конечно, что так получается, ну да ладно. Спасибо!

3 Кб, 134x176
328 19 окт, 20:41 328 1281563

анон, подскажи как можно запихнуть символ рубля в таблицу?

создал таблицу с полем CurrencySign:
CurrencySign VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,

пытаюсь вставить символ в виде кода U+20BD - а нихрена не появляется символ

как решить проблему?

Ответы281651284528

329 19 окт, 23:46 329 1281634

Аноны, расскажите как кто-нибудь из этого треда к успеху пришел, начав с нуля.

Ответы281652

330 20 окт, 01:49 330 1281651

>>1281563
СУБД какая?

Ответы281770281803

331 20 окт, 01:59 331 1281652

>>1281634
> Аноны, расскажите как кто-нибудь из этого треда к успеху пришел, начав с нуля.
Всё зависит от того, что для тебя успех.

Ответы281752282636

332 20 окт, 12:33 332 1281752

>>1281652
Все просто: выучил с нуля, грубо говоря и смог устроится.

333 20 окт, 13:10 333 1281770

>>1281651
CSV файл через ODBC на ХР.

334 20 окт, 14:34 334 1281803

>>1281651
mysql и hsqldb

Ответы282424

335 21 окт, 18:40 335 1282384

>>128156
Привет, какую абс пилишь? Что так поздно за приказ цб схватился?

34 Кб, 587x260
336 21 окт, 20:17 336 1282424

>>1281803
Еще вопрос все по тем же СУБД
Могу ли я создать таблицу, где Person будет выводиться как конкатенация FirstName и Surname из другой таблицы? Если да, то как это сделать?

DROP TABLE PERSONS IF EXISTS CASCADE;
CREATE TABLE PERSONS (
ID BIGINT GENERATED BY DEFAULT AS IDENTITY (START WITH 1 INCREMENT BY 1) NOT NULL,
FirstName VARCHAR(20) NOT NULL,
Surname VARCHAR(20) NOT NULL,
PRIMARY KEY (ID)
);

DROP TABLE BOOKS IF EXISTS CASCADE;
CREATE TABLE BOOKS (
BID BIGINT GENERATED BY DEFAULT AS IDENTITY (START WITH 1 INCREMENT BY 1) NOT NULL,
PersonNumber BIGINT NOT NULL,
Person VARCHAR(40) NOT NULL, /PERSONS.FirstName + PERSONS.Surname/
PRIMARY KEY (BID),
FOREIGN KEY (PersonNumber) REFERENCES PERSONS(ID) ON DELETE CASCADE
);

Ответы282639282941

45 Кб, 166x364
337 22 окт, 13:44 337 1282636

>>1281652
Ну я выучил с нуля и пришел к успеху. Если конечно считать за успех 160 к/мес и функцию архитектора КХД

Ответы283072283603

338 22 окт, 13:46 338 1282639

>>1282424
Фест нейм варчар 20
Ласт наейм варчар 20
мидлнейма нет

Откуда вы такие уебки лезете, а?

Вот придет к тебе Муххаммад ибн Мусса ибн Федайкин Абу Аль Хорезми и что ты делать будешь, уеба, со своими варчар 20?

Ответы282657282781

339 22 окт, 14:15 339 1282657

>>1282639
> Вот придет к тебе Муххаммад ибн Мусса ибн Федайкин Абу Аль Хорезми и что ты делать будешь
Я охуею и выбегу из здания.

340 22 окт, 17:40 340 1282781

>>1282639
Миддл нейм не нужен. Мухаммад Хорезми он, жи есть.

341 22 окт, 20:50 341 1282941

>>1282424
Не можешь ты сделать таблицу такую. Сделай вьюху из 2 своих таблиц.

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

342 23 окт, 00:47 342 1283072

>>1282636
Что нужно читать, чтобы понять структуру DWH?

Ответы283110283230

343 23 окт, 02:37 343 1283110

>>1283072
Инмана и Кимболла, конечно же.
А так - что ты хочешь узнать из их утверждений? Реальное хранилище не будет полностью повторять описанную структуру.
Чтобы понять, нужно знать, что есть транзакционная система, данные из которых ты грузишь в хранилище и преобразуешь к такому виду, чтобы бизнесу было удобно их читать.
А как ты их там держишь - это уже полет твоей фантазии, хоть в нереляционной базе или переписываешь на бумажки и отправляешь ящиками в архив.

Если серьезно - один предлагает хранить данные в ядре в нормализованном виде и отдавать бизнесу в денормализованных витринах(читай: OLAP-кубы), а второй - в денормализованные витрины грузить из OLTP систем.

На самом деле, можно что-то среднее между теориями Инмана и Кимболла использовать - грузить данные сразу в нормализованные витрины.

Ответы283232

344 23 окт, 10:52 344 1283230

>>1283072
Кимбала читай, Имана не читай.

У Кимбала две книжки , одна более обзорная другая более конкретная с приемами чо почем

Kimball & Ross : The Data Warehouse Toolkit
Kibmall: The Data Warehouse Lifecycle Toolkit

Ответы283231

99 Кб, 768x576
345 23 окт, 10:55 345 1283231

>>1283230
PS
Если ананас подскажет мне анонимную файлопомойку, могу скинуть обе пдфки туда.

Я в свое время знатно поебался, чтоб найти их в хорошем какчестве.

Ответы283238

61 Кб, 526x538
346 23 окт, 10:57 346 1283232

>>1283110
>На самом деле, можно что-то среднее между теориями Инмана и Кимболла использовать - грузить данные сразу в нормализованные витрины.

Братишко, скажи подалуйста, как у тебя в голове укладываются в одном словосочетании противоположенные по смыслу термины?

По мне, так "нормализованнные витрины" это такой же оксюморон как "женская логика" или "политическая порядочность"

347 23 окт, 11:09 347 1283238

>>1283231
Рыгхост

Ответы283242

26 Кб, 604x338
348 23 окт, 11:15 348 1283242

>>1283238
сильвупле, йопта
http://rgho.st/7Bwd4z8wR
http://rgho.st/7swHHRWWg

Ответы283987

349 23 окт, 21:38 349 1283603

>>1282636
Можно подробней пожалуйста.

Ответы284030

350 23 окт, 22:50 350 1283621

Аноны, а подскажите, что почитать, чтобы быстро выучить основы бд?
Так вышло, что прогал не используя бд вообще, а сейчас на любой вакансии их требуют.
Алсо хотелось бы разобраться в разнице sql и nosql, когда какие стоит применять и тд.

Ответы283631

351 23 окт, 23:09 351 1283631

>>1283621
https://github.com/codedokode/pasta/blob/master/db/databases.md
Главным отличием sql и nosql является соответствие ACID.
sql должен соответствовать всегда, nosql может соответствовать "в перспективе" (данные доедут, но потом).

Ответы283633283634

352 23 окт, 23:12 352 1283633

>>1283631
>Главным отличием sql и nosql является соответствие ACID.
>sql должен соответствовать всегда, nosql может соответствовать "в перспективе" (данные доедут, но потом).

Мне бы понять разницу в применении. Условно говоря, для каких задач можно только nosql, для каких только sql, для каких оба подходят, но что-то больше

353 23 окт, 23:12 353 1283634

>>1283631
>https://github.com/codedokode/pasta/blob/master/db/databases.md

За ссылку спасибо

354 24 окт, 12:19 354 1283753

Анонасы, вопросик есть. Вот написал я небольшое веб-приложение Java+Spring+Hibernate с постгресом, БД и таблицы создавал в pgAdmin. Ну и по стандарту сделал application.properties и в нём прописал url/username/password. Запуск с IDE и jar-ника у меня работает нормально.

Но что делать другому человеку, который скачает мой репозиторий и захочет у себя из IDE запустить? Что мне нужно прописать в таком случае? Ему ведь нужно будет изменить url/username/password на свои, но ведь у меня есть таблицы, а у него, получается, их не будет? Я немного не понимаю этот момент.

Ответы283784

355 24 окт, 13:34 355 1283784

>>1283753
Не в том треде вопрос задаешь.
В доке по спрингу все расписано https://docs.spring.io/spring-boot/docs/current/reference/html/howto-database-initialization.html
Hibernate может создать таблицы автоматически hibernate.hbm2ddl.auto=create, но это НЕ рекомендуется делать на реальных проектах (хотя я делал в своей говнокоторе ибо всем похуй).
Можно просто положить в ресурсы файлик schema.sql, если используешь spring boot.
Можно использовать инструменты миграции такие как Flyway или Liquibase.

356 24 окт, 21:42 356 1283987

>>1283242
Спасибо, няш.

Ответы284031

357 25 окт, 00:04 357 1284030

>>1283603
Ну после института взяли подмастерьем в банк, там стал более менее скуль погромистом, потом двигался от конторе к конторе, растил скилл и кругозо по предметным областям. Мотал на ус как разные айти конторы решают определенные спектры задач.

В 2006 работал за 45 в 2009 за 65 в 11 зв 85 ну и так далее до посейчас за 160+- четотам. Пошел на проект где людям надо было поднимать КХД, убедил их что справлюсь, ну и вот ...

8 Кб, 200x150
358 25 окт, 00:05 358 1284031

>>1283987
Обращайся

45 Кб, 800x533
359 25 окт, 09:46 359 1284147

Репост из реквест треда, потому что тут фундаментальных дедов побольше.
Вот есть разные вебфреймоврки.
Но все они так или иначе реализуют шаблон MVC.
Вопрос. Можно ли что то изучить непосредственно по мвс, оторванное от конкретной реализации, что бы потом было менее болезнено менять технологию?
Вообще что можете посоветовать изучить что бы смена языка, фреймворка, или технологии была менее болезнена.
Так то заметил что ООП везде более или менее одинаково.
Структуры данных почти везде одни и те же.
Алгоритмы вообще от языка не зависят и им десятки лет.
Может есть какой то фундаментальный труд который опишет все от и до как в ойти устроенно с технической точки зрения, аки капитал маркса?

Ответы284155284158284436

360 25 окт, 10:45 360 1284155

>>1284147
Конечно, дорогой, гугли "Паттерны проектирования".

Модель-представление-контроллер всего лишь один из них.

https://ru.wikipedia.org/wiki/Шаблон_проектирования

Ответы284270

22 Кб, 450x300
361 25 окт, 10:50 361 1284158

>>1284147
>Можно ли что то изучить непосредственно по мвс, оторванное от конкретной реализации, что бы потом было менее болезнено менять технологию?

И конкретно на этот вопрос, ответ скорее всего нет. Потому, что зависит, что считать за "безболезнено".

Вот к примеру React реализует MVC и Angular реализует MVC, и MVC-проект на дотнете реализует, но с одного на другое переходить я ебал.

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

Ответы284217284270

sage 362 25 окт, 12:46 362 1284217

>>1284158
>React реализует MVC
А создатели Реакта об этом знают?)

363 25 окт, 14:39 363 1284270

>>1284158
Реакт просто для внещнего вида библиотека. А ангуляр да.
Просто меня пугают эти истории "Вышел новый фреймворк - 100 тыщ ссмузихлебов потеряли работу потому что не смогли пересеть." Хотя по факту они там будут строить тот же МВС и теже самые вебморды, просто средствами фреймворка.

>>1284155
Да, про паттерны в курсе, просто думал есть талмуды охватывающие все.

Ответы284271

1019 Кб, 1920x1080
364 25 окт, 14:42 364 1284271

>>1284270
Алсо
>о с одного на другое переходить я ебал.

Так просто я получаю опыт на питоне, и собираюсь вкатываться вджангу.
Но мне очень нравится си #, в будущем хотелось бы работать на нем.
Но сейчас надо учить джангу для карьеры.

365 25 окт, 19:23 365 1284427

>>1222346 (OP)
Ребят, нужно ли чего-то там нормализировать или можно подзабить пинуса и повторить структуру xml/json? Речь о БД, которая будет пользоваться тупо для хранения данных и изредка отчётов-поисков.
Можно ли postgreSQL заставить автоматом повторить набор элементов того же xml а потом закинуть в него все подходящие файлы как строки?

366 25 окт, 19:31 366 1284436

>>1284147
Прогугли хорошие талмуды по ЯП и CS, но для энтрилевельных. На русском даже не думай смотреть.
Там вполне будут описания именно того что хорошее-доброе-вечное. Ну, или так будет подано что когда с новым столкнёшься то сам поймёшь где тут каких плюшек наделали.

Но это вопрос не фреймворков, а более серьёзных абстракций. Как те же структуры данных.

У фреймворков одна задача обычно стоит, которую реализуют через IoC. Переход с конкурирующих фреймворков и даже просто библиотек - это всегда боль. Ты либо наткнёшься на две хорошие реализации, но которые зачем-то годами не приводят к обоюдопонятному стандарту, либо с тем что у одних есть хорошая писька, а у других такого даже в проекте не предвидится, либо огрызок какой-то позорный. Да и бестпрактисы порой разнятся, в том числе и из-за внутренней кривизны фреймворка.

Возвращаясь к фундаментальному - читай теорию ЯП и как вообще компьютер работает. Если ты поймёшь как v8 работает, то это даст тебе куда больше понимания нодоблядства, чем дрочение очередного бичпакета из npm.

367 25 окт, 21:44 367 1284528

>>1281563
бамп вопросу, субд - hsqldb и mysql

Ответы284558

368 25 окт, 22:50 368 1284558

>>1284528
Я вообще по ораклу, но там с национальным символами есть нюансы: помимо того, что в твоей базе должна быть такая кодировка, ещё и твой клиент (чем ты вставляешь строку в таблицу) тоже должен иметь этц кодировку.
То есть если база у тебя с win1251, клиент с win1251, а ты хочешь в нее с этого клиента воткнуть символ в utf8, то он приведется к win1251 и вставится в базу. И всякие там a, B, C и прочие в базу влезут нормально, а вот символы, для кодирования которых нужно два и больше байт, в нее нормально не вставятся.
Проверь, может, у тебя тоже есть что-то в таком роде.

369 26 окт, 19:34 369 1284977

учу MySQL. Почему в блядском mysql workbench нет автодополнения кода? Мне что все по памяти писать нужно?

Ответы285126

370 27 окт, 00:36 370 1285126

>>1284977
Вообще-то есть. Сходи ради приличия хотя бы на stack.

Ответы285134

371 27 окт, 01:07 371 1285134

>>1285126
Спасибо, и правда есть. Но почему так медленно работает? И вообще весь гуи медленный какой-то. Пека вроде на воркстешн тянет. Или надо сразу учиться все через консоль пилить?

372 27 окт, 19:56 372 1285505

сап, делаю гуи для работы с бд. Не могу придумать, как сделать адекватную реализацию удаления: при удалении может вылететь ошибка
>UPDATE или DELETE в таблице "таблица_нейм" нарушает ограничение внешнего ключа "ключ_нейм" таблицы "таблица2_нейм"
как можно проверить, можно ли удалять элемент, чтобы обработать эту ошибку? в голову приходит только сделать SELECT по всем таблицам, у которых внешний ключ содержит эту таблицу, но чувствую, что изобретаю велосипед.

Ответы285651286229286406

373 27 окт, 23:29 373 1285651

>>1285505
Прогугли про определение целостности и каскадное удаление.

374 29 окт, 03:37 374 1286229

>>1285505
Т.е. ты хочешь, чтобы пользователь, встав на запись, видел, можно ли ее удалять или нельзя?

Ответы293739

375 29 окт, 14:36 375 1286406

>>1285505
Для какой бд манюнь? Для каждого конкретного движка будет свое воплощение этой фичи.

Ответы293739

376 30 окт, 21:05 376 1287210

Мне 25 лет и я не умею ничего кроме SQL. Задавайте ответы.

Ответы287216287229

377 30 окт, 21:21 377 1287216

>>1287210
Нахуй так жить?

378 30 окт, 21:54 378 1287229

>>1287210
Как же я надеюсь, что не стан тобой в 25.
Мимо 23х летний sql разработчик
АЛСО, господа, скажите, пожалуйста, что более перспективно - DBA или DBD.

Ответы287250287283287284

379 30 окт, 22:34 379 1287250

>>1287229
>что не стан тобой в 25
Но судя по твоему вопросу ты уверенно идешь к этому.

380 30 окт, 23:59 380 1287280

>>1225074
советую sqlzoo. Там задачи не такие ебанутые как на sql-ex и в принципе нарешав их основные вещи более-менее будешь понимать

381 31 окт, 00:05 381 1287283

>>1287229
Бери питон и Java/Scala и ради своего блага вкатись в бигдату дата-инженером или бигдата-аналитиком. Да, это хайп и баззворды, но постепенно, маневрируя между расплывчатыми вакансиями и должностями, ты сможешь получить более-менее интересную работу. Главное не сдаваться и не бояться брать сложные задачи, где ты не знаешь больше половины используемых технологий.

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

Ответы287285

382 31 окт, 00:07 382 1287284

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

Ответы287285

383 31 окт, 00:16 383 1287285

>>1287283
>>1287284
Ты вроде один человек, так что отвечу а два поста сразу. Я так понимаю, что мне нужно прямо сейчас начинать учить какую-нибудь статистику и R python? По каким словам вакансии искать, чтобы я хоть немного оценил стек, трудозатраты и личный интерес?

Ответы287299

384 31 окт, 00:40 384 1287299

>>1287285
Короче смотри - недавно(буквально на днях) собеседовался для поддержания тонуса и "разведки" в нескольких местах: модный смузи-стартап, унылая "традиционная" компания и средняя компания по разработке мобильных игр. Вывод таков: блогеры были правы и действительно сформировалось разделение ролей, а именно - дата саентист и дата инженер. Ознакомься с этими ролями, почитай, поищи. Потом выбери.

Теперь = все написанное ниже нужно воспринимать с оговоркой на конкретные вакансии. ОЧЕНЬ ПОДРОБНО РАССПРАШИВАЙ ПРО СТЭК И ДОЛЖНОСТНЫЕ ОБЯЗАННОСТИ. Ты теоретически можешь попасть в компанию, где саентисты и инженеры - по сути просто sql-разработчики. Это реальность. И вообще все это основано только на моем скромном опыте.

Если ты хочешь быть дата инженером, то статистику, R, эконометрику и т.п. можно знать поверхностно или вообще не знать. Тут такова - ты помогаешь саентистам, аналитикам и другим товарищам создавая им "инфраструктуру данных", т.е. пайплайны(как традиционные etl-процессы, так и риалтайм фильтрация-аггрегация и так далее). Это значит, что тебе будет легче делать свою работу, если ты хоть немножко понимаешь нахуя люди от тебя это хотят. Питон ты испольуешь чтобы пользоваться спарком(pyspark), поглощать данные со всяких источников - API соцсетей, API каких-то приложений, всякие логи, всякие Кафки, всякие БД, и чтобы использовать модные планировщики вроде Airflow и Luigi. Java/Scala - когда требуется риалтайм(хотя питон и здесь начинает быть актуальным) и/или крутая производительность(pyspark всё же проигрывает). Кроме того, все инструменты бигдата экомистемы написаны на JVM языках; это значит, что ты лучше их сможешь понимать, если сам ориентируешься в таких языках.

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

Ищи Data Scientist и Data Engineer.

Теперь пара оговорок.

384 31 окт, 00:40 384 1287299

>>1287285
Короче смотри - недавно(буквально на днях) собеседовался для поддержания тонуса и "разведки" в нескольких местах: модный смузи-стартап, унылая "традиционная" компания и средняя компания по разработке мобильных игр. Вывод таков: блогеры были правы и действительно сформировалось разделение ролей, а именно - дата саентист и дата инженер. Ознакомься с этими ролями, почитай, поищи. Потом выбери.

Теперь = все написанное ниже нужно воспринимать с оговоркой на конкретные вакансии. ОЧЕНЬ ПОДРОБНО РАССПРАШИВАЙ ПРО СТЭК И ДОЛЖНОСТНЫЕ ОБЯЗАННОСТИ. Ты теоретически можешь попасть в компанию, где саентисты и инженеры - по сути просто sql-разработчики. Это реальность. И вообще все это основано только на моем скромном опыте.

Если ты хочешь быть дата инженером, то статистику, R, эконометрику и т.п. можно знать поверхностно или вообще не знать. Тут такова - ты помогаешь саентистам, аналитикам и другим товарищам создавая им "инфраструктуру данных", т.е. пайплайны(как традиционные etl-процессы, так и риалтайм фильтрация-аггрегация и так далее). Это значит, что тебе будет легче делать свою работу, если ты хоть немножко понимаешь нахуя люди от тебя это хотят. Питон ты испольуешь чтобы пользоваться спарком(pyspark), поглощать данные со всяких источников - API соцсетей, API каких-то приложений, всякие логи, всякие Кафки, всякие БД, и чтобы использовать модные планировщики вроде Airflow и Luigi. Java/Scala - когда требуется риалтайм(хотя питон и здесь начинает быть актуальным) и/или крутая производительность(pyspark всё же проигрывает). Кроме того, все инструменты бигдата экомистемы написаны на JVM языках; это значит, что ты лучше их сможешь понимать, если сам ориентируешься в таких языках.

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

Ищи Data Scientist и Data Engineer.

Теперь пара оговорок.

Показать весь текст
Ответы287300287310

385 31 окт, 00:44 385 1287300

>>1287299
Как я уже написал, всё дико зависит от вакансии и от реального положения дел в компании.

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

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

Ответы287307287310

386 31 окт, 00:57 386 1287307

>>1287300
И напоследок чутьчуть конкретики, а именно - вкратце что спрашивали на собесе в той компании где я сейчас нахожусь

1. базовые знания python, bash; например, как работать с файлом если он слишком большой чтобы зажрать его в память целиком
2. базовые знания написания хранимых процедурок - естно говоря не знаю нахуя, редко всплывало потом.
3. базовое понимание бигдаты - говорили про хайв, хадуп, кафку, спарк. Я рассказал как разворачивал у себя локально миникластер из одного узла и что я там делал

Дали потом задачки на дом, там был парсинг апи Твиттера, филтрация, трансформация этого датасета, затем загрузка в реляционную базу данных, написание sql-запросов.

Затем был вопрос - как бы ты решал эту задачу, если бы твитов было бы в 10,100,1000 раз больше.

Мне по

Ответы287308287310287311

387 31 окт, 00:58 387 1287308

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

Ответы287310

388 31 окт, 01:02 388 1287310

>>1287299
>>1287300
>>1287307
>>1287308
Спасибо тебе большое.
>могу просто рассказать только то что со стороны видел
Я бы почитал, если я тебя этим не сильно отвлеку. АЛСО, было бы интересно почитать про твой предыдущий бэг грунд.

Ответы287312

389 31 окт, 01:03 389 1287311

>>1287307
>Дали потом задачки на дом, там был парсинг апи Твиттера, филтрация, трансформация этого датасета, затем загрузка в реляционную базу данных, написание sql-запросов.
А более подробное ТЗ ты скинуть можешь?

Ответы287312

390 31 окт, 01:20 390 1287312

>>1287311
>>1287310
саентисты пришли с бэкграундом а-ля "я делал линейную регрессию в SAS и прошла курсы на курсере". Выросли из аналитиков, разработчиков, sql-чуваков. Так что это реально.

А сейчас их рабочий процесс такой: ставится задача, например - сделай мне модель по предсказанию оттока наших B2B клиентов. Начинается выясняловка: че за клиенты, че за данные у нас есть, какие мы можем получить новые данные и из каких источникво; короче брейншторм, какие у нас будут фичи(т.е. переменные). Исследовательный процесс. Написание скриптов на питоне - 10% времени.

У меня бэкграунд был в основном PL/SQL+Python(отжал себе задачку написать простенькое десктоп приложение для нанесения патчей на БД)+ETL-инструменты вроде Информатики. Все что с бигдатой связано, изучал дома сам. Установил вирутальную машину убунту, скачал хадуп, скачал спарк, кафку. Развернул все это дерьмо, попутно учась писать башскрипты. Поделал туториалы.

Ответы287313

391 31 окт, 01:22 391 1287313

>>1287312
>Поделал туториалы.
А где взять?

Ответы287314

392 31 окт, 01:24 392 1287314

>>1287313
я гуглил на английском языке.

На русском я ничего нормального не находил. Хотя и не особо искал.

Ответы287315

393 31 окт, 01:35 393 1287315

>>1287314
Спасибо, няш.

394 31 окт, 14:24 394 1287510

>>2410511
Запусти fs_usage в терминале да полюбуйся как оно даже когда ничего не "чистит" лазит у тебя по диску
Ах да, ты наверное даже терминал открыть не сможешь, ведь ты и есть целевая аудитория таких программ

Ответы287511

395 31 окт, 14:26 395 1287511

>>1287510
промахнулся тредом, сорри

51 Кб, 640x640
396 31 окт, 16:01 396 1287552

Есть вопросик.
Вот БАЗА ДАННЫХ.
В ней много таблиц от документов до пользователей.
В каждой таблице есть поле created типа Дата, куда заносятся дата создания строчки в таблице.
Вообщем вопрос. Имеет ли смысл выносить даты в отдельную таблицу, и проверять просто при содании записи, есть ли в этой таблице такая дата, и присваевать в нужной таблице айди этой даты Это же нормализация, да?
Или это излишний заеб и нинужно?

Ответы287578287613288021

397 31 окт, 16:53 397 1287578

>>1287552
Ради одной только даты хуярить - звучит странно.
Тоже интересно ответ услышать.

Ответы287595

423 Кб, 1920x1080
398 31 окт, 17:04 398 1287595

>>1287578
Зависит от задач.
Есть вообще EAV модель когда ты делаешь одну таблицу для сущностей. Другую для атрибутов сущностей. Третью для значений этих атрибутов, и толькой айдишники вставляешь по такой иерархии.
Кошмар если нет Нормальной ORM а чистый SQL, но дает возможность тебе написать информационную систему где заранее неизвестно сколько будет сущностей, сколько у них буедт атрибутов, и каких будут типов их значения.
Это все можно переложить на пользователя. Пусть своим сранным сапогам в своем сранном интернет магазине хоть сто характеристик отдельно напишет,цвет, размер, запах, какого цвета была жопа у той твари с которой кожу содрали для этих сапог, итд. А в соседнем товаре аля Шарф этих характеристик не будет.

399 31 окт, 17:29 399 1287613

>>1287552
Какая, к чертям, нормализация? Нормализацию у тебя в мозгу провести надо.

Ответы287923

2,9 Мб, 1920x1080
400 31 окт, 22:32 400 1287850

Аноны-sqlщики, подскажите по ситуации плиз. Сам учусь примерно полгода уже, чтоб работать в анализе данных, из последнего вот только что закончил курс по sql на юдасити. Немного рассылал резюмеху, в итоге получилось так, что прошел собес на должность инженера техподдержки 2 уровня, и как я понял надо будет много ворочать sql, потому что перед тем как берут на работу, компания (it компания видимо среднего размаха в ДС/ДС-2 и Европе) они короче сначала гонят тебя на оффлайн курс по SQL от них, который идет 40 часов и растянут на пару недель.

Короче скоро начинаю ходить на эти курсы, и мне интересно короче кто что думает про такую тему. Опыта работы у меня нет в IT, и хоть это будет и не работа аналитиком, но по идее вход в индустрию уже будет после такой работы? И sql полезная штука как я понимаю в анализе ведь

И по курсу, насколько наличие в резюме такого интенсива будет ништячно? Я так думаю за 40 часов можно ух нагоняться, ни у кого не было подобного опыта?

Ответы287876

401 31 окт, 23:43 401 1287876

>>1287850
>
>(2994Кб, 1920x1080)
>
>Аноны-sqlщики, подскажите по ситуации плиз. Сам учусь примерно полгода уже, чтоб работать в анализе данных, из последнего вот только что закончил курс по sql на юдасити. Немного рассылал резюмеху, в итоге получилось так, что прошел собес на должность инженера техподдержки 2 уровня, и как я понял надо будет много ворочать sql, потому что перед тем как берут на работу, компания (it компания видимо среднего размаха в ДС/ДС-2 и Европе) они короче сначала гонят тебя на оффлайн курс по SQL от них, который идет 40 часов и растянут на пару недель.
>
>Короче скоро начинаю ходить на эти курсы, и мне интересно короче кто что думает про такую тему. Опыта работы у меня нет в IT, и хоть это будет и не работа аналитиком, но по идее вход в индустрию уже будет после такой работы? И sql полезная штука как я понимаю в анализе ведь
>
>И по курсу, насколько наличие в резюме такого интенсива будет ништячно? Я так думаю за 40 часов можно ух нагоняться, ни у кого не было подобного опыта?

когда получишь работу, попробуй РЕАЛЬНО прокачаться в sql и брать себе побольше сложных задач связанных с его использованием.

SQL - основная рабочая лошадка аналитиков, это факт.

Ответы287881287882

402 31 окт, 23:52 402 1287881

>>1287876
и все пробелы, которые не охватил выполняя работу, заполни сам. Грубо говоря, основной багаж знаний - это джойны, работа с NULL(есть нюансы, например тот факт что любое сравнение null с null это false, и то как null себя ведёт при попадании в сумму), подзапросы (когда селектишь из другого селекта), мудрое использование стандартного пакета агрегирующих и неагрегирующих функций и аналитические/оконные функции.

Эзотерику вроде grouping sets можешь игнорировать, она не очень часто используется. Вопросы на sql-собеседованиях, даже на продвинутые позиции, на моей практике все упираются в хорошее понимание того что я упомянул выше.

Если знаешь англ, читай англоязычные туториалы и из упражнений рекомендую sqlzoo.

Ответы287882

403 31 окт, 23:54 403 1287882

>>1287881
>
>>>1287876
>и все пробелы, которые не охватил выполняя работу, заполни сам. Грубо говоря, основной багаж знаний - это джойны, работа с NULL(есть нюансы, например тот факт что любое сравнение null с null это false, и то как null себя ведёт при попадании в сумму), подзапросы (когда селектишь из другого селекта), мудрое использование стандартного пакета агрегирующих и неагрегирующих функций и аналитические/оконные функции.
>
>Эзотерику вроде grouping sets можешь игнорировать, она не очень часто используется. Вопросы на sql-собеседованиях, даже на продвинутые позиции, на моей практике все упираются в хорошее понимание того что я упомянул выше.
>
>Если знаешь англ, читай англоязычные туториалы и из упражнений рекомендую sqlzoo.
>
и ещё не забывай про повсеместность excel. Все аналитики,с которыми я работал - настоящие визарды экселя и это им реально помогает, т.к. их "клиенты" как правило результат труда хотят в виде красиво оформленной экселины.

Ответы287887

404 1 ноя, 00:10 404 1287887

>>1287882
спасибо большое за инфу!! про эксель как то забыл уже, буду шерстить курсы по нему, вспоминать что знал
за упражнения тоже благодарочка

недавно вот статистику начал изучать, теперь даже не уверен что это нужно будет в ближайшее время, хех :/

405 1 ноя, 02:38 405 1287923

>>1287613
Я вопрос задал, дебил.

34 Кб, 550x387
406 1 ноя, 10:54 406 1288021

>>1287552
Делать отдельно таблицу дат с айди и проставлять ссылки на даты, это без, сомнения, нормализация.

Однако сценарий, где на дату надо _ссылаться_ я могу себе представить с большим трудом. Хотя не, пизжу. Не могу.

Я помню, что при построении КХД бывают кейсы, когда такой ход - разумен, но не помню кокнретных деталей.

В 99,95% случаев мы дату чего либо (в данном случае дату создания) прикапываем в той же табле что и описываемая сущность или процесс.

мимо-архитектор

Ответы288045288143

407 1 ноя, 11:42 407 1288045

>>1288021
>это без, сомнения, нормализация
Хуёвый ты архитектор.

Ответы288049288143

408 1 ноя, 11:58 408 1288049

>>1288045
Блядь манюнь, не еби мозги, а?
Ты через это приводишь отношение к доменно-ключевой нормальной форме.

Вопрос только в том - нахуйя?

Ответы288061

409 1 ноя, 12:24 409 1288061

>>1288049
Хуитектор, id-шник тоже в отдельную таблицу занеси, а то что это они в разных таблицах одинаковые? Это не нормализация, а хуйня, и вопрос зачем даже не стоит.

Ответы288063

410 1 ноя, 12:30 410 1288063

>>1288061
Ты ебанутый совсем? Тебе говорят про ограничения домена

У тебя есть справочник городов

1 Москва
2 Урюпинск
3 Саратов

Соответственно, все поля "Город" будут ограничены доменом городов? Ок? Поменял по id 3 Саратов на Saratov, у тебя во всех представлениях, процедурах, функциях подтянется обновленное зхначение, без необходимости править _каждую_ таблицу с полем
"Город"

Ровно тоже ты можешь сделать с датами. Вопрос только в том- нахуя?

Ответы288075

411 1 ноя, 12:59 411 1288075

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

Ответы288090

36 Кб, 728x480
412 1 ноя, 13:23 412 1288090

>>1288075
Во-первых, тут никто этого не предлагал, а спросил стоит ли так делать.

Я ответил, что не стоит.

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

И это всего-лишь один из способов нормализации, который можно использовать, а можно не использовать.

Короче, студент, ты лучше впитывай, что тебе тут бесплатно взрослые дяди рассказывают, а не воюй с голосами в голове.

Ответы288139

413 1 ноя, 15:05 413 1288139

>>1288090
Какой пул значений ты в датах создания записи узрел? Это же не праздники, например, которые ограничены и на них это бы работало. Дата создания может быть любая. Любая. Ты понимаешь это? И это архитектор. Говно ты, а не архитектор.

Ответы288174

414 1 ноя, 15:10 414 1288143

>>1288021
Спасибо за разъяснение.

>>1288045
А вы, месье, хам и грубиян.

Мимо спросивший.

415 1 ноя, 16:02 415 1288174

>>1288139
а ты дату не отличаешь от датавремя? Ок

Ответы288250

416 1 ноя, 18:03 416 1288250

>>1288174
Дата у нас теперь конечная? Когда там уже конец света? Скажи, не томи!

Ответы288696

417 2 ноя, 11:40 417 1288696

>>1288250
Студент, не тупи.

В рсубд постоянно генерят даты на несколько лет вперед для разного.

Ответы288727

418 2 ноя, 12:47 418 1288727

>>1288696
Для какого разного, одаренный ты наш? Ситуация обозначена:
>В каждой таблице есть поле created типа Дата, куда заносятся дата создания строчки в таблице.
Ты утверждаешь что можно (не в смысле физической возможности) эту дату вынести как отдельную сущность. Я утверждаю, что это полнейшая глупость и не имеет смысла. Так что заканчивай манёвры, архитектор хуев, и иди пиши заявление по собственному, пока контора не накрылась от твоего профессионализма.

Ответы289130289131289134

sage 419 3 ноя, 02:56 419 1289130

>>1288727
Сука пидарас, ты мне это в лицо сказать сможешь, ГАНДОН блядь ебаный?? Давай нахуй встретимся и ты блядь ответишь за свой гнилой базар, гнида! Ты где живёшь нахуй?

sage 420 3 ноя, 02:57 420 1289131

>>1288727
Или ты блядь только в интернете такой смелый, сучара ебаная?

sage 421 3 ноя, 02:59 421 1289134

>>1288727
Малолетний дегенерат блядь, у тебя ещё молоко на губах не отсохло, чтобы так пиздеть!

422 3 ноя, 12:31 422 1289219

Как в mysql выбрать ячейку текущей выбранной строки?
Например update table set meta = name_c_текущей_строки + " всем привет я Толян Пивас"

423 5 ноя, 14:03 423 1290059

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

Ответы290093

424 5 ноя, 15:02 424 1290093

>>1290059
select address, item, count(*)
from table
group by address, item

82 Кб, 1376x1296
425 6 ноя, 03:24 425 1290475

>>1222346 (OP)
Не подскажите в чем дело может быть?
Поставил MS SQL server.
Захожу в студию. Жму там Создать новую базу данных SQL server...
Но кнопка Обновить не показывает мне мой сервер. Ну ладно. Ввожу руками название. Жму подключить.
Он появляется. Жму треугольник, чтобы раскрыть список. Жму еще раз и этот треугольник просто исчезает.
Создают новую таблицу, заполняю там все, сохраняю.
Обновляю базу данных.
А там рядом с словом Таблица даже нет этого треугольника для раскрытия списка.
Че делать?

Ответы290480

22 Кб, 594x634
426 6 ноя, 03:52 426 1290480

>>1290475
А вот через вкладку Обозреватель объектов SQL server все работает. И подключение к серверу там уже есть.
А через вкладку Обозреватель серверов не работает.
В чем разница между этими вкладками? И почему так?

427 7 ноя, 14:53 427 1291193

Антоны, привет, я умею немного в питон и JS.
И вот вкатываюсь в SQL. Вкатываюсь так что АЖ ТРИСЕТ!
Не пойму общую логику запроса.
Вот допустим есть три таблицы: Таб1, Таб2, Таб3.
Как в SQL сделать допустим так:
Если в Таб1 в Столбец1 значение = 1 - то обновляется строка в Таб2, если же в Таб1 в Столбец1 значение = 2 - то обновляется строка в Таб3.

Я могу делать примитивные дискретные запросы к одной таблице. Пересечения JOIN разных таблиц. Подзапросы.

Но не понимаю как выполнить сразу несколько инструкций SELECT/UPDATE и т.д., что бы они выполнялись в условиях IF допустим, и как передавать между этими запросами переменные данной итерации.

Поможите.

Ответы291382291549291566291796291827

428 7 ноя, 21:01 428 1291382

>>1291193
подозреваю, что тут необходима хранимая процедурка или питон+sqlalchemy чтобы добавить conditional логику.

Ответы291592

429 8 ноя, 02:00 429 1291549

>>1291193
На SQL так сделать нельзя.
Это не язык программирования, а язык запросов.

Т.е. надо или триггеры или процедуры, или программу на языке программирования. Лучше - программу.
Также, сама постановка задачи выглядит как-то подозрительно.

Ответы291592291827

430 8 ноя, 04:57 430 1291566

>>1291193
Скрипт или хранимая процедура + временные таблицы.

Ответы291592

431 8 ноя, 09:22 431 1291592

>>1291382
>>1291549
>>1291566
Спасибо

>>Также, сама постановка задачи выглядит как-то подозрительно.
Да я как то в русле программирования продолжал думать. От этого и мои вопросы.

432 8 ноя, 17:25 432 1291796

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

5 Кб, 225x225
433 8 ноя, 18:30 433 1291827

>>1291193
Трисет тебя потому, что ты свинособака и питоноблядок, но это ничего страшного и это лечится.

Тебе надо перестать думать обьектами и начать думать ОТНОШЕНИЯМИ и МАССИВАМИ ДАННЫХ.

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

Почему бы тебе не сделать три последовательных апдейта, если тебе важен результат прошлой операции?

>>1291549
Этого не слушай, тащить за собой данные можно. Например в курсоре.

Но это подход настоящей махровой свинособаки, а не достойного сэра.

Опиши более вменяемо структуру данных, и что ты хочешь добиться. А мы тебе придумаем что нибудь подходящее.

Ответы300486

434 10 ноя, 14:54 434 1292839

>Удивляемся, как за знания, приобретаемые за 4 месяца на sql-ex, могут платить по 100к
Это действительно так ?
О себе: Я раньше работал в бухгалтерии, а потом перекатился работать в банк. Перекат был из-за большей зп, но приходиться работать с клиентами (милд офис), что уже вызывает нервоз из-за тупости и наглости клиентов, если с тупостью я рад помочьНу типа пох как-то, то с наглостью БЛЯТЬ СУКА БЛЯТЬ КАК ВСЕ ЗАЕБАЛО БЛЯТЬ ИДИ НАХУЙ
Я уже просто мечтаю о работе с документами и залипании работы в Excel. На НН вижу вакансии с хорошей зп (работа с отчетностью или аналитик), где требуют знание Excel + SQL, если Excel я ещё дрочил в вузе + когда работал в бухгалтерии, то с SQL сейчас хочу посмотреть что и как тут.
Хотел спросить, у пня 27 левл при изучения sql-ex, на какую работу есть шансы претендовать, и какие именно обязанности придется выполнять ?

Ответы293656

435 11 ноя, 17:37 435 1293656

>>1292839
знание предметной области и экселя может скомпенсировать твои пробелы в sql. Знаю аналитиков которые не знали sql до текущей работы, а им точно за тридцать.

Единственное, я не понимаю откуда такое горячее желание убивать свой мозг дроча sql-ex вместо sqlzoo. Пожалуйста, начни с sqlzoo. Там на английском, но зато там очень плавно тебя ведут от самых простых селектов к более сложным вещам.

Что придётся делать - если речь идёт об отчетности, то на мой взгляд процесс будет такой: поступает просьба запилить отчёт. Просьба сформулирована скажем так "бизнес-языком", с использованием терминов предметной области. Вот тут ты можешь использовать знание предметной области, чтобы понять какие таблиы задействовать, какие фильтры логично наложить, где ссумировать, а где взять среднее и может даже предугадать и слегка додумать за "клиента" его требования. Дальше ты используешь технические навыки, проверяешь качество данных на всякий случай, и строишь отчетик - пишешь запрос, сохраняешь в эксельку результат. Если нужно, в эксельке добавляешь всякие няшные финтифлюшки. Отправляешь резалт клиенту.

Мой взгляд правда слегка со стороны. Меня иногда просят сделать ad-hoc запросы/отчеты, но я больше парюсь по инфраструктурным вопросам, бигдате всякой etc

436 11 ноя, 19:19 436 1293708

>>1222346 (OP)
>ЗОЧЕМ ЖИ НУЖИН ОЛАП, ЕСЛИ И ТАК ВСЕ РАБОТАЕТ ЗАЕБИСЯ
Пролистал тред, ответа не нашел

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

Ответы293712293738

437 11 ноя, 19:30 437 1293712

>>1293708
>куда развиваться аналитику
Поясню. Ну чтобы можно было придти в любую контору и сказать "вот я умею это и это, работал с этим и этим, прошел такие-сякие курсы". А то уже третий год работы идет, а из навыков программирование на уровне парсинга твиттера, бд на уровне СЕЛЕКТ АПДЕЙТ, математика на уровне линейной регрессии. Ну да, еще я умею выгружать все что угодно в excel, знаю что такое PowerPivot (и DAX соответственно), чем медиана отличается от моды, работал с ms sql, postgres, clickhouse, hadoop, teradata, sas и черт знает еще чем. Но это все как-то поверхностно что ли, а хочется какой-то ГЛУБОКОЙ аналитики, если вы понимаете о чем я.

Ответы293738

438 11 ноя, 20:21 438 1293738

>>1293712
>
>>>1293708
>>куда развиваться аналитику
>Поясню. Ну чтобы можно было придти в любую контору и сказать "вот я умею это и это, работал с этим и этим, прошел такие-сякие курсы". А то уже третий год работы идет, а из навыков программирование на уровне парсинга твиттера, бд на уровне СЕЛЕКТ АПДЕЙТ, математика на уровне линейной регрессии. Ну да, еще я умею выгружать все что угодно в excel, знаю что такое PowerPivot (и DAX соответственно), чем медиана отличается от моды, работал с ms sql, postgres, clickhouse, hadoop, teradata, sas и черт знает еще чем. Но это все как-то поверхностно что ли, а хочется какой-то ГЛУБОКОЙ аналитики, если вы понимаете о чем я.
>

Дата саенс это наверное и есть та самая глубокая аналитика. Если ты знаешь статистику то подучи её ещё немного, порубай на kaggle, выучи всякие питон либы вроде numpy,scipy,tensorflow, для визуализации что-то. Люди говорят этого недостатчно ну может недостаточно чтобы в их глазах быть труъ но вообще можно прийти с такими знаниями и уже работая реально вглубь развиться. Тут уже дело удачи и того факта что нужно очень много подавать заявок и активно искать везде, не просто открыть профиль на хедхантере и ждать.

Ответы293742

439 11 ноя, 20:21 439 1293739

>>1286229
Да.
>>1286406
Если ты ещё здесь,
Postgres

Ответы293970294038

440 11 ноя, 20:25 440 1293742

>>1293738
pandas забыл из либ. пандас оч важно

441 12 ноя, 05:59 441 1293970

>>1293739
Если тебе нужно знать о возможности удаления до попытки удаления, то есть такие варианты:

1. Вычислять наличие дочерних записей в главном запросе - это будет медленно.
2. Проверять наличие дочерних записей в момент выбора строчки - дополнительным обращением к базе (можно селектом, а можно и удалением с отловом исключения и если его нет, то делать rollback и показывать кнопку реального удаления. Если есть исключение - кнопку не показывать)
3. Проставлять в родительской таблице флаг наличия дочерних записей при вставке или удалении в подчиненные таблицы - триггерами или через хранимые процедуры, но и внешний ключ не отключать.

Но я особого смысла в этом не вижу, блокирование кнопки не очень понятно для пользователя (почему не горит кнопка? Нет прав? Где именно находятся дочерние записи и сколько их?), а если написать вменяемое сообщение на исключение (с указанием в каких таблицах есть подчиненные данные и их количество), то все будет нормально.

К тому же если у тебя будет работать больше одного человека, то предварительная проверка может быть неактуальной к моменту реального удаления.

Ответы294051

442 12 ноя, 09:50 442 1294006

top

443 12 ноя, 11:15 443 1294038

>>1293739
Так, с тобой всё понятно.

Даю неочевидный совет. Делай свои ебаные проверки ДО наступления "страхового случая".

Буквально, веди таблицу зависимостей отдельно.

Когда пользователь встает на твою ебаную запись, ты дергаешь ченить типа

TryDeleteProc которая чекнет есть ли зависимые записи опираясь на ЗАРАНЕЕ
ПОДГОТОВЛЕННЫЙ
ДАТАСЕТ

Ответы294051

444 12 ноя, 11:35 444 1294051

>>1293970
Сейчас делаю удаление с лиловом исключения, но мне кажется, это плохая практика. Про флаг не совсем понял, но на ум пришла идея завести столбец-счётчик зависимостей в родительской таблице - при удалении/добавлении в дочерней таблице декрементировать/инкрементировать соответствующее значение. Или я хуету несу?)
>>1294038
Твой способ тоже вроде бы классный.

Жаль только, что мне для крайне нежелательно редачить

Ответы294060294061294063294377

273 Кб, 1920x1080
445 12 ноя, 11:49 445 1294060

>>1294051
>>1294051
Что тебе крайне нежелательно?

Ответы294063

446 12 ноя, 11:52 446 1294061

>>1294051
Вот тебе, кстати, пример.

Хуячишь иерахический справочник

ObjectID OwnerObjectID

Соответственно, на добавлении связываемых вещей срёшь в этот справочник.

Дальше вообще изейше.

Пользователь встает на ЛЮБУЮ запись у тебя в системе, жмет делет, ты лезшь в справочник, SELECT TOP (1) FROM MyHierarchy WHERE ID =@ID AND OwnerID IS NOT NULL => водишь пользователю вялым по лицу

Ответы294081

447 12 ноя, 11:59 447 1294063

>>1294051
>>1294060
Редачить бд*

Ответы294065

448 12 ноя, 12:01 448 1294065

>>1294063
Не ну а как ты хотел? Нихуя не делая все иметь?

Я не шибко в курсе, в постгре есть такой же богатый доступ к метаданным как скульсервере?

Можно селектом поднять зависимости?

Ответы294081

449 12 ноя, 12:40 449 1294081

>>1294061
Бля кекнул с вялого. А это не будет считаться говняным костылем?
>>1294065
Хотел запросами это сделать.
> Можно селектом поднять зависимости?
Этого я как раз не ебу. Нуфаг-вкатывальщик

Ответы294160

450 12 ноя, 14:21 450 1294160

>>1294081
>Бля кекнул с вялого. А это не будет считаться говняным костылем?А почему будет? Раз у тебя появились сомнения, остуановись и ПОДУМОЙ какие минусы у такого подхода, какие плюсы.

>Этого я как раз не ебу. Нуфаг-вкатывальщик
Ну так прочитай доки, мудила, няш!

451 12 ноя, 17:39 451 1294345

Двач посоветуй что-нибудь почитать о бд пожалуйста. Только не талмуды по 2к страниц они вообще нечитаемы. Что-нибудь доходчивое, но не справочники по sql а именно про бд. Где и теория есть и примеры из реальной жизни.

Ответы294439

452 12 ноя, 18:20 452 1294377

>>1294051
Отлов эксцепшона - единственная нормальная практика.

Любые проверки до удаления могут стать неактуальными в момент фактического удаления - Вася встал на запись, которую вроде можно удалить и пошел пописать, Петя в другом городе в это время добавил к записи дочерние записи. Вася поссал и жмет УДОЛИТЬ - твои действия? Поэтому только форинкеи, только хардкор.

453 12 ноя, 20:18 453 1294439

>>1294345
>Только не талмуды по 2к страниц
Лол. Тогда советую не тебе, советую другим.
https://www.ozon.ru/context/detail/id/139953550/
https://www.ozon.ru/context/detail/id/136880774/

Ответы294676

454 13 ноя, 05:51 454 1294676

>>1294439
Спасибо, конечно. Первая выглядит прям как по заказу, о блядь, как такие талмуды читать. Да я ее пол года в лучшем случае буду читать. Времени не так уж много. Ну, буду пытаться по главам смотреть.
Спасибо

455 13 ноя, 07:06 455 1294680

Не знаю куда вопрос задать - задам тут. 0 в бд, хочу вкатиться, что читать первым?

Ответы294682

456 13 ноя, 07:32 456 1294682

>>1294680
Освой sql за 10 минут. Дальше читай реалиционную теорию бд. Потом уже по конкретным бд книги/доки.

Ответы294683

272 Кб, 691x543
457 13 ноя, 07:39 457 1294683

>>1294682
Скочал такое. Пойдет?

Ответы295047

458 13 ноя, 20:19 458 1295047

>>1294683
Для новичка?! Ты совсем ебобо?!

Ответы295245

459 14 ноя, 07:13 459 1295245

>>1295047
Если открыть первую главу, то там как раз для новичка.

71 Кб, 1140x864
460 15 ноя, 10:36 460 1295765

анончики, если прошел двухнедельный оффлайновый интенсив по sql, куда его в hh лучше вписывать, чтоб повиднее было? просто в пройденные курсы как то затеряется среди всех, может в стаж, так сказать? или типо тесты/экзамены?

Ответы295774

461 15 ноя, 10:56 461 1295774

>>1295765
Пиздежь! SELECT это DQL!

Ответы295780300844

462 15 ноя, 11:08 462 1295780

>>1295774
нам кстати препод это отметил, типо хз почему оракл решили его к этой категории отнести

463 15 ноя, 20:21 463 1295984

А по nosql нету что ли треда? совсем уже...

Ответы295989

464 15 ноя, 20:25 464 1295989

>>1295984
Есть javascript-тред, хуярь туда.

Ответы295992

465 15 ноя, 20:27 465 1295992

>>1295989
Зачем мне туда? MongoDB != JS.

Ответы295999

466 15 ноя, 20:46 466 1295999

>>1295992
Ну а на этой доске с nosql только петушки-хипстеры и знакомы.

467 18 ноя, 13:45 467 1297179

День добрый, аноны.

Может кто то сможет подсказапо по повод составления SQL запроса.

Есть SQLite3 база, содержащая временные ряды формата :

sqlite> SELECT timestamp, ask_open, bid_open FROM EUR_USD_M1 LIMIT 5;
timestamp ask_open bid_open
------------ ---------- ----------
1420149600.0 1.21109 1.21005
1420149660.0 1.21084 1.21014
1420149720.0 1.21092 1.21022
1420149780.0 1.21083 1.21022
1420149840.0 1.211 1.21035
sqlite>

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

1.21109 1.21084 1.21092
1.21084 1.21092 1.21083
1.21092 1.21083 1.211

Сейчас я то дела через python и кучу запросов в цикле вида :

SELECT ask_open FROM EUR_USD_M1 WHERE timestamp in (SELECT timestamp from EUR_USD_M1 WHERE timestamp >= 1420149600.0 AND timestamp < 1420149600.0 + 3*60;

В общем вложеные циклы, двумерные списки и прочие радости, убиващие производительность + почти 300 строк лишнего кода.
Реально ли сделать таку подготовку данных силами СУБД?

467 18 ноя, 13:45 467 1297179

День добрый, аноны.

Может кто то сможет подсказапо по повод составления SQL запроса.

Есть SQLite3 база, содержащая временные ряды формата :

sqlite> SELECT timestamp, ask_open, bid_open FROM EUR_USD_M1 LIMIT 5;
timestamp ask_open bid_open
------------ ---------- ----------
1420149600.0 1.21109 1.21005
1420149660.0 1.21084 1.21014
1420149720.0 1.21092 1.21022
1420149780.0 1.21083 1.21022
1420149840.0 1.211 1.21035
sqlite>

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

1.21109 1.21084 1.21092
1.21084 1.21092 1.21083
1.21092 1.21083 1.211

Сейчас я то дела через python и кучу запросов в цикле вида :

SELECT ask_open FROM EUR_USD_M1 WHERE timestamp in (SELECT timestamp from EUR_USD_M1 WHERE timestamp >= 1420149600.0 AND timestamp < 1420149600.0 + 3*60;

В общем вложеные циклы, двумерные списки и прочие радости, убиващие производительность + почти 300 строк лишнего кода.
Реально ли сделать таку подготовку данных силами СУБД?

Показать весь текст
Ответы297402

468 18 ноя, 21:31 468 1297381

Чому в шапке нет книжек на почитать?

469 18 ноя, 22:18 469 1297402

>>1297179
- добавь колонку с порядковым номером записи (или генерируй его на лету, если sqlite это поддерживает).
- делай два джойна с самим собой по a1.row_number = a2.row_number + 1, a2.row_number = a3.row_number + 1

Ответы297581

470 18 ноя, 23:24 470 1297426

На работе сказали, что на новом проекте придётся вместо постгреса юзать MS SQL. Там много различий? Создать новую бд, а в ней таблицы и смотреть что там да как через аналог pgAdmin возможно или такого нет?

Ответы297494

471 19 ноя, 03:28 471 1297494

>>1297426
> Там много различий?
Даже с ораклом меньше. Ну ты понял. Хотя судя по твоему вопросу, сомневаюсь.
> Создать новую бд, а в ней таблицы и смотреть что там да как через аналог pgAdmin возможно или такого нет?
Это можно с почти любой из ныне живых СУБД через какой-нибудь dbeaver.

Ответы297553

472 19 ноя, 10:17 472 1297553

>>1297494
>Даже с ораклом меньше.
Эх, так не хотелось вникать особо, надеялся что обычными SQL командами обойдусь и ладно. Придётся тогда ознакомиться.

133 Кб, 1000x999
473 19 ноя, 11:33 473 1297581

>>1297402
Решение громоздкое конечно (окно нужжно куда шире, 20-25 размером, столько же примерно и дойнов надо), но это хотя бы что то. А как индекс - таймштамп годится, и уникальный и интервал равномерный. Попробую.
Нефти тебе анон.

Ответы297612

474 19 ноя, 12:51 474 1297605

da

475 19 ноя, 13:02 475 1297612

>>1297581
>(окно нужжно куда шире, 20-25
ну напиши +20 в джойне блядь

Ответы297790

476 19 ноя, 19:31 476 1297790

>>1297612
B получу не 20 последовательных значений, а только 1е и 20е ?
Или я тебя не так понял ?
Пока получил то, что надо способом, как советовал анон выше.

sqlite> SELECT t1.timestamp, t1.ask_open, t2.ask_open, t3.ask_open FROM EUR_USD_M1 t1, EUR_USD_M1 t2, EUR_USD_M1 t3 WHERE t1.timestamp = t2.timestamp+60 AND t2.timestamp = t3.timestamp+60 LIMIT 6;
timestamp ask_open ask_open ask_open
------------ ---------- ---------- ----------
1420149720.0 1.21092 1.21084 1.21109
1420149780.0 1.21083 1.21092 1.21084
1420149840.0 1.211 1.21083 1.21092
1420149900.0 1.21062 1.211 1.21083
1420149960.0 1.21057 1.21062 1.211
1420150020.0 1.21057 1.21057 1.21062

sqlite> SELECT t1.timestamp, t1.ask_open, t2.ask_open FROM EUR_USD_M1 t1, EUR_USD_M1 t2 WHERE t1.timestamp = t2.timestamp+2*60 LIMIT 6;
timestamp ask_open ask_open
------------ ---------- ----------
1420149720.0 1.21092 1.21109
1420149780.0 1.21083 1.21084
1420149840.0 1.211 1.21092
1420149900.0 1.21062 1.21083
1420149960.0 1.21057 1.211
1420150020.0 1.21057 1.21062

sqlite> SELECT timestamp,ask_open FROM EUR_USD_M1 LIMIT 10;
timestamp ask_open
------------ ----------
1420149600.0 1.21109
1420149660.0 1.21084
1420149720.0 1.21092
1420149780.0 1.21083
1420149840.0 1.211
1420149900.0 1.21062
1420149960.0 1.21057
1420150020.0 1.21057
1420150080.0 1.21057
1420150140.0 1.21051
sqlite>

476 19 ноя, 19:31 476 1297790

>>1297612
B получу не 20 последовательных значений, а только 1е и 20е ?
Или я тебя не так понял ?
Пока получил то, что надо способом, как советовал анон выше.

sqlite> SELECT t1.timestamp, t1.ask_open, t2.ask_open, t3.ask_open FROM EUR_USD_M1 t1, EUR_USD_M1 t2, EUR_USD_M1 t3 WHERE t1.timestamp = t2.timestamp+60 AND t2.timestamp = t3.timestamp+60 LIMIT 6;
timestamp ask_open ask_open ask_open
------------ ---------- ---------- ----------
1420149720.0 1.21092 1.21084 1.21109
1420149780.0 1.21083 1.21092 1.21084
1420149840.0 1.211 1.21083 1.21092
1420149900.0 1.21062 1.211 1.21083
1420149960.0 1.21057 1.21062 1.211
1420150020.0 1.21057 1.21057 1.21062

sqlite> SELECT t1.timestamp, t1.ask_open, t2.ask_open FROM EUR_USD_M1 t1, EUR_USD_M1 t2 WHERE t1.timestamp = t2.timestamp+2*60 LIMIT 6;
timestamp ask_open ask_open
------------ ---------- ----------
1420149720.0 1.21092 1.21109
1420149780.0 1.21083 1.21084
1420149840.0 1.211 1.21092
1420149900.0 1.21062 1.21083
1420149960.0 1.21057 1.211
1420150020.0 1.21057 1.21062

sqlite> SELECT timestamp,ask_open FROM EUR_USD_M1 LIMIT 10;
timestamp ask_open
------------ ----------
1420149600.0 1.21109
1420149660.0 1.21084
1420149720.0 1.21092
1420149780.0 1.21083
1420149840.0 1.211
1420149900.0 1.21062
1420149960.0 1.21057
1420150020.0 1.21057
1420150080.0 1.21057
1420150140.0 1.21051
sqlite>

Показать весь текст
Ответы297857299484

477 19 ноя, 21:55 477 1297857

>>1297790
В последнем sqlite недавно windows функции ввели как в постгре. То что тебе нужно. https://www.sqlite.org/windowfunctions.html

Ответы300115

478 22 ноя, 11:53 478 1299484

>>1297790
Я тебя сам не понимаю.

Уесли ты джойнишь по условию

left.numeruc_id =< right.numeric_id+N то твое N задает ширину окна.

При N = 3 для left.numeric_id = 1 дадут 4 записи из right 1,2,3,4
и так далее

Ответы300115

479 23 ноя, 14:28 479 1300115

>>1297857
>https://www.sqlite.org/windowfunctions.html
О, Спасибо, гляну !

>>1299484
Возможно дело во мне, я в жизни с SQL имел дело только в виде простых select запросов.

sqlite> SELECT t1.timestamp, t1.ask_open, t2.ask_open FROM EUR_USD_M1 t1, EUR_USD_M1 t2 WHERE t1.timestamp <= t2.timestamp+20*60 LIMIT 6;
1420149600.0|1.21109|1.21109
1420149600.0|1.21109|1.21084
1420149600.0|1.21109|1.21092
1420149600.0|1.21109|1.21083
1420149600.0|1.21109|1.211
1420149600.0|1.21109|1.21062

480 24 ноя, 13:58 480 1300486

>>1291827
>>Трисет тебя потому
Уже меньше трисет, вкатываюсь по тихоньку. Чуть перестроил мышление с програмиссткого подхода в базоданновый.
>>Этого не слушай, тащить за собой данные можно. Например в курсоре.
О курсорах, представлениях и виртуальных таблицах уже имею некое понятие. И они и правда далеко не всегда нужны.

У меня такой вопрос - какие фильтры выполняются первыми при объединении таблиц - те что в инструкции
INNER JOIN tab1 ON ... = ... AND....
Или те что после
WHERE ....
установлены?

Ответы300844

481 25 ноя, 12:15 481 1300844

>>1295774
Ну вообще, если уж присмотреться, то DML не является подмножеством DDL и никто сомневается, что это разные вещи
А вот селект (ну ладно, DQL) - это как раз подмножество DML.
Ну и при выполнении DML тебе необходимо читать данные с диска - оперировать данными - а селект тоже делает именно это. Вот тебе и DML.
да что с этой капчей

>>1300486
При внутреннем джойне - однохуйственно.
При внешних - для основной таблицы правила как при обычном джойне, а для присоединяемой - сначала on, потом where.

482 27 ноя, 23:58 482 1302247

В базе есть столб с датой рождения, как выбрать всех кому исполнилось 18 на момент запроса?

483 28 ноя, 00:36 483 1302266

>>1222346 (OP)
Мимокрокодил и наткнулся на https://habr.com/company/mailru/blog/266811/
К БД отношения почти не имею, так что не обосцывайте.
1.
"
Например, нам нужно в таблице объединить две колонки: «фамилия» и «имя». Благодаря статистике БД знает, что в ней содержится 1 000 уникальных значений «имя» и 1 000 000 — «фамилия». Поэтому база объединит данные именно в таком порядке — «фамилия, имя», а не «имя, фамилия»: это требует гораздо меньше операций сравнения, поскольку вероятность совпадения фамилий гораздо ниже, и в большинстве случаев для сравнения достаточно брать 2-3 первые буквы фамилии. "

Вопрос - почему и о каких операциях сравнения идет речь?

2. Еще где-то видел(ну или я дебил так подумал), что писать:
SELECT FROM TABLE1 JOIN
(SELECT FROM TABLE2 WHERE CONDITION)
ON TABLE1.ID = TABLE2.REF_ID1

Нету смысла, и эквивалентно по скорости работы

SELECT * FROM TABLE1, TABLE
WHERE ID=REF_ID AND CONDITION

Хотя для меня это не очевидно. Казалось бы, вначале отфитровал вторую таблицу, откинул часть данных, и потом сделал join - должно быть быстрее, чем сначала сджойнить кучу данных и потом фильтровать

Ответы302333

484 28 ноя, 08:44 484 1302333

>>1302266
>https://habr.com/company/mailru/blog/266811/

>Вопрос - почему и о каких операциях сравнения идет речь?
Мимо с 2005 кодирую на скуле. Я так понимаю, он говорит про создание Cartesian product.
(Вася, Петя) * (Иванов, Петров, Сидоров) => (Вася Иванов, Вася Петров, Вася Сидоров, Петя Иванов, Петя Петров, Петя Сидоров)

Если у тебя в таблице слева (Вася, Вася, Вася, Петя) а в таблице справа (Сидоров, Сидоров, ........ Сидоров) то статистика подсказывает какой физический вид джойна выбрать, и какую таблицу брать "входной" если выбран nested loop , а при такой разнице размеров будет выбран скорее всего он.

> Еще где-то видел(ну или я дебил так подумал), что писать:
Гуглируй последовательность выполнения инструкций СЕЛЕКТА, если мы говорим о MS SQL

Ответы302460

485 28 ноя, 13:11 485 1302460

>>1302333
> какую таблицу брать "входной" если выбран nested loop
Какая разница, что брать в качестве внешнего, а что в качестве внутреннего цикла, в обоих же случаях O(n*m) (я про наивную реализацию, само собой)

Все равно, не понимаю о каких операциях сравнения идет речь.
Если о сравнении таплов в целом
(Вася, Иванов), (Вася, Петров) сравнить стоит дороже чем
(Петров, Вася) (Иванов, Вася) - то это ясно, нок чему это все сказано - не понятно

Ответы302488

486 28 ноя, 15:01 486 1302488

>>1302460
Потому, что когда ты делаешь деКартево произведенее, тебе надо умножитьб всё на всё. Логично ОДНО из этого всего сжать до
distinct значений, чтоб лишний раз в булочкную не бегатью.

Когда ты делаешь этот дистинкт, надо сравнивать.

Ответы302620

487 28 ноя, 18:50 487 1302562

Посоветуйте книгу, чтоб основательно и все разжеванно. А не вот таблички, вот связи, вот запросы пишем, конец. На таком уровне SQL я знаю, интересуют именно подробности, чтоб с джоайнами, ордерами и оптимальными запросами. На чистом SQL не пишу, но Рейлс запросы транслируются в него, и получается ужас, не ожидал такой огромной разницы между pluck и select.

962 Кб, 1280x720
488 28 ноя, 20:38 488 1302615

ВНИМАНИЕ ВОПРОС

Самая быстрая бд для поиска по 100 млн записям с сортировкой по 20 параметрам?

Ответы302622

489 28 ноя, 20:41 489 1302620

>>1302488
Воооот. Теперь понятно что откуда и почему.
Спасибо

490 28 ноя, 20:48 490 1302622

>>1302615
Хотя можно без сортировки, просто селект 100 записей из 100 млн

Ответы302651

491 28 ноя, 21:32 491 1302651

>>1302622
Для скорости есть индексы. Все от них и зависит.
Без индексов, самая быстрая бд - это файловая система.

Ответы302662

492 28 ноя, 21:45 492 1302662

>>1302651
Для файловой системы надо движок писать, если бы я этим хотел заниматься, то так и сделал бы

Ответы302665

493 28 ноя, 21:50 493 1302665

>>1302662
Нет. Скорость доступа прямопропорционально затратам по памяти. Если в СУБД ты используешь индексы, и чем больше индексов, тем выше и скорость и оверзед, то же самое и с ФС. Отображай свои структуры на структуры фс и никакой движок кроме чтения списков файлов\самих файлов и записи файлов\создвния тебе не нужен. Но и затраты по памяти будут очевидно выше.

ФС это тоже БД. Иерархическая БД. У нее уже есть движок. Без движка и нет никакой ФС.

Ответы302667

494 28 ноя, 21:51 494 1302667

>>1302665
>тем выше и скорость и оверхед,
тем выше скорость доступа и оверхед по памяти*

495 29 ноя, 15:18 495 1303172

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

Ответы303197

496 29 ноя, 16:35 496 1303197

>>1303172
огромными потерями быстродействия потому, чтоперестройка индексов это как процессорное время так и ИО с твоих хардов

Ответы303246

497 29 ноя, 18:30 497 1303246

>>1303197
Но перестройка будет производиться только при изменении данных?

Ответы303252

498 29 ноя, 18:45 498 1303252

>>1303246
Изменении и добавлении, да.

499 2 дек, 00:38 499 1304576

Сап програмач, помоги. Пишу сайтик с MSSQL. Есть таблица, в которой нужно хранить две JSON строки, притом что одна из них может быть около 5-10 тысяч символов. Что-то мне подсказывает что просто хранить их в столбцах не вариант ( размер может быть и ещё больше). Подскажите как всё сделать хорошо.

500 2 дек, 14:45 500 1304761

Почему 4 и 5 нормальные формы почти нигде не рассматривают?

Ответы304816

501 2 дек, 16:13 501 1304816

>>1304761
Они оторваны от БТ.

Ответы304821

502 2 дек, 16:22 502 1304821

>>1304816
От чего?

Ответы304848304849304868

503 2 дек, 17:05 503 1304848

>>1304821
>От чего?
От требований бизнеса.

504 2 дек, 17:07 504 1304849

>>1304821
От БТ.

505 2 дек, 17:44 505 1304868

>>1304821
От Бугурт-Треда

506 3 дек, 00:06 506 1305091

Посоны, помогите с запросом PostgreSQL:

Есть одна база, ЕОБ, в ней одна таблица а в ней 100 миллионов строк-фраз. Мне нужно делать выборку по длииииинному списку тысяч на 10-20-30 из неё. То есть мне нужно делать выборку по данным из другой таблицы единоразово. Я сделаю индексацию, но не шарю в синтаксисе. Я чета делал JOIN - он мне выдает полные совпадения - типа apple - apple, а мне нужно apple -> green apple, karasique appletini и т.д. (нужен только итоговую выборку сохранить в файл).

Короче, выручайте - скину на мороженку. А то я с grep'ом буду ждать до морковкиного заговенья. Знающие люди пишут, что нужно колдовать с функциями - т.е. я так понял, циклом пробегаться по второй таблице и чекать первую.

Ответы305151

507 3 дек, 04:12 507 1305151

>>1305091

Если я тебя правильно понял, попробуй:

select
a.yoba_name,
b.yoba_name
from yoba1 a
join yoba2 b lower(b.yoba_name) like '%'||lower(a.yoba_name)||'%'
where a.yoba_name in ('apple', 'double', 'triple')

Lower нужен если у тебя в разном регистре данные, если это так, то индекс по yoba2.yoba_name нужно строить по lower(a.yoba_name) и в запросе к полю обращаться с функцией, указанной в индексе.
Для yoba1 тоже строишь индекс по yoba_name, если необходимо - с lower.
Если значения гарантировано уникальные - делай уникальные индексы, будет быстрее.

Ответы305204305220

508 3 дек, 09:40 508 1305204

>>1305151
>join yoba2 b lower(b.yoba_name) like '%'||lower(a.yoba_name)||'%'
join yoba2 b on lower(b.yoba_name) like '%'||lower(a.yoba_name)||'%'

509 3 дек, 10:02 509 1305220

>>1305151
Братишка, спасибо. Но мне нужно не по apple - это я для примера же привел. Мне нужно вообще по всем значениям из второй таблицы. Во второй таблице искомые слова, а в первой большой многомиллионный список, откуда выбираем. Вот так.

Ответы305327

510 3 дек, 15:35 510 1305327

>>1305220
Ну так тебе анон и написал.
В одной таблице у тебя данные, во второй - справочник с нужными значениями.
И по его запросу ты получишь все строки из первой таблицы, которые так или иначе содержат в себе какое-либо слово из второй таблицы.
Только учти, что в итоге ты для строки "Вася и Петя" и наличия во второй таблице строк "Вася" и "Петя" получишь дубли.
Потому тебе нужно что-то вроде SELECT DISTINCT a.yoba_name FROM ...

Ответы305331

511 3 дек, 15:38 511 1305331

>>1305327
> Потому тебе нужно что-то вроде SELECT DISTINCT a.yoba_name FROM ...
b.yoba_name, фикс

А чтобы у тебя был не по яблоку поиск, просто убери фильтр - сотри строку с where ...

Ответы305429

512 3 дек, 19:41 512 1305429

>>1305331
Спасибо, сейчас протестирую

513 5 дек, 13:01 513 1306325

Не особо шарю в сукиэле и базах данных так что помогите пожалусто. Тип есть 2 бд, в одной список стульев в другой список хуёв, хуи разные все кароч, и допустим у каждого стула свой набор хуёв, собсна их нада записать в бд, а как блять? У меня в голове только к полю id и name добавить поле dicks_id где через запятую указать id хуёв.

514 5 дек, 21:14 514 1306614

Перекот себе делайте, я не буду

Ответы307140

515 6 дек, 17:25 515 1307033

как хранить оценки, например, по шкале от 1 до 10? на ум приходит создать таблицу с возможными оценками, но это как будто костыль какой-то ебучий. как сделать шобы нельзя было ввести число больше 10, меньше 1? postgresql

Ответы307038

516 6 дек, 17:42 516 1307038

>>1307033
На самом деле справочник оценок в отдельной таблице - нормальное решение.

Можно сделать историчность оценок - например, оценка "1" действовала с 01.01.1900 по 12.12.2017, а оценка "3+" - с 01.01.2005 по 02.02.2013.
Можешь сделать так, чтобы по физкультуре, к примеру, были 10-балльные оценки, а по музыке - 3 балльные.

А можешь просто check_constraint сделать типа yoba_mark between 0 and 10.
Но в этом случае будь готов к всяким граблям, которые неизбежно вылезут если систему оценок нужно будет хоть немного модифицировать/расширить.

Ответы307040

517 6 дек, 17:46 517 1307040

>>1307038
понял-принял, спасибо.

518 6 дек, 20:54 518 1307131

хочу скопировать чужую бд, для этого мне нужно запустить дамп этой бд (не уверен, что правильно называю, короче .sql файл, который создает таблицы и инсертит данные в ниХ) , а там везде вместо одинарных кавычек ' стоят ` . как быть? postgres

Ответы307163

519 6 дек, 21:26 519 1307140

>>1306614
Оп ?, шапка заебись, но ящетаю в ней не хватает учебников для вкатывальщиков меня.
Есть какие нибудь идеи на этот счет?

Ответы307156

Аноним 520 6 дек, 22:01 520 1307156

>>1307140
Тред перечитай.

521 6 дек, 22:07 521 1307163

>>1307131
короче похуй, написал скриптфиксящий это говно

522 9 дек, 00:50 522 1308323

Сильно ли SSD увеличит скорость чтения из базы? Прямо пропорционально увеличению скорости диска?

Оперативка играет роль?

Ответы308335

523 9 дек, 01:42 523 1308335

>>1308323
Я думаю, что оба ответа - "да".
Первый: это логично, черт возьми. Чтение с диска - всегда боттлнек для базы, потому тот же оракл выделяет у себя в SGA горячие блоки, чтобы не читать лишний раз с диска.
Второе: определенно. Сервер же должен считать данные и как-то их сохранить, чтобы показать тебеу меня так коллега случайно съел 340 гигов оперативы. Или же сохранить промежуточные данные для выполнения запроса.я, почти случайно, таким образом съел 304 гига оперативы

Ответы308347

524 9 дек, 02:36 524 1308347

>>1308335
У меня база предполагается 60 гигабутов, самый максимальный запрос по индексам сможет выбрать 6 млн строк для обработки, это 6 гб примерно, так что оперативка вряд ли забьется, если хоть 8 гб будет

525 9 дек, 02:37 525 1308348

Кстати раз уж на то пошло, где можно облачный хостинг купить в оплатой по потребляемым ресурсам?

Ответы308349

526 9 дек, 02:38 526 1308349

>>1308348
и чтоб ссдшки быстрые были. Или тут только дедик?

527 12 дек, 00:17 527 1309940

Привет, анон. Вопрос о противостоянии производительности и поддержки кода в oracle pl/sql.

Есть цикл, на каждом шаге которого вызываются процедуры, которые создают записи в определенных таблицах, каждая процедура работает со своей таблицей. Ключи, по которым можно найти созданные записи определяются на каждой итерации.
В конце итерации нужно проверить, создалась ли хотя бы одна запись хотя бы в одной таблице. Можно тупо делать select count(1) from t where rownum = 1 and key_val = :0 для каждой таблицы.
Но я реализовал процедуры таким образом, что одним из исходящих параметров является флаг, который каждой процедурой переводится в true, если была создана хотя бы одна запись своей таблицы.
В каждый вызов процедуры передается одна и та же bool-переменная, назовем ее b. Т.е. в начале итерации b=false, любая процедура может сделать b=true. В конце итерации проверяем значение b.

Насколько мой подход оправдан? С одной стороны не нужно делать лишние селекты на каждой итерации, хоть и быстрые, с другой приходится вводить "глобальную" по отношению к процедурам переменную.

Ответы309974

528 12 дек, 04:13 528 1309974

>>1309940
Оправдан, нормальный подход.
Ты же переменную при вызове передаешь, значит, она не глобальная.

529 17 дек, 15:53 529 1312596

Есть ли смысл большую таблицу (несколько млн) в мускуле разбить на две, условно говоря в 1 мужчины, в 2 женщины или просто индекса достаточно?

Ответы312659

530 17 дек, 17:27 530 1312659

>>1312596
Две таблицы - это трэш.
Если поле неселективное (мужчины/женщины ~50/50) то индекс не нужен.
Спокойно все складывай в одну таблицу.

448 Кб, 1920x1080
531 17 дек, 18:44 531 1312709

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

Ответы312720

532 17 дек, 19:09 532 1312720

>>1312709
Ну, во-первых, в последнем подселекте у тебя фром склеился с ауткамом.
А во-вторых - в первом селекте у тебя два поля, а в последующих - по одному. Как ты собираешься сделать юнион? Список полей и их типы должны соответствовать/быть приводимы друг к другу.
В-третьих - у тебя в третьей строчке стоит точка с запятой, которая не даст захватить кусок с запросами ниже.
В-четвертых - select point, date, from.
Не хочешь после даты указать ещё одно поле или убрать запятую? Вот у тебя и парсер с ума сходит.

Ответы312731

533 17 дек, 19:20 533 1312731

>>1312720
Спасибо за ответ, а каким способом мне тогда лучше объединить эти таблицы если не юнионом? по заданию, если я не ошибаюсь нужно вывести inc и out вдобавок к point и date

Ответы312764

534 17 дек, 20:28 534 1312764

>>1312731
А что ты будешь делать, если у тебя был приход и расход в один день?
Это full join, тут по-другому никак. Тебе нужны все даты и суммы из таблицы приходов, а вместе с ними - и все даты и суммы и таблицы расходов. Здесь тебе поможет nvl.

Честно говоря, я до sql-ex с SQL общался только в универе (не ходил на пары и списал на экзамене). Решил нужное количество задач + дополнительные (не с сайта) и работаю разработчиком, лул.

535 17 дек, 20:58 535 1312790

Аноны, есть два дампа одной и той же базы данных, с разнице в 3 недели.
Структура таблиц не изменялась за это время, только добавлялись новые данные.
Но с первым дампом всё работает отлично, а со вторым приложение крашится т.к. отсутствуют какие-то данные.
Вопрос:
Будет ли иметь смысл накатываение старого дампа потом нового(с дописыванием новых данных)? Если да, то как такое провернуть(какой командой ну или хотя бы как правильно спросить у гугла)?

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

p.s. PostgreSQL 9.6, Debian 9

Ответы313029

536 18 дек, 01:27 536 1312895

ПЕРЕКАТ https://2ch.hk/pr/res/1312894.html (М)

ПЕРЕКАТ https://2ch.hk/pr/res/1312894.html (М)

ПЕРЕКАТ https://2ch.hk/pr/res/1312894.html (М)

ПЕРЕКАТ https://2ch.hk/pr/res/1312894.html (М)

ПЕРЕКАТ https://2ch.hk/pr/res/1312894.html (М)

537 18 дек, 13:54 537 1313029

>>1312790
Накати параллельно со старой работающей новую и просто напиши миграции из всех таблиц, в которых появились данные, из новой неработающей бд в старую работающую.

Ответы313078

538 18 дек, 15:33 538 1313078

>>1313029
Дело в том, что таблиц там 610, и данные обночвились в 99% из них, поэтому ищу +/- готовый инструмент.
И, да, я не спец в БД и редко пишу что-то сложнее обычных селектов/инсертов и прочего.
Но я готов изучать литературу/документацию, главное знать бы какую и как искать

Ответы313512

539 19 дек, 13:28 539 1313512

>>1313078
>Приложение крашится.

Ну так вопросы к приложению, а не к бд. Значит, какие-то говноданные там, или приложение как-то не умеет с новыми данными работать.

Ответы313843

540 19 дек, 23:12 540 1313843

>>1313512
Дело в том, что приложение одно и тоже(CRM система).
На продакшен-сервере оно отрабатывает корректно с той базой данных, которая есть.
А вот это же приложение на дампе - падает, что на новом, что на старом(как оказалось, я просто тестил хуйово, и оно всё же падает, просто без глобальной ошибки, а вылазит небольшое окно с инфомрацией, после долгой загрузки), в одном и том же месте.
К БД продакшен-сервера мне не дали подключиться и протестить с ней.
А я и хуй забил.

Тред утонул или удален.
Это копия, сохраненная 3 января 2019 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion