Главная Настройка Mobile Контакты NSFW Каталог Пожертвования Купить пасскод Pics Adult Pics API Архив Реквест доски Каталог стикеров Реклама
Доски


[Ответить в тред] Ответить в тред

Check this out!


[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 562 | 46 | 241
Назад Вниз Каталог Обновить

ЕДИНЫЙ БАЗ ДАННЫХ ТРЭД Аноним 30/07/17 Вск 10:50:30  1034303  
IMG0350.PNG (109Кб, 1061x973)
И снова это неиндексированный баз данных тред!
Тут мы решаем ультраважные вопросы о том, как правильно хранить динамические атрибуты сущностей: в полях или в строках,
Рассказываем, как работаем аналитиками и мечтаем стать разработчиками,
Строим АНАЛИТИЧЕСКИЕ отчеты в экселе, выгружая по миллиону строк, а потом фильтруя,
Дружно не понимаем, ЗОЧЕМ ЖИ НУЖИН ОЛАП, ЕСЛИ И ТАК ВСЕ РАБОТАЕТ ЗАЕБИСЯ,
Ищем ошибки в аббривиатурах 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к не получаем.
А так же:
Постгре или постгрес?
Май эс ку эль или мускуль?
Эс ку эль или сиквел?

В общем, это очередной баз данных тред, поехали!
Аноним 30/07/17 Вск 10:55:27  1034305
Хороший тред, освятил.

120к
Аноним 30/07/17 Вск 13:21:58  1034339
>>1034303 (OP)
Анон, я вот шарю SQL(джойны, груп бай все дела), использую MySQL, и думал этого достаточно для погромиста. Но вот читал ресурсы некоторые и там к знаниям этим еще приписывают всякие нормализации, оптимизации, индексы - я не ебу что это все значит. Что почитать, чтобы расширить кругозор?
Аноним 30/07/17 Вск 13:27:09  1034340
>>1034339
Скл.сру, там, в принципе, уже все давно разжевано:
http://www.sql.ru/articles/mssql/03013101indexes.shtml

Аноним 30/07/17 Вск 13:28:10  1034341
>>1034339
Если ты вебер, а не разраб бд, то вполне достаточно, думаю.
Разрабу бд, как раз, все что ты написал, тоже желательно изучить.
Аноним 30/07/17 Вск 13:29:28  1034342
>>1034339
Нормализации.
Коротко - Википедия (того, что там написано, действительно хватит для общего кругозора и вопросов на собеседовании), длинно - К. Дж. Дейт "Введение в базы данных".
Оптимизация, индексы - тут уже конкретно по интересующим тебя СУБД. Если Oracle, то это великолепный Том Кайт. Аналогов в других СУБД я не знаю. Кто-нибудь знает.
Аноним 31/07/17 Пнд 11:17:41  1034784
https://m.hh.ru/vacancy/20873637

Топ вакансию вам принес. Даже интересно, сколько там платят, мне кажется заебись. Как жаль, что я не шарю ETL. А если бы и зашарил, нахуй я нужен без практического опыта работы. Похоже, мой потолок это всю жизнь писать sql-запросы.
Аноним 31/07/17 Пнд 13:52:23  1034835
>>1034784
Да просто почитай про средства ETL для оракл, и все. Если ты хорошо шаришь в БД и структурном подходе, то ты быстро освоишь.
Аноним 31/07/17 Пнд 13:55:38  1034838
>>1034835
Так и сделаю! Ща только Кайта дочитаю и буду ETL изучать специально!
Аноним 31/07/17 Пнд 16:00:48  1034908
1.png (7Кб, 340x252)
Oracle 11gR2
Несмотря на то, что в аналитических функциях указываются v1 и v2, значение аналитической функции считается по v2.
Что за ебанутый косяк?
От функции не зависит, с sum та же история. Поодиночке отрабатывает нормально.
Аноним 31/07/17 Пнд 16:01:38  1034910
>>1034908
Для большего количества строк та же история.
Аноним 31/07/17 Пнд 17:18:02  1034940
>>1034908
Попробуй не юзать цте, положи сначала в табличку свои рандомы, а потом уже посчитай, что хочешь.
Аноним 31/07/17 Пнд 17:21:25  1034946
>>1034940
Да, спасибо. В общем-то это не самое важное в жизни.
Просто тупенько как-то выходит. Я бы ещё понял, если бы в каждом столбце свой рандом высчитывался, а так совсем фигня получается.
Кстати, если сделать прямую подстановку рандома в две агрегатные функции, он вернёт другое случайное значение, но одинаковое. А если функции разные, то и рандомы разные.
Аноним 31/07/17 Пнд 20:37:22  1035051
бд.png (8Кб, 444x198)
>>1034908
Использование хинта materialize в конструкции with заставляет отрабатывать этот вопрос так, как мне нужно. Этот хинт сохраняет результат запроса в конструкции with как временную таблицу и оперирует с ее значениями, не вызывая dbms_random в самом запросе. Жаль, что не догадался до этого сразу, только сейчас осенило.

Надеюсь, информация была кому-то полезной.
Аноним 01/08/17 Втр 14:21:50  1035460
Кто круче, DBA или DBD (developer). Кому больше платят? Что перспективнее?
Аноним 01/08/17 Втр 15:17:50  1035477
>>1035460
Платят одинакого зачастую.
Тут вопрос нн в том, что лучше, а в том, что интереснее.
Ну и добавлю еще, что разраб, все-таки, тоже должен уметь в администрирование.
Все вот это вот:
Фаервол-рулзы для субд,
Индексы,
Джобы
Юзеры и группы, права
Это, вроде как, дба-шная херь, но если ты, как разраб, это не умеешь, то и стоить будешь меньше.
Есть куча контор, где вообще дба, как таковой, отсутствует. Знаю, потому что сам в такой работаю.
Аноним 01/08/17 Втр 15:27:39  1035484
>>1035477
Сам сколько в месяц в среднем зарабатываешь? Если не ДС, можешь не отвечать.

Насчёт знаний это понятно, конечно, я чисто по специальности интересуюсь, в моем понимании dba следит за тем, чтобы все работало, а разработчик реализует функционал
Аноним 01/08/17 Втр 17:55:40  1035575
>>1035051
охуенный хинт, возьму на заметку, т.е. с ним и производительность должна подрасти, т.к. в CTE можно вынести тяжелый запрос?
Аноним 01/08/17 Втр 17:56:42  1035577
>>1035051
Спасибо, а почему все-таки dbms_random.value выдает одно и то же значение? И как узнал про этот хинт?
Аноним 01/08/17 Втр 18:10:45  1035590
>>1035577
Не знаю. Тонкости реализации оракла, не более. Не углублялся в вопрос. Как видишь, оракл считает, что где-то ему нужно посчитать новый рандом, а где-то воспользоваться уже просчитанным. Один хуй в реальной жизни никто не использует рандом, я тестил одну хуйнюшку и заметил случайно?
Как узнал? Хз. Один из топ используемых на работе хинтов. Не помню, что было раньше, прочитал ли я о нем где-то или пришел на эту работу и стал активно юзать.

>>1035575
Аккуратнее!
Хинт означает, что результат твоего запроса будет храниться в памяти. Если у тебя огромное количество записей, хранить его в памяти накладно. Только проебешь в производительности.
Если тебе нужно сохранить результат какого-то охуевшего запроса с охуевшим количеством строк, проще создать для него обычную временную таблицу.
Аноним 01/08/17 Втр 18:11:12  1035591
>>1035577
Наверно, потому что это псевдорандом, во многих яп генератор рандомных чисел так сделан.
Аноним 01/08/17 Втр 18:14:55  1035594
Сап, аноны. Пишет кун, который сейчас ходит по собеседованиям, пытаюсь примерно оценить перспективы дальнейшего развития как dbd и классифицировать проекты, предлагаемые на рынке. Пока вот такой список:
1. Банки. Это в основном отчетность и etl, зарплаты норм в ДС и ДС2. Из плюсов норм зарплата, предметная область и возможность роста.
2. Легаси-проекты, разработанные и поддерживаемые относительно крупными компаниями: системы биллинга, АБС и т.п. Возможно плюсом будет то, что заниматься придется все-таки разработкой, а не клепанием отчетиков. Из минусов - это легаси, возможно придется долго и нудно погружаться в предметку, ковыряться в говнокоде столетней давности.
3. Шаражки - все плюсы и минусы мелких компаний, проектов мало, о новых не слышал.
4. Мобильные операторы и торговые сети. Часто вижу вакансии разрабов у МТС, Мегафона, Магнита, Окей и т.д. Чем там придется заниматься? Есть предположение, что обслуживать то, что разрабатывают компании из п. 2 и отчетики как в п. 1. Подтвердите или опровергните.
5. Аутсорсеры, например Люксофт, тоже в основном легаси, но возможно есть и интересные проекты.,
Речь идет о секторе РСУБД, всевозможные nosql, key-value и прочие бд не рассматривались.
Какие перспективы видите у разработчика RDBMS?
Аноним 01/08/17 Втр 18:37:28  1035613
>>1035484
Дс, 100к, с августа перекатываюсь на 120.
Аноним 01/08/17 Втр 18:38:22  1035614
>>1035590
Думал, что сначала выполняется запрос CTE, а потом результат его выполнения джойнится с другими таблицами. Дело в том, что у меня есть большая вьюха где в CTE находится рекурсивный запрос, который выводит даты начала каждого месяца начиная с текущего и до месяца двумя годами ранее, затем эта CTE джойнится в нескольких запросах, объединенных через union all.В моем случае будет выигрыш от помещения CTE в память, т.к. таблица по сути маленькая, как считаетt?
Аноним 01/08/17 Втр 18:40:42  1035616

>>1035614
Канеш, будет, особенно, если у тебя там рекурсия, а результат мелкий - однозначно выйграешь.
Аноним 01/08/17 Втр 18:42:08  1035619
>>1035594
Я не согласен по пункту 2. Мне доводилось заниматься поддержкой OLTP-системы. Не АБС, потому что дело было не в банке, но суть та же. Скажу, что у меня на отчетиках программирование более интеллектуальное, чем там. Обобщать на всё я, разумеется, не буду.
По пункту 4, я думаю, да, везде есть своя аналитическая отчётность.
Вспомнил про телеком. Ходил как-то на собеседование от одной днищной конторы-интегратора, которая мутит проект для топ3-оператора. Начальник, который меня собеседовал, закончил мой вуз, чуть ли не со старта сказал, что готов меня взять. А потом начал рассказывать, что проект нудный и хуевый, что карьерного и личностного роста я там не дождусь и все такое прочее. Хороший мужик.
Как попадать в аутсорс-компании мне неведомо. По ораклу все вакансии, что я находил, были в российских компаниях.

Какие перспективы тебе нужны? Психологические 100к везде можно зарабатывать, если чуть-чуть постараться. А дальше я не знаю.
Аноним 01/08/17 Втр 18:44:02  1035620
>>1035614
Ну да.

>>1035613
А вы тут, кстати, зарплаты в net или gross называете?
Аноним 01/08/17 Втр 18:53:19  1035630
>>1035619
Перспективы метнутся на 200к+ интересуют, подозреваю, что с такой узкой специализацией сделать это не просто. Ну и хотелось бы интересной работы, чтобы было место хотя бы немного изобретательству, пока сидел в треде, как-то пришло осознание, что sql в конкретных реализациях тоже весьма интересен сам по себе, хинты, планы запросов, оптимизация вот это все, а программирование на процедурном расширении по большей части в тот же sql упирается, только с циклами и if. Возможно стоит копать в сторону ETL и дальше развиваться как архитектор хранилищ данных, хз.
Аноним 01/08/17 Втр 19:06:55  1035641
>>1035630
Полагаю, что только в узкой специализации можно метнуться на 200к+. А мастер на все руки, не являющийся охуенным спецом хоть в чем-то, вряд ли кому-то нужен.
Другой вопрос, насколько высок шанс поднимать такую зп, будучи разработчиком бд, по сравнению со всеми остальными специальностями. По моим наблюдениям больше 200к зарабатывают только на руководящих должностях, причем не начальники отделов, а повыше.
Впрочем, опыта у меня немного и, возможно, я просто попадал не в те конторы.
Посмотрим.
Хочу до посинения дрочить и углубляться в БД.
Аноним 01/08/17 Втр 21:27:25  1035726
>>1035620
Да господи, только даун будет говорить про зп В Гросс, нахуя это нужно, вообще?
Я лично говорю всегда только о чистяее.
Аноним 01/08/17 Втр 22:16:01  1035759
>>1035726
У тебя будет 120к чистыми? Респект...
Аноним 02/08/17 Срд 01:22:02  1035848
>>1035641
Плохая идея. Не будешь ты иметь там много денег.
Помимо бд советую какой-нибудь бэк-енд базис иметь, если мс скл, то сисярп (асп нет), если оракл, то ява, если май скл, то пыха.
Вот с такими знаниями ты наверняка будешь дорого стоить.
Аноним 02/08/17 Срд 10:17:00  1035951
>>1035848
Может быть я и двину в эту сторону.
Но у меня нет цели быть великим программистом, я хочу быть лучшим специалистом по базам данных в России.
Аноним 02/08/17 Срд 12:15:54  1036017
>>1035951
Даже лучше ОПа, пишущего такие божественные запросы, как на ОП-пике?
Аноним 02/08/17 Срд 12:33:31  1036027
>>1036017
Опа надо обоссать за создание колонки, фуллскан таблицы с ее заполнением, созданием индекса, удалением строк с этой заполненной колонкой и удалением колонки вместо одного простого dml с удалением строк.
Аноним 02/08/17 Срд 12:48:28  1036033
Ваш топ-ораклист на связи. Откликнулся недавно на одну вакансию, сейчас позвали. Не банк, но приличная контора, если без деанона.
Заниматься придется в том числе etl. На месте уже уточню, что конкретно будет и в каких пропорциях.
Сказали, что мои охуевшие зарплатные ожидания они не удовлетворят, но 130-140к(gross) максимум готовы дать. На 140 буду согласен, конечно, главное, чтобы это не вылилось в стандартное "давай ты сейчас да мелкий прайс повъебываешь и мы тебе через годик 140к дадим".
Аноним 02/08/17 Срд 13:04:48  1036042
>>1036027
Так там же индекс, чего ты, в самом деле, быстро же все будет.
Аноним 02/08/17 Срд 13:21:44  1036049
>>1036042
Там один хуй фуллскан таблицы при обновлении.
Аноним 02/08/17 Срд 15:07:27  1036093
Сап.

Есть таблица, в одной из колонок которой хранятся размеры файлов в байтах.
Суть в том, что надо вытаскивать данные о том, какое количество файлов имеют размер меньше заданного, причём делается это для большого количества границ. Например, если максимальный размер 10МБ, то надо вытащить <2, <4, <6, <8, <10.
Сейчас это сделано селектом в цикле со стороны приложения. Таблица большая (20к строк, на слабом железе) и это работает достаточно медленно.

Так вот, как можно оптимизировать эту операцию, анон?
Аноним 02/08/17 Срд 15:12:28  1036095
>>1036033
Привет, расскажи, пожалуйста, подробнее, чем занимается контора и каковы твои обязанности, кроме etl?
Аноним 02/08/17 Срд 15:15:45  1036096
>>1036093
Сап, т.е. в цикле примерно такой
запрос:
select count(id)
from table_name
where size_b < n,
где n с каждой операцией увеличивается?
Аноним 02/08/17 Срд 15:16:05  1036097
>>1036095
Привет.
Контору не хочу деанонить, а о непосредственных обязанностят и работе я лучше расскажу после собеседования.
Аноним 02/08/17 Срд 15:17:07  1036098
>>1036096
Да, прямо такой и есть.
Аноним 02/08/17 Срд 15:17:21  1036099
>>1036093
Какая база данных?
Фиксирована ли шаг 2 или произвольно?
Аноним 02/08/17 Срд 15:17:51  1036100
>>1036093
>ного, причём делается это для большого количества границ. Например, если максимальный размер 10МБ, то надо вытащить <2, <4, <6, <8, <10.
>Сейчас это сделано селектом в цикле со стороны приложения. Таблица большая (20к строк, на слабом желе
>>1036096
или имеется в виду, что в цикле при заданном размере файла
считается отдельно количество файлов размером <2, <4, <6 и так до n
с шагом 2?
Аноним 02/08/17 Срд 15:20:31  1036102
>>1036099
Шаг фиксированный, задаётся при старте приложения.
БД - MariaDB + H2 тоже должна работать.

>>1036100
Есть некий шаг, который задаётся в приложении. После чего считается количество файлов, удовлетворяющих <STEP, <2STEP, <3STEP, ... и так до тех пор, пока NSTEP будет больше максимального размера файла.
Аноним 02/08/17 Срд 15:21:10  1036103
>>1036093
Если у тебя мало разбивок и они фиксированны, то
select sum(1), --всего

sum(case when value < 4 then 1 else 0 end),
sum(case when value < 6 then 1 else 0 end), sum(case when value < 8 then 1 else 0 end)
from t

Некрасиво, но как минимум один запрос, один скан таблицы, одна группировка.
Если много произвольных значений, то надо думать
Аноним 02/08/17 Срд 15:23:11  1036104
>>1036093
Нахуй тебе множество < и or между ними? Делаешь индекс на размер файла и хуячишь каунт айдишника с размером меньше верхней границы.
Аноним 02/08/17 Срд 15:26:52  1036106
>>1036103
А, нет, так они не фиксированы. Количество шагов зависит от максимального значения этого столбца.

>>1036104
Ты где or видишь? Делается несколько запросов, каждый раз с разной верхней границей.
Аноним 02/08/17 Срд 15:30:13  1036109
1.png (7Кб, 430x204)
В иерархический запрос передаешь шаг (тут 2) и максимальную отметку (тут 10).
Потом джой.
Это нихуя не отптимально по производительности (ну может только чуточку оптимальнее, чем N запросов), зато одним запросом.

Искренне ваш,
топ-ораклист
Аноним 02/08/17 Срд 15:32:18  1036110
>>1036106
В одном конкретном обращении к бд всегда один < n? (без хуйни с < 2 < 5 < 10, как ты выше написал)

Делай индекс и обзапрашивайся - будет range scan по индексу.
Аноним 02/08/17 Срд 15:37:49  1036112
>>1036093
>>1036102
вот решение для оракла, попробуй cte для maria db переписать

with tn as (
select 2level size_b
from dual
connect by 2
level <= (select max(size_b) from table_name)
)
select
tn.size_b,
sum(case when t.size_b <= tn.sizeb then 1 else 0 end) files_cnt
from
table_name t inner join tn on t.size_b <= tn.size_b

олсо ссылка на рекурсивные запросы:
https://mariadb.com/kb/en/mariadb/recursive-common-table-expressions-overview/

Цикл не нужен для этого запроса, но тут может быть просадочка, если n большое, т.к. cte джойнится по условию, зависящему от n. Индекс на t.size_b будет не лишним, думаю.
Аноним 02/08/17 Срд 15:43:52  1036115
>>1036112
Все бы ничего, но в твоем иерархическом запросе отсекается последняя нужная граница.
То есть если в таблице максимальное значение 9, то твой запрос посчитает значения меньше 8, а суммарное количество записей не посчитает.
Так что d коннекте меняй level на level - 1
Аноним 02/08/17 Срд 15:44:36  1036116
Всем спасибо, возьму всё-таки решение вот этого анона: >>1036110
Оно, судя по всему, выигрывает по соотношению простота/производительность.

>>1036093-кун
Аноним 02/08/17 Срд 15:51:36  1036120
>>1036115
не обратил внимание, но и с level-1 будет неверно, т.к при n = 9 и level-1 = 4, 2level = 10, т.е. посчитает больше чем нужно.
Можно оставить level в connect by и отедльно union all добавить хвост от 8 до 9
Аноним 02/08/17 Срд 15:52:50  1036121
>>1036116
т.е. цикл в приложении останется?
Аноним 02/08/17 Срд 15:53:49  1036122
>>1036121
Да.
Аноним 02/08/17 Срд 15:58:42  1036126
>>1036122
Расстрелять.
Аноним 02/08/17 Срд 16:11:28  1036134
>>1036116
ПОХУЙ, ТАК СОЙДЕТ
@
ВЫИГРЫВАЕТ ПО СООТНОШЕНИЮ ПРОСТОТА/ПРОИЗВОДИТЕЛЬНОСТЬ

Аноним 02/08/17 Срд 16:28:06  1036140
>>1036134
Может доступа к исходникам приложения нет, все ж мы люди
Аноним 02/08/17 Срд 17:08:04  1036163
>>1036140
Приложение моё, для личного использования.

>>1036134
Эта жирная часть - всего лишь модуль статистики, который мне нужен для корректировки таймаутов и подобного. Заморачиваться с чем-то сложным ради того, чтобы раз в неделю не ждать трёх секунд на составление отчёта мне кажется излишним.
Аноним 02/08/17 Срд 17:12:02  1036165
>>1036163
То есть ты приходишь в тред, люди тебе что-то предлагают, стараются, хотят помочь, а ты потом пишешь "похуй, не буду ничего делать, всем спасибо". Это нормально вообще?
Нахуй ты вообще свой вопрос задал, если тебя всё устраивает?
Аноним 02/08/17 Срд 17:17:48  1036172
>>1036165
Почему не буду ничего делать? Повешу индекс и буду радоваться жизни, как посоветовал >>1036110

>>1036103 не подходит, потому что разбивка не фиксирована.

>>1036109 сам написал, что его решение неоптимально по производительности, да ещё и, судя по всему, под другую БД.

>>1036112 практически такое же решение, с теми же проблемами.
Аноним 02/08/17 Срд 17:34:59  1036184
>>1036172
предпоследний пост сказал, что это в любом случае оптимальнее дохуилиона селектов.

последний пост тебе даже дал ссылку на иерархические запросы в твоей бд

НЕНЕ ПАЦАНЫ ХУЙНЯ КАКАЯ-ТО СПАСИБО ЗА ПОМОЩЬ Я ЛУЧШЕ БАЗУ ПОЕБУ ЩА ИНДЕКС НАВЕШУ ДЕЛА В ГОРУ ПОЙДУТ
Аноним 02/08/17 Срд 17:45:19  1036190
>>1036184
Application before data, дбашечка.
Аноним 02/08/17 Срд 18:03:37  1036207
>>1036109
Похуй, что синтаксис ОРАКУЛА вообще не Т-сКЛ ни разу, поебать.
Аноним 03/08/17 Чтв 13:49:56  1036734
Читаю книгу Learning SQL и запнулся на примере про индексы, почему данный запрос
>EXPLAIN SELECT cust_id, SUM(avail_balance) tot_bal
>FROM account
>WHERE cust_id IN (1, 5, 9, 11)
>GROUP BY cust_id;
просматривает все 24 строки таблицы, хотя без GROUP BY возвращает 8? Ведь если cust_id индексирован, он находит индексы этих восьми строк и работает только с ними.

Вот объяснение из книги:
После прочтения индекса ожидается, что сервер просмотрит все 24 строки таблицы account для сбора данных о доступных остатках, поскольку он не знает, что могут существовать другие клиенты, кроме клиентов с ID 1, 5, 9 и 11.

Зачем смотреть остальные доступные остатки, если уже выбрано 8 строк?
Аноним 03/08/17 Чтв 14:01:09  1036740
>>1036734
Потому что это не уникальный индекс, вот почему.
И все равно нужно просмотреть всю таблицу, чтобы убедиться, что больше нет полей с такими значениями.
Аноним 03/08/17 Чтв 14:16:53  1036752
>>1036740
понял, спасибо
Аноним 04/08/17 Птн 19:14:17  1038003
Прошел курс на кодакадеми, так как тут нихуя не сказали что читать и пошел решать задачки на sql-ex, знакомые советовали и сразу же на втором задании вопрос.


Задание:
Exercise: 2 (Serge I: 2002-09-21)
List all printer makers. Result set: maker.



тлдр, есть дохуя таблиц, которые свзяанны фореин ки
Я пишу: SELECT DISTINCT maker FROM Product JOIN Printer ON Product.model = Printer.model;
Пишут что неправильно, предлагают писать так:
SELECT DISTINCT maker
FROM Product
WHERE model IN (SELECT model
FROM Printer
)

Естесна после кодакадеми я понятия не имею даже что так писать можно.
Что почитать и почему неправильно-то ?
Описание:
The database scheme consists of four tables:
Product(maker, model, type)
PC(code, model, speed, ram, hd, cd, price)
Laptop(code, model, speed, ram, hd, screen, price)
Printer(code, model, color, type, price)
The Product table contains data on the maker, model number, and type of product ('PC', 'Laptop', or 'Printer'). It is assumed that model numbers in the Product table are unique for all makers and product types. Each personal computer in the PC table is unambiguously identified by a unique code, and is additionally characterized by its model (foreign key referring to the Product table), processor speed (in MHz) – speed field, RAM capacity (in Mb) - ram, hard disk drive capacity (in Gb) – hd, CD-ROM speed (e.g, '4x') - cd, and its price. The Laptop table is similar to the PC table, except that instead of the CD-ROM speed, it contains the screen size (in inches) – screen. For each printer model in the Printer table, its output type (‘y’ for color and ‘n’ for monochrome) – color field, printing technology ('Laser', 'Jet', or 'Matrix') – type, and price are specified.

Аноним 04/08/17 Птн 19:45:20  1038032
>>1034303 (OP)
Постгр и Мускл.
Аноним 04/08/17 Птн 20:12:13  1038045
>>1038003
Не знаю кто тебе что там предлагает, я делал так:
select distinct maker
from product
where type = 'Printer'

Только что проверил, мой вариант остается правильным.


Насчет почитать, можешь по быстрому просмотреть https://www.w3schools.com/sql/default.asp
Аноним 04/08/17 Птн 20:13:44  1038046
>>1038045
Да я в итоге тоже так написал, но почему с джоином-то неправильно ?
разве это не тоже самое, что и кодакадеми ? Спасибо энивей, проверю
Аноним 04/08/17 Птн 20:23:32  1038049
>>1038046
Запустил твой пример, результат то у тебя верный, но они смотрят кол-во возвращаемых записей до DISTINCT. В таблице Printer не все связи с Product (есть принтеры без расширенного описания).
Если бы в Product был еще один maker с принтером, без описания в таблице Printers, то твой запрос бы не сработал.
Аноним 04/08/17 Птн 20:39:44  1038061
>>1038046
>>1038049
В подтверждение слов про не все имеют расширенное описание:
SELECT DISTINCT maker FROM Product LEFT JOIN Printer ON Product.model = Printer.model
WHERE Product.type = 'Printer'
Возвращает верный результат. Т.к. включаются и те принтеры из Product, которые отсутствуют в Printers.
Аноним 04/08/17 Птн 20:53:03  1038066
Анон, у меня есть три таблицы, user, topic и category, связанные через четвертую, post. Выводить это мне нужно древовидной структурой, "category" > "user" > "topic+поля post". Поебавшись с запросами, я решил сначала получать список user, принадлежащий каждой category, затем у каждого user получать post и topic. В итоге это работает и выглядит удобно для работы, но меня не оставляет ощущение, что что-то не так, ведь для вывода используется n+2 запроса, где n - количество user. Варианты с groupby не взлетают. Порекомендуйте более корректное решение, если оно имеется
Аноним 04/08/17 Птн 20:55:13  1038069
>>1038049
>>1038061
Сложна, но будем разбираться, спасибо.
Аноним 04/08/17 Птн 21:15:07  1038079
>>1038003
Ты дурак?
select distinct maker from product where type = 'Printer';
> Естесна после кодакадеми я понятия не имею даже что так писать можно.
А хули ты там делал, если даже один простой селект написать не можешь?
>>1038046
> почему с джоином-то неправильно
А нахуй он там всрался? Там даже суррогатных ключей нету.
Аноним 04/08/17 Птн 21:17:00  1038080
>>1038066
Открой для себя удивительный мир джоинов.
Аноним 05/08/17 Суб 00:29:27  1038203
>>1038080
И у меня получается охуенно огромный список записей, которые надо ручками перебирать.
Аноним 05/08/17 Суб 03:22:57  1038291
>>1038203
>ручками
>циклом
Пофиксил тебя
Аноним 05/08/17 Суб 03:32:20  1038292
>>1038291
Хорошо, как мне разбить список topic сначала по user, а потом по category в циклах? Проверять на каждой итерации, не изменился ли id?
Аноним 05/08/17 Суб 10:37:00  1038354
>>1038292
Откуда я знаю, пользуйся словарями, например.
Аноним 05/08/17 Суб 22:04:58  1038753
>>1038061
Я придумал моднее, только результат не прошёл тест на проверочной базе. Наверное, этот прав >>1038049. Проверочная база содержит записи в Prodyct c type=printer, которых нет в таблице printer.
SELECT DISTINCT Maker
FROM Printer
LEFT JOIN Product
ON Product.model=Printer.model
WHERE Product.model IS NOT NULL
Аноним 05/08/17 Суб 22:17:26  1038765
g4JQwzR.jpg (134Кб, 984x734)
>>1038753
> LEFT JOIN Product
> ON Product.model=Printer.model
> WHERE Product.model IS NOT NULL
Аноним 06/08/17 Вск 09:04:33  1038905
Так поясните мне когда следует использовать kerberos для аутентификации в постгрессе. Я пока что понимаю, когда есть более одного приложения работающего с одним кластером. Или он в любом случае не повредит?
Аноним 06/08/17 Вск 11:29:22  1038932
>>1038765
Он сам просил написать запрос с соединением.
Аноним 06/08/17 Вск 11:29:24  1038933
VisualSQLJOINSo[...].jpg (143Кб, 966x760)
>>1038753
inner join
Аноним 06/08/17 Вск 11:30:59  1038934
>>1038933
Зачем там inner? Тут суть в том, что мы выводим все принтеры.
Аноним 06/08/17 Вск 11:33:24  1038936
>>1038934
бляяя, ясн
Аноним 06/08/17 Вск 11:34:29  1038938
>>1038936
Или ты хочешь сказать, что
inner join = LEFT JOIN where is not null?
Аноним 06/08/17 Вск 11:36:47  1038939
>>1038938
посмотри на пик который я прикрепил, посиди и подумай над ним полчасика.
да
Аноним 07/08/17 Пнд 19:37:24  1040205
>>1036033
Отменилось собеседование в пятницу, сегодня было.
НУ ТАКОЕ
Во-первых, сказали, что самый максимум по ЗП это 130к гросс. Но если учесть, что мы вообще обсуждали деньги, считаю, что все прошло успешно. Может и позовут, но на 130 я точно не пойду.
По непосредственным обязанностям тоже как-то мутно. Они хотят и разработчика dwh, и аналитика, и гей-шлюху в одном лице. Не знаю, что из этого выйдет, это может быть как очень круто, так и очень хуево.
В общем, если бы остро нуждался в работе, то пошел бы, конечно, ну а так я вспоминаю слова моей тёти "хуй на хуй менять - только время терять".
По ораклу мало спрашивали. Стандартная задача с актуальными зарплатами сотрудников. Выебнулся keep derse_rank, конечно.
Какие типы соединения таблиц знаешь? Hash join, nested loops. Как будешь маленькую таблицу с большой соединять? Маленькую в хэш.
Был задан философский вопрос, как я буду удалять дубли из очень большой таблицы? Без задней мысли возьму и удалю.
Аноним 07/08/17 Пнд 22:49:22  1040328
grant all privileges on bank.* to
'username'@'localhost' identified
by 'xyz';

exit

mysql -u lrnsql -p;
xyz
ERROR 1045 (28000): Access denied for user 'username'@'localhost' (using password: YES)

Чому ?
Аноним 07/08/17 Пнд 22:50:13  1040329
>>1040328
> mysql -u username -p;

естесна, не то скопировал
Аноним 08/08/17 Втр 00:30:40  1040386
Model.png (3Кб, 325x268)
Можно ли в Oracle 11g r2 сгенерировать для каждой строки указанное в её столбце количество значений (см. картинку), используя только MODEL? Про рекурсивные cte, connect by и т.п., конечно, известно, но тут поставлено именно такое условие вручную вписывать значения тоже не разрешается.
Аноним 08/08/17 Втр 19:16:44  1040853
>>1040205
ИМХО, но получение нового опыта сделает тебя куда более востребованным специалистом. Ты ведь работал только на отчетах, так?
Аноним 08/08/17 Втр 19:53:55  1040891
>>1040853
По сути да.
Но 4 места работы за неполные два года это пиздец перебор, на меня косо смотреть будут.
Конечно, я бы ушел на какую-нибудь космическую зарплату хоть сейчас, но я и на текущей работе могу впоследствии получить и прибавку к деньгами и смену рода деятельности.
По совокупности факторов лучший вариант посидеть тут хотя бы годик, меня все устраивает.
Аноним 08/08/17 Втр 21:04:56  1040970
>>1040386
PL/SQL
Аноним 11/08/17 Птн 17:38:39  1042641
Untitled.png (19Кб, 973x515)
анончики, подскажите почему во втором запросе с условием, не отображается строка с id = 5?
Аноним 11/08/17 Птн 18:02:09  1042655
>>1042641
Из за NULL. Он добавляет некоторую троичную логику.
Выходит как-то так:
1. NULL = 'y' => NULL
2. NOT NULL => NULL
3. NULL != TRUE => строка не подходит

Можно написать NOT ISNULL(disabled, '') = 'y' (ещё есть COALESCE).
Аноним 11/08/17 Птн 18:14:30  1042660
>>1042655
благодарю, только для mysql рабочий вариант с IFNULL()
Аноним 13/08/17 Вск 20:04:14  1044008
>>1042660
>>1042655
А через "AND disable IS NULL" можно? Иначе зачем усложнять?
Аноним 13/08/17 Вск 20:50:12  1044042
Сижу уже полчаса тупо втыкаю в то, что написал и не могу понять, что нет так-то.
КОгда отправляю запрос тупо нихуя не происходит, то есть мне дальше предлагают вводить, как если бы я я точку с запятой не поставил

> SELECT emp_id, fname, lname, groups.name FROM employee
-> INNER JOIN (SELECT 'trainee' name, '2004-01-01' start_dt, '2005-12-31' end_dt
-> UNION ALL
-> SELECT 'worker' name, '2002-01-01' start_dt, '2003-12-31' end_dt
-> UNION ALL
-> SELECT 'mentor' name, '2000-01-01 start_dt, '2001-12-31' end_dt) groups
'> ON start_date = groups.start_dt
'> WHERE start_date BETWEEN groups.start_dt AND groups.end_dt;

Аноним 13/08/17 Вск 21:13:01  1044072
>>1044042
Всё, сам разобрался, забейте
Аноним 13/08/17 Вск 21:32:30  1044081
>>1044042
Говеный запрос.
Аноним 13/08/17 Вск 21:34:01  1044082
>>1044081
Ага, я переписал
Аноним 13/08/17 Вск 23:33:43  1044151
>>1044008
Будто то, что ты написал, проще.
Аноним 14/08/17 Пнд 14:39:18  1044449
>>1040205
И все-таки как из большой таблицы удалить дубли?
Аноним 14/08/17 Пнд 16:26:54  1044506
Анон, посоветуй годный справочник команд и функций по SQL.
Аноним 14/08/17 Пнд 18:40:02  1044557
Потсоны, шарит кто в Dimensional Modelling (Data Warehouse)? Закину удочку, может, повезёт.

Есть проблема. Система собирает данные по различным статистическим показателям (например, количество населения, количество преступлений и т.д). В целом, у таких данных три общих измерения: показатель, территория, календарь. Далее у каких-то показателей могут быть доп. измерения (например, вид преступления или, там, национальность правонарушителя). Соответственно, в одну таблицу фактов данные по всем показателям не уложишь. Получается, надо под каждую группу показателей, имеющих одинаковую размерность, создавать таблицу фактов? Или под каждый показатель создавать таблицу фактов (не нраица -- потенциально показателей очень много)?
Гугление наводит на теги Core / Custom Fact Table, но построить цельную картину не получается из-за отсутствия опыта.
Шарящий DBA съебал на другое место, приходится дорабатывать его начинания.
Аноним 14/08/17 Пнд 18:53:59  1044558
Допустим, я создаю таблицу с пользователями, каждый из которых может быть подписан на новости. Или иметь ещё сотню булевых опций. Надо ли запихивать их в саму таблицу пользователей, или лучше завести одноколончатую таблицу с идентификаторами подписчиков?
Аноним 14/08/17 Пнд 20:10:32  1044585
>>1044557
У тебя olap или oltp?
Аноним 14/08/17 Пнд 20:14:08  1044589
>>1044585
OLAP.
Аноним 14/08/17 Пнд 22:08:02  1044623
>>1044589
1. Почему ты считаешь, что в одну таблицу фактов нельзя все уложить? Просто берешь и кладешь без задней мысли, напротив тех измерений, которых нету у данного показателя, пишешь null, будет у тебя одна таблица фактов с кучей измерений и null-ов в них, ну и что? Советую вместо null класть -1 и в соотаетствующем измерению справочнике завести элемент id: -1, name: None
2. Далее собираешь из этого один или несколько кубов. Если один, то все показатели в него и запихиваешь, соответственно, на пересечении с измерениями, которых у какого-то конкретного показателя нет, у тебя будут стоять (-1)None, только и всего.

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

В общем, не понимаю, почему ты сразу сделал вывод, что в одну таблицу фактов все класть нельзя, если абсолютно у всех показателей есть несколько общих измерений.
Аноним 14/08/17 Пнд 22:09:39  1044624
>>1044558
С какой целью интересуешься?
Что дальше с этими данными собираешься делать?
Аноним 14/08/17 Пнд 22:19:05  1044631
>>1044623
Да, самое главное не написал, это немного другая концепция складирования, тут придется завести еще однл измерение самому - "Показатели", ну и соответствующий ему справочник в хранилище, так вот, id-шники показателей так же следует класть в таблицу фактов, а рядом с ними в еще одном поле "measure", класть значение этих показателей. В итоге у тебя получится до хуя строк, зато из них изи будет собираться куб. В мерах же в самом кубе нужно завести всего один элемент - Value, и все значения из таблицы фактов класть на него. Если не понял, могу нарисовать схему. Эта методология используется в финансовых системах, например в Prophix, так что это не моя говнокостыльная придумка.
Аноним 14/08/17 Пнд 23:21:59  1044678
>>1044623
>Почему ты считаешь, что в одну таблицу фактов нельзя все уложить?
Я так не считаю, просто мне не нравится такой подход. Вроде есть ограничение на количество столбцов? В итоге можно в него упереться, когда количество измерений перевалит за этот порог. В перспективе пока видится не так много измерений, конечно, но хочется от такого всё-таки обезопаситься. У нас система и так переживает уже, наверное, третье рождение, из-за того, что люди не смотрят в завтрашний день.

>Да, самое главное не написал, это немного другая концепция складирования, тут придется завести еще однл измерение самому - "Показатели", ну и соответствующий ему справочник в хранилище, так вот, id-шники показателей так же следует класть в таблицу фактов, а рядом с ними в еще одном поле "measure", класть значение этих показателей. В итоге у тебя получится до хуя строк, зато из них изи будет собираться куб. В мерах же в самом кубе нужно завести всего один элемент - Value, и все значения из таблицы фактов класть на него.
Я понял, т.к. прототип в таком виде сейчас и есть, от этого и отталкиваюсь.

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

Потенциально у нас тысячи показателей (аналог -- гос. система ГАСУ), многие из которых опираются на кастомные справочники. У этих данных в общем случае всего 3 общих измерения: справочник показателей, справочник территории, календарный справочник. Даже меры у них не всегда одинаковые, т.к. в одном случае у одного показателя аддитивная мера (например, кол-во родившихся за календарный период), а у другого -- нет (например, количество населения, зарегистрированное на календарный период). При таком раскладе я не вижу, как это всё можно сложить в одну таблицу фактов. Но, повторюсь, я не DBA ни разу, так что могу ошибаться.

Аноним 15/08/17 Втр 00:05:34  1044696
>>1044678
>Я не DBA ни разу
А DBA и не должен в этом разбираться, если что, это вопросы к аналитикам.

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

Я бы сделал, как написал в прошлом посте, если бы видел совсем различные измерения для показателей, то сделал бы разные таблицы фактов, что тут думать, надо брать и делать, а не сиськи мять.
>Тысячи показателей
Ну так ты же их и пишешь в 2 поля, а не в тысячу, так что все збс.
Делаешь, смотришь, как работает, если всех устраивает, то и збс.
Аноним 15/08/17 Втр 00:45:56  1044713
>>1044696
Ну да, чувствую, что в итоге сделаем с минимумом таблиц фактов. Спасибо.

Ещё фишка в том, что BI-инструментарий у нас хотят свой. Точнее, давно уже есть некое его подобие над старой схемой, но оно говно, и не в последнюю очередь из-за того, что старая схема не позволяет строить гибкие запросы (шутка ли, из всего множества значений выбрать значения показателей, у которых в контексте есть, скажем, Москва и 2015 год -- это из разряда фантастики, т.к. по словам DBA для этого нужно провести какие-то транспонирования/перевёртывания и прочий БДСМ).
Конечно, не всё так плохо: аналитики используют SAS Visual Analytics, но там данные в другой, более феншуйной схеме. Но в целом вектор взят на отказ от вражеского ПО (гос. контора): опенсорс БД (досвиданья оракл, здравствуй постгре), свои аналитические инструменты и прочее. Поэтому для меня как для разработчика это всё больной вопрос, на самом деле, и вроде как и хочется быстрее с ним покончить, но, с другой стороны, если сделаешь хуйню, то потом переделывать весь стек (чем, собственно, мы сейчас и заняты).
Аноним 15/08/17 Втр 07:56:10  1044752
>>1044713
>шутка ли, из всего множества значений выбрать значения показателей, у которых в контексте есть, скажем, Москва и 2015
Mdx же есть и функции фильтрации измерений.
А так же возможности создавать статичные Set-ы.
Аноним 15/08/17 Втр 17:35:34  1044985
Сложно ли перекатываться с Oracle на Postgres? И нужно ли?
Аноним 15/08/17 Втр 18:52:14  1045021
>>1044985
Зависит от степени vendor lock-in, которая складывается в основном из объёма логики, написанной на PL/SQL (хранимые процедуры, утилитные скрипты), и количества эксклюзивных фич в используемом инструментарии (BI tools, Administration tools). Для великовозрастных систем перекатиться может быть крайне сложно.
Вопрос о необходимости для каждого свой. Например, для гос. контор это скорее риторический вопрос -- сказали "Надо", значит, надо, и не ебёт.

Если ты имеешь в виду перекат из PL/SQL разработчика, то это вопрос изучения другого SQL-диалекта и сопутствующей инфраструктуры (те же самые инструменты администрирования). Думаю, тоже не особо приятное занятие.
Аноним 18/08/17 Птн 13:23:44  1046225
В PL/SQL Developer можно как-то включить уведомление о выполнении запроса, когда он сам свернут?
Заебывает проверять каждый раз...
Если не найду, как это сделать, придется после каждого выполняемого куска писать себе отправку сообщения на почту...
Аноним 19/08/17 Суб 00:45:03  1046599
>>1046225
>отправку сообщения на почту
Ты что, одновременно по миллиарду запросов пишешь?
И что за запросы такие, результатов которых ты ждешь настолько долго, что сворачиваешь окошко?
Аноним 23/08/17 Срд 23:27:39  1049791
DELETE FROM Person WHERE Email IN (SELECT Email FROM Person GROUP BY Email HAVING COUNT(Email)>1)

Что не так с этим запросом ?
You can't specify target table 'Person' for update in FROM clause
Это типа про сабквери или чего, я не понимаю
Аноним 24/08/17 Чтв 00:35:09  1049848
>>1049791
https://pastebin.com/6Chduftx
двач похерил звёздочки
Аноним 24/08/17 Чтв 00:48:26  1049862
>>1049791
Гугол говорит, что https://stackoverflow.com/a/14302701
Аноним 24/08/17 Чтв 01:01:53  1049868
>>1049862
Да, я это уже изменил, думал тут вообще никого нет, я немного с заданием проебался
задание удалить всё повторяющиеся емейлы из таблицы, но так чтобы остались с меньшими айдишниками. И там блять на второй проверочной таблице сначала вставляют id=2, а потом id=1
Почему моя уебищная хуйня не работает, может кто объяснить ?
моя уёбищная хуйня вот
>>1049848
Аноним 24/08/17 Чтв 01:36:33  1049884
>>1049868
Не ебу что ты там в пейстбине насрал, но это элементарно делается с оконной функцией.
Аноним 24/08/17 Чтв 01:38:04  1049885
>>1049884
хуй знает что это, но я таки допилил свое говно до ума, а они решили через джойн самому себе
Аноним 24/08/17 Чтв 16:08:18  1050148
>>1046599
> кококо нинужно кудах!! я скозал!!!
Аноним 24/08/17 Чтв 17:53:38  1050213
пик1.PNG (48Кб, 1016x343)
пик2.PNG (81Кб, 1078x487)
Сап, БДаны. Есть одна небольшая задачка связанная с проектированием БД с которой прошу вас помочь.
Есть таблицы epolis (epolis_id - первичный ключ), contracts (
contract_id - пк), transport(transport_id - пк).
В contracts - реквизиты договора на обслуживание, строго локальная версия. в epolis -
реквизиты страхового полиса, это таблица по сути - локальная версия данных из другой базы, в transport - параметры транспорта(год выпуска, цвет, объем двигателя, номер паспорта, регион регистрации и т.д.), может апдейтиться данными из внешней БД, значения параметров также передаются во внешку при необходимости, также может изменяться локально, без передачи данных. В текущей схеме на первой пикче связи с epolis и внешней информационной системой нет, историчность параметров транспорта не поддерживается, все параметры транспорта в одной таблице. Требования следующие: нужно реализовать историчность параметров транспорта и интеграцию с внешней ИС, таким образом, чтобы измения таких параметров как цвет и мощность двигателя (их больше, но не важно) можно было исторично закрывать в случае изменения и, по желанию, передавать во внешнюю ИС.
Аналогично с параметрами номера паспорта и региона регистрации, но для них есть ограничение, изменения во внешнюю среду передаются только при создании нового полиса или изменнении старого. Другими словами апдейт вступает в силу, только если данные, хранящиеся в epolis, успешно переданы во внешку. Т.е. эти параметры транспорта зависят от полиса, но являются параметрами ТС.

На второй пикче решение, подскажите, как это примерно реализовать или в чем ошибка? Тупо добавил start_date и end_date, из минусов то, что при изменении только лишь цвета придется закрывать всю запись.
Вообще там ебанутая ситуация, т.к. внешних источников два и они оба теребят одни и те же таблицы, при этом друг о друге ничего не знают. И еще проблема, например пользователь поменял номер паспорта транспорта, эти данные нужно сохранить локально, но внешняя ИС не приняла полис, а соотвественно и изменения сведений транспорта, и их нужно как-то откатить как это можно реализовать?
Аноним 24/08/17 Чтв 18:05:50  1050218
>>1036190
За такое надо убивать. Расстреливать пидорасню ебаную.
Аноним 24/08/17 Чтв 19:57:36  1050324
>>1050213
Я, к сожалению, ничего конкретного не скажу, т.к. не DBA.

Почитай про Dimensional Modeling и/или Data Vault. В случае с Dimensional Modeling (а на второй пикче -- это практически звезда по этой методологии) у тебя транспорт -- это slowly changing dimension. Нужно только определить тип исходя из условий задачи (надо ли хранить историю, насколько часто обновляются элементы измерения).
Неплохой обзор практик, связанных с Dimensional Modeling, можно посмотреть здесь: http://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques

В случае с Data Vault хуяришь изменяющиеся атрибуты в отдельный сателит/сателиты, а дальше я ещё книгу не дочитал. Но в целом, там архитектура располагает к ведению истории.
Аноним 24/08/17 Чтв 20:48:01  1050366
>>1050213
Повесь триггеры на транспорт и обсохраняйся всей историей. Ну или сделай через аудит и сри вообще как хочешь.
> Другими словами апдейт вступает в силу, только если данные, хранящиеся в epolis, успешно переданы во внешку.
Ты ведь знаешь что такое транзакции?
>>1050218
Проблемы, дбашечка?
Аноним 24/08/17 Чтв 21:58:16  1050424
1503601078144.jpg (2760Кб, 4000x3000)
Всем респект.
Аноним 25/08/17 Птн 10:55:35  1050642
>>1050324
Это скорее задача девелопера - проектирование схемы данных, ок, спасибо, хотя у меня OLTP - база.
Аноним 25/08/17 Птн 11:22:19  1050645
>>1050366
Триггеры не очень подход в данном случае, т.к. в приложухе повсеместно используется версионность start_date и end_date и вообще по рукам побьют.
>Ты ведь знаешь что такое транзакции?
Да, конечно, но смотри какая ситуация получается:
У пользователя есть форма с кучей полей транспорта, при этом есть скажем вкладки с прочей инфой о страховщике и т.д., все это представляет собой документ, который после заполнения передается во внешку. Поля транспорта, например, такие: цвет, мощность двигателя, регион регистрации, номер паспорта тс. Так вот задача в том, чтобы при сохранении промежуточных значений на форме параметров ТС во внешку уходили только данные о мощности двигателя и цвете. А остальные поля только при передаче всего документа.
Т.е. получается нужно какое-то время хранить черновик записей в БД, и только потом сохранить эти данные как новую версию, а старую закрыть, другими словами между транзакциями нужно сохранять данные (т.к. любые сохраенные на форме изменения коммитятся в локальной бд), а потом делать логический "коммит" - создавать новую версию.
Может забить и тупо версию открывать и закрывать при каждом апдейте таблицы, если меняются значения параметров? Без оглядки на то, что данные еще не передались. В конечном счете, мы храним у себя только историю изменений, т.е. актуальную локальную копию данных, которую потом используем в качестве подстановки в форму.
Посоветуйте, пожалуйста, может есть какие-то маст-рид книжки по интеграции между ис или проектированию схем данных, интересуют именно конкретные подходы, проблемноориентированные, анон выше советовал уже по dimensional моделлинг.
Аноним 25/08/17 Птн 17:29:29  1050837
>>1050645
>Т.е. получается нужно какое-то время хранить черновик записей в БД, и только потом сохранить эти данные как новую версию, а старую закрыть, другими словами между транзакциями нужно сохранять данные (т.к. любые сохраенные на форме изменения коммитятся в локальной бд), а потом делать логический "коммит" - создавать новую версию.

юзай Read uncommitted, добавь флаг в табличку с записями: is_confirmed bit, как только ты считаешь, что юзер ввел все (типа нажал сохранить"), ставь is_confirmed = 1 и отправляй, куда хочешь.
Аноним 27/08/17 Вск 18:00:51  1052141
>>1034303 (OP)

>couchdb

мб юзал кто для продакшина, какие подводные камни?
Аноним 27/08/17 Вск 20:46:10  1052234
Поясните что они от меня хотят, лол, постоянно фейлится на их тестовой базе какой-то.
Given a Weather table, write a SQL query to find all dates' Ids with higher temperature compared to its previous (yesterday's) dates
Таблица собственно состоит из id, date, temperature
SELECT b.id as Id FROM Weather b WHERE b.temperature > (SELECT c.temperature FROM weather c WHERE c.date+1=b.date)

Что блять не так я вообще понять не могу.

https://leetcode.com/problems/rising-temperature/description/
Аноним 27/08/17 Вск 21:35:55  1052252
>>1052234
select
Weather.Id
from Weather
join Weather as Second on subdate(Weather.Date,1) = Second.Date AND Weather.Temperature > Second.Temperature;
Аноним 28/08/17 Пнд 04:31:29  1052425
>>1038003
А чому бы не
SELECT DISTINCT maker
FROM Product pd
WHERE EXISTS ( SELECT 1
FROM Printer WHERE pr.model = pd.model)
Явный left semi join же
Аноним 28/08/17 Пнд 09:29:48  1052465
database.jpg (79Кб, 500x251)
>>1034303 (OP)
Сап, программач. Джва года ждал этот тред. Сейчас работаю в мухосрани разработчиком отчетности. По факту пишу огромные sql запросы по внутренним процессам организации. Обычно это отчеты для внутреннего портала и запросы для единичных выгрузок.

Также пишу функции и процедуры для внутренних процессов. Оче редко занимаюсь архитектурой баз, пару раз всего проектировал несколько таблиц. Иногда занимаюсь оптимизацией сложных запросов. Смотрю немного план запроса и выстраиваю индексы. Иногда занимаюсь СКИПТРЕЙСИНГОМ.

Все это пилится на MS SQL.

Так вот у меня к вам несколько вопросов:
1) Я считаюсь программистом по факту если пишу на SQL?
2) 30к это норм для такой вакансии если я в мухосранях?
3) Есть возможность с подобными скиллами перекатиться в ДС на зп тысяч в 60 со старта? Еще могу c++/c# простенький класс написать. Есть вышка магистра матфака.
Аноним 28/08/17 Пнд 11:07:08  1052489
>>1052465
Ты считаешься разработчиком корпоративной отчётности. если ты не шаришь в архитепктуре, то разработчиком баз/хранилищ данных тебя назвать сложно.
В ДС можно перекатиться и на 100 тыщ с теми скилами, которые ты описал, если, конечно, ты все делаешь правильно, пишешь оптимальные запросы, а не такие, как в ОП-пике.
Если умеешь в оптимизацию, чтение чужого кода, чтение плана запросов, принципы работы индексов, то втройнемолодец.
Хотя у меня в конторе работают олухи, которые пишут говно, но сотку, всё равно, имеют. советую перебиратсья в ДС, снимать тут хату за 30 и искать работу в районе соточки, будешь в шоколаде, удачи.
Аноним 28/08/17 Пнд 13:29:21  1052567
>>1052489
>>1052465
Два года назад перекатился на 40к в ДС2 с такими же скиллами. Архитектуры толком не знаю до сих пор, скиллы подросли немного. Планирую перекатываться на 80к+, т.е. в ДС думаю сотку за такое заплатят.
Аноним 29/08/17 Втр 14:36:30  1053285
>>1052465
>>1052567
>30к
>40к
Пиздец. Даже говнотестер получает больше.
Аноним 29/08/17 Втр 16:14:31  1053342
>>1053285
>ДС2
>лоу-тир контора
забыл сказать, что зарплата серая, на руки немнго больше идет
Аноним 29/08/17 Втр 20:38:08  1053512
>>1052489
Что можно почитать, чтобы научиться читать планы запросов и вообще оптимизировать?
Аноним 29/08/17 Втр 20:54:07  1053518
>>1052465
Нет. Ты ничего не разрабатываешь. Максимум дата аналист.
Аноним 29/08/17 Втр 22:10:47  1053602
>>1052465
Да. Ты разрабатываешь функции и процедуры.
Если при этом работаешь с контролем версий, делаешь код ревью и вообще няша, то можешь назваться разработчиком БД.
Аноним 29/08/17 Втр 22:11:51  1053605
>>1052465
Олсо, топ-ораклист-кун на запросах 120к поднимает, делай выводы.
Аноним 29/08/17 Втр 23:56:02  1053704
Почему Postgres медленный? Или его не умеют готовить? В чем его прикол, кроме бесплатности?
Аноним 30/08/17 Срд 00:12:28  1053718
>>1053704
Прикол в том, что админить его сложно, искать спецов сложно, вот и все.
А так классная штука.
Аноним 30/08/17 Срд 00:13:47  1053721
>>1053512
Да блин,что угодно, просто гугли "ms sql plan", находи хабру, msdn, разбирайся, дай бог, в гугле не забанен.
Аноним 30/08/17 Срд 01:23:37  1053789
>>1034303 (OP)
Сакральный смысл оп-пика в удалении самой ранней записи?
Аноним 30/08/17 Срд 14:23:38  1053997
>>1053789
Аплодисменты!
Как говорится, если знаешь способ лучше, предложи, мы его рассмотрим всем тредом. Есть только одно условие, нужно, чтобы он был запоминающийся.
Аноним 31/08/17 Чтв 17:20:33  1054912
А есть какие-нибудь курсы по sql для людей, на связанных с разработкой? Аналитики всякие, и т.п.
Аноним 31/08/17 Чтв 18:49:20  1054977
>>1054912
Ты имеешь в виду легкость в освоении или специфичный sql, который в BI применяется?
Аноним 31/08/17 Чтв 19:48:50  1055007
Снимок1.JPG (28Кб, 487x323)
Снимок2.JPG (19Кб, 638x84)
Здравствуйте! У меня база данных постгре сиквел. Есть вот такие настроечки и вот так выглядит моя табличка. Как сделать что оно выглядело хорошо? Ос шиндоус 8.1. Я вообще потом хочу через пхп с табличкой работать. Там все выглядит так же плохенько. Помогите пожалуйста. Хримсто бого молю!
Аноним 01/09/17 Птн 00:58:52  1055228
>>1055007
Collation и Character type выстави как UTF8.
Аноним 01/09/17 Птн 10:29:04  1055381
>>1054977
Имею в виду с упором на оперирование данными, без технических тонкостей о проектировании бд, и прочей подобной информации.
Аноним 01/09/17 Птн 11:15:21  1055405
>>1055228
Это отличный совет! При установке я ставил en us utf а этот пидор мне поставил en us 1251. Вроде как можно создать базу с отличными настройками локали от дефолтных. Я пытался. Но мне сказали что такой локали не существует. Как можно посмотреть существующие локали? Напомню что у меня шиндоуз 8.1
Аноним 01/09/17 Птн 12:39:44  1055464
>>1055228
locale -a
выдает ошибка синтаксиса
Аноним 01/09/17 Птн 14:58:05  1055517
>>1055381
Ну тип любой базовый курс по базам, если нашёл.
Аноним 01/09/17 Птн 15:29:48  1055531
>>1055381
все зависит от объема, думаю в минимальном объеме нужно освоить селект, условие where, group by, having, join разных видов,операторы union, in, exists. Агрегатные функции: sum, min, max. DML зачем аналитику? оптимизация тоже мимо и архитектура.
Аноним 06/09/17 Срд 17:06:00  1058111
Бамп
Аноним 07/09/17 Чтв 09:13:07  1058454
Шалом? Все на 100к+ устроились? Давно не заходил.

Как думаете, триггеры в оракле запускают автономную транзакцию или нет?
Если у меня триггер висит на таблице бефор инсерт, в транзакции я делаю инсерт в эту таблицу, смогу ли я операторать в триггере с данными, которые появились в этой транзакции в другой таблице?
Аноним 07/09/17 Чтв 16:11:59  1058638
>>1058454
Привет, а ты хорош. Устроился на 100к, теперь сижу, чешу репу думая над вопросом. Автономку в триггере можно использовать, прозреваю здесь подвох в мутации таблицы - т.е. нельзя изменять данные в таблице, на которой висит триггер. А так вроде нет противопоказаний для автономок. В условии второго вопросаподразумевается, что в транзакции выполняется инсерт в две таблицы, и на одной из них висит триггер before? Думаю, если сначал происходит инсерт в таблицу без триггера, то эти эти новые данные уже можно использовать в триггере другой таблицы. Без гугла, если че.
Аноним 07/09/17 Чтв 16:31:36  1058645
func.PNG (14Кб, 672x224)
Привет, есть следующая функция на пике, если в качестве параметра передавать clob, длина которого превышает 32767 символов, то на 10й строке функции возникает ошибка:
ORA-06502: PL/SQL: ошибка числа или значения.
Чому так? Ведь в цикле берется часть клоба, не превышающая максимальный размер varchar2. База если что в utf-8.
Аноним 07/09/17 Чтв 17:24:15  1058682
>>1034303 (OP)

В пограммировании я 0, так что строго не судите

Ребята хэлп.

Есть база SQLite 3 версии, есть там таблица и куча данных в ней, например
100.test.net
101.test.net
102.test.net
И тд

Как мне одним махом заменить test.net на test.org во всех строках? Руками редактировать не реально там более 3к строк, желательно в какой нибудь проге под винду. Пробывал в SQLite expert но нехрена разобраться немногу, получается только руками каждую строку отдельно.

Желательно что бы как в текстовом редакторе, типа: найти > заменить все

))




Аноним 07/09/17 Чтв 17:35:28  1058688
>>1058682
Update t
Set t.field = replace(t.field,'.net','.org')
Аноним 07/09/17 Чтв 17:45:22  1058690
>>1058688
Где мне это вводить?)))
Я потому и просил прогу под винду или какие то подробные инструкции для ламеров
Аноним 07/09/17 Чтв 18:40:13  1058718
>>1058688
помогли в соседней теме, твоя команда должна была подойти, спасибо
Аноним 07/09/17 Чтв 20:11:12  1058776
>>1058645
Посмотрел пакет SYS.STANDART в нем SUBSTR перегружается для строки в CLOB и возвращает тоже CLOB, а utl_raw.cast_to_raw требует varchar2. Похоже в случае, если символов в p_env не больше 32767, то вызывается версия SUBSTR возвращающая varchar2, а для большей строки возвращается clob. Но тогда почему ошибка связанная с числом?
Аноним 07/09/17 Чтв 21:57:07  1058819
>>1034303 (OP)
Допустим, я сделал таблицу и в ней столбец col1 - INTEGER
в него можно внести и целое число, и текст. Если в часть строк будет внесён текст, а в часть целые числа, может ли это вызвать какие-то ошибки ? Мне пока нужно только сумма подсчитывать, и функция SUM считает только сумму строк с числам, то есть работает так, как мне надо. Но мало ли что.
Использую Python и SQLite
Аноним 07/09/17 Чтв 22:27:34  1058825
>>1058819
Ты не можешь заполнить integer текстом,
Ты только можешь написать запрос на инсерт с цифрами в кавычках, типа '1'
Но инсертиться все равно будут числа.
Аноним 08/09/17 Птн 10:46:08  1058951
Подскажите, пожалуйста.
На ресурсе http://sql-tutorial.ru/ru/book_simple_select_statement/page1.html
употребляются термины - "Вертикальная проекция таблицы", "вертикальная выборка". Что это означает? Не могу уловить суть.В других учебниках еще не рылся, может кто-то из анонов на понятийном уровне разъяснит, чем отличается вертикальная выборка от горизонтальной. А я пока пойду дальше теорию читать да упражнения делать
Аноним 08/09/17 Птн 11:56:32  1058973
>>1058951
Судя по контексту, имеется в виду выборка без условия where. Т.е. "прореживаем" таблицу только по вертикали, указывая колонки в select. Может термин из реляционной алгебры.
>>1058645
>>1058776
Решил проблему, может пригодится кому. Нужно было уменьшить количество символов возвращаемой подстроки в substr(p_env, i, 32767), т.к. если символов было 32767, то длина строки в байтах могла превышать 32 кб. Подозреваю, что в p_env были символы занимающие больше одного байта, т.к. база в юникоде.
Аноним 08/09/17 Птн 13:45:23  1059031
>>1058825
в mysql3 вставляется. Вопрос в том, какие ошибки из-за этого могут вылезти ?
--------
Query executed successfully: UPDATE total SET vsego='нет данных' WHERE ok=999 AND god='2014/2015' (took 1ms, 1 rows affected)
---------
Аноним 08/09/17 Птн 16:48:21  1059093
>>1059031
Может все-таки происходит неявное приведение к чилсу? Это же вообще по пизде идет типизация данных при таком подходе
Аноним 09/09/17 Суб 12:40:55  1059402
>>1059093
FIX это sqlite3
возможно дело вот в чём
https://sqlite.org/datatype3.html
------
Any column in an SQLite version 3 database, except an INTEGER PRIMARY KEY column, may be used to store a value of any storage class.

All values in SQL statements, whether they are literals embedded in SQL statement text or parameters bound to precompiled SQL statements have an implicit storage class.

Under circumstances described below, the database engine may convert values between numeric storage classes (INTEGER and REAL) and TEXT during query execution.
------
Аноним 09/09/17 Суб 20:47:11  1059543
>>1052465
100к можешь выбить в дс
(Из личного опыта)
50 дают просто за знания основ джойнов
Аноним 10/09/17 Вск 13:56:52  1059799
Вопрос к тем, кто работает с Oracle,

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

Короче, мой аккаунт просрочен:

A database warning was encountered performing the requested operation:

ORA-28002: дата действия пароля ист
28002. 00000 - "the password will expire within %s days"
Cause: The user's account is about to expire and the password
needs to be changed
Action: change the password or contact the DBA
Vendor code 28002


пытаюсь выполнить элементарную команду,
мне выдает:
ORA-00942: таблица или представление пользователя не существует

Сами таблицы я могу спокойно просматривать, но манипулировать с данными не могу

Не хочу писать преподу, да и ответит он только когда я лично подойду и спрошу его.

Есть ли способ как-то скопировать все эти данные и создать на локальном хосте точно такую же базу данных, что бы с ней тренироваться?
Аноним 10/09/17 Вск 14:57:11  1059826
>>1059799
Конечно есть. У препода дамп базы просишь.
Аноним 10/09/17 Вск 15:09:20  1059830
>>1059799
Напиши преподавателю, придурок, и не мучай мозг и клавиатуру.
Аноним 11/09/17 Пнд 17:26:24  1060338
Насколько WITH эффективен в плане скорости по сравнению с джоином запроса в самом селекте. Оптимизацию запросов только начал осваивать.
Аноним 11/09/17 Пнд 21:36:48  1060455
>>1060338
Возможно, что никак не отличается. В нормальной СУБД вроде MS SQL будет оптимизировано. Какой-нибудь MySQL вообще по оптимизациям слаб, можно с каким-то запросом промахнуться в этом плане.
Аноним 12/09/17 Втр 04:22:45  1060561
>>1060338
Одна хуйня, и то, и то подзапрос, оптимизатор будет их одинакого воспринимать.
Просто у подзапроса есть свои фичи, например, использование его в outer apply в мс скл, а в сте можно юзать рекурсии.
Аноним 12/09/17 Втр 09:59:18  1060623
>>1060561
А что не хуйня?
>>1060455
Так случилось что сейчас работаю с постгрес после божественного оракла.
Аноним 12/09/17 Втр 10:56:17  1060652
>>1060623
Тогда глянь, что мне гугол выдал:
https://blog.2ndquadrant.com/postgresql-ctes-are-optimization-fences/
https://dba.stackexchange.com/questions/84760/why-is-the-cte-much-worse-than-inline-subqueries
Аноним 13/09/17 Срд 17:19:30  1061380
Привет, призываю ораклистов в тред. Подскажите, пожалуйста, по проблеме производительности. Периодически возникает следующая ситуация: возрастает нагрузка на диски, почти 100%, рефреш матвьюх подвисает и возникают блокировки пользовательских сессий, причем блокируют пользовательские сессии также пользовательские сессии. Некоторые запросы таких сесиий висят по двое суток. После того, как убиваем эти блокирующие сессии и джобы рефреша матвьюх, тормоза уходят. Я это объясняю тем, что в тех сессиях, которые висят по несколько дней есть жуткий запрос и, возможно, dml, которые блочат другие сессии, следовательно пока есть блокировка, транзакции пользователей подвисают (например сессия, которая делает апдейт таблицы, указывается как блокирующая для нескольких других сессий) а мне говорят, что я хуй, не шарящий в локах, и проблема скорее всего в матвьюхах, которые при рефреше жрут диск. Хотел б попросить совета, как мне точно определить причину того, что процессы БД упираются в доступ к диску и грузят его на 100%? Из доступных инструментов есть только трассировка сессии и tkprof, доступа к Enterprise managerу нет.
Аноним 13/09/17 Срд 17:53:37  1061404
>>1034303 (OP)
Оп, поясни позязя, а зачем столько лишних телодвижений выполняет на оп-пике? Разве это быстрее будет, чем просто удаление по фильтру?
Аноним 13/09/17 Срд 18:37:26  1061429
Есть один сайт на битрексе , бд кодировка-сравнние utf8_unicode_ci .
Когда пользователь оставляет сообщения с яблока или андроида содержащие в себе, так называемые emoji смайлы , то текст сообщения сохраняется( в бд и сответсвенно нормально выводится другим пользователям ) , a emoji смайлы вырезаются из сообщения и не сохраняются в бд. Понятно что нужно менять,кодировку-сравнение соеденения и таблиц БД на utf8mb4_unicode_ci учитывая что индексы по полям типа VARCHAR ИЗМЕНЯТ СВОЮ ДИННУ С 255 НА 191( ибо символ станет занимать 4 байта вместо трех) и прочие прелести?

Аноним 14/09/17 Чтв 01:37:15  1061656
>>1061404
Оп-пик для привлечения внимания:3 в нем наитупейший запрос для демонстраци того, насколько неоптимально иногда пишут люди.
Аноним 14/09/17 Чтв 01:38:52  1061658
>>1061380
>ВОЗМОЖНО С ДМЛ
Лул, посмотри профайлером, что там выполняется, не тупи.
Аноним 14/09/17 Чтв 12:10:09  1061801
>>1061658
Бро, это не так просто, т.к. еще нужно определить, какая именно программная единица запускается, я судил по тому, что выполняется в данный момент в сессии и это был апдейт таблицы, сессия лочила другие. Мне тут даже важнее знать, правильно ли я понимаю принцип работы блокировок.
Аноним 14/09/17 Чтв 14:19:08  1061847
>>1061801
Окей, принципы работы блокировок зависят от уровня изоляции транзакций, по умолчанию стоит read committed в реляционных транзакционных субд. Можешт почитать про него и понять, какие операции какие уровни блокировок вызывают.
Например, update будет лочить всю таблицу, если на ней нет кластерного индекса. Если же он есть, то лочиться будут только те строки, которые этому апдейту подлежат.
Аноним 14/09/17 Чтв 17:15:50  1061913
Какую программу скачать, чтобы ебашить базы данных? Нихуя не понятно, БД это же блядь простая тема, а как читаю какой-либо материал, связанный с SQL, то у меня сразу возникает чувство, что кто-то решил поввыебываться.
Аноним 14/09/17 Чтв 17:35:29  1061917
>>1061913
>программу для баз данных
>выебываются

Скачивай database.exe, тут в треде только понты разводят.
Аноним 14/09/17 Чтв 17:37:13  1061918
>>1061917
Вот ты иди нахуй.
Аноним 14/09/17 Чтв 18:06:03  1061932
>>1061913
Скачай MS SQL Server минимум 2015 версии и не спрашивай: 'почему?'
Аноним 14/09/17 Чтв 20:30:31  1062025
>>1061913
в го и шахматах тоже правила не сложные
Аноним 15/09/17 Птн 05:11:56  1062144
image.png (58Кб, 845x542)
>>1034303 (OP)
Сап /pr, есть одна лаба.
Нужно из цитаты выделить предметную область, построить инфологическую модель, в общем полностью реализовать базу данных, имеющую +- 10 сущностей и как минимум одну связь многие ко многим. Офк использование той или иной сущности всегда должно быть оправдано. Мне нужна помощь с инфологической моделью, собственна сам сабж:

Первые данные оптических наблюдений поступили спустя несколько минут после сообщения "Леонова"; непосредственные контакты начались уже через считанные часы. Бывший биржевой клерк прогуливал своего бульдога по Йоркшир-Мурз, когда рядом с ним приземлился дисковидный космический корабль и энлонавт, выглядевший - если не считать заостренных ушей - совсем как человек, осведомился, как попасть на Даунинг-стрит. Представитель человечества был поражен настолько, что смог лишь махнуть тростью в направлении Уайтхолла. Истинность происшедшего подтверждал тот факт, что бульдог теперь отказывается от пищи.

Пикрелейт - моя уебищная модель, желтым выделена сущность, которую я бы хотел прицепить, но не особо понимаю как это сделать правильно, и момент в котором кажется проебалсявся модель
Возможно, лучше стержневой сущностью делать не контакт, а улицу и переделывать все ? Покидайте идей пожалуйста, что тут можно пофиксить
язык - postgre
Аноним 15/09/17 Птн 07:41:31  1062164
>>1062144
2000 руб. Срок 2 дн. Идет?
Аноним 15/09/17 Птн 09:09:47  1062185
>>1062164
На что тебе срок 2 дня? Модель придумать? Ты откуда такой взялся?
Аноним 15/09/17 Птн 10:28:38  1062220
>>1062144
Обстоятельства контакта - звучит как таблица, в которую вообще всё можно запихнуть, что связано непосредственно с контактом. Связи с действующим лицом может и не быть. Например, в городе шёл сильный дождь (разве что ты в действующее лицо город вставишь, что не совсем так). Так что это скорее всего 1 контакт - много обстоятельств.
Не понятно, зачем таблица значение (контакта?) к улице. Я думаю, что это по сути тоже самое, что последствия контакта.
У контакта несколько действующих лиц, у разных контактов могут быть одни и те же действующие лица, на лицо связь N:N. В промежуточной таблице можно хранить состояние действующего лица на момент данного контакта (то, что ты хотел в обстоятельства контакта вставить, по сути это и есть обстоятельства контакта в твоём смысле).
Аноним 15/09/17 Птн 10:35:18  1062224
Суп. Есть две таблицы, в обеих есть поле ID. Нужно взять из первой ФИО, дату рождения и объединить с адресом из второй таблицы где ID из первой таблицы совпадает с ID из второй таблицы. Как это сделать?
Аноним 15/09/17 Птн 10:40:10  1062227
>>1062224
Какой-нибудь JOIN.
Аноним 15/09/17 Птн 12:23:12  1062271
>>1062227
Тебе че, сука, сложно написать нормальный ответ?
Аноним 15/09/17 Птн 14:57:50  1062321
>>1062271
Какой вопрос - такой и ответ blyad
Аноним 15/09/17 Птн 15:17:26  1062333
>>1062224
SELECT
Таблица1.ФИО,
Таблица1.ДатаРождения,
Таблица2.Адрес
FROM Таблица1
JOIN Таблица2 ON Таблица1.ID = Таблица2.ID
Аноним 15/09/17 Птн 15:31:23  1062342
>>1062224
table1.id, table1.fio, table1.dr
table2.id, table2.address

SELECT table1.id, table1.fio, table1.dr, table2.address FROM table1, table2 WHERE table1.id=table2.id AND table1.id=...

(или table1.id IN(......))

или
SELECT table1.id, table1.fio, table1.dr
FROM table1
INNER JOIN table2 ON(table1.id=table2.id)
WHERE table1.id=.......

Аноним 15/09/17 Птн 17:30:46  1062396
>>1062144
Где удобнее всего пилить такие диаграммы?
Аноним 15/09/17 Птн 17:39:50  1062397
>>1062396
Из классики - erwin.
Аноним 15/09/17 Птн 18:10:50  1062405
>>1034303 (OP)
Помогите понять как в Оракле числа прибавляются к датам.
например
сейчас 15.09.17 18:08

SELECT SYSDATE + 5
FROM DUAL


результат будет 20.09.17

а вот если

SELECT SYSDATE + 5.5
FROM DUAL


Там единица считается за 24 часа и в зависимости от того сколько сейчас времени будет прибавляться +5 дней и +12 часов, то есть 21.09.17 ???
Аноним 15/09/17 Птн 18:14:23  1062407
Я вообще не понимаю, почему если хочу сделать бд, я должен куда-то коннектится, какие-то хосты, порты указывать. Почему я не могу просто в клиенте написать код, выполнить и получить результат?
Аноним 15/09/17 Птн 18:15:22  1062409
>>1062407
А позволь поинтересоваться, где у тебя в таком случае будут физически храниться данные?
Аноним 15/09/17 Птн 18:20:16  1062413
>>1062409
На компуктере же. Ну может, там надо будет указывать адрес-имя-пароль, чтобы типа как в настоящей бд.
Аноним 15/09/17 Птн 18:22:32  1062414
>>1062413
Ну значит у тебя будет localhost, в чем проблема-то?

Не всегда можно все данные иметь на своём кампутере, представь, что объём данный настолько велик, что для его хранения нужен целый датацентр с кучей серверов
Аноним 15/09/17 Птн 18:22:41  1062415
Я просто начал изучать SQL и у меня такое чувство, что я что-то упускаю, и ни в одном уроке этого нет. Скачал оракл sqldeveloper, запускаю, пытаюсь создать соединение, а у меня выходит ошибка: The Network Adapter could not establish the connection. Гуглю, а там ничего не понятно.
Аноним 15/09/17 Птн 18:27:17  1062417
>>1062415
Посмотри через консоль кто занял порт, который ты указываешь и отключи потом эту службу
Аноним 15/09/17 Птн 18:36:55  1062420
>>1062407
библиотека sqlite3, должна быть для всех основных языков. База создаётся в файле или памяти.
Аноним 15/09/17 Птн 18:41:12  1062429
>>1062405
бамп
Аноним 15/09/17 Птн 18:56:54  1062438
>>1062417
1521 порт, никто его не занимает.
Аноним 15/09/17 Птн 19:08:54  1062449
>>1062405
>>1062429
sysdate: текущее время
sysdate + 1: это +1 сутки.
sysdate + 1/24: +1 час это 1/24
1 минута 1/24/60 и т.д.

В твоем случае 5.5 это как 5 дней + 12/24 (0.5) = 12 часов.
Аноним 15/09/17 Птн 19:34:49  1062451
>>1062449
Ну и как результат
15.09.2017 18:08 + 5.5 = 21.09.2017 06:08

а вот если
select trunc(sysdate) + 5.5 то будет 20.09.2017 12:00
Аноним 15/09/17 Птн 19:58:31  1062455
image.png (61Кб, 937x589)
>>1062164
Орнул
>>1062220
1.Обстоятельства контакта, это то при каких событиях произошла встреча человека и нло. там написано же, что это. ( красный текст) Про независимые природные явления в цитате не говорится, собствена поэтому я не понимаю, почему ты считаешь, что связи с действующим лицом может не быть, эта таблица по сути то, как лица столкнулись вообще.
>Так что это скорее всего 1 контакт - много обстоятельств.
Не совсем понял, о чем ты. (?)

2. Таблица значение - значение улицы в контакте.
Йоркшир-Мурз - место встречи
Даунинг-стрит.- цель контакта
Уайтхолл - результат контакта
Думаю теперь понятно, что это не одно и то же
Но вот тут меня как раз смущает, что возможно, место, цель и результат как раз нужно пилить отдельными сущностями, но тогда модель вообще другая будет, да и у меня не получилось ее так запилить
3. Годно, спасибо Пикрелейт, так? Тогда к чему лучше прицепить последствие контакта? К обстоятельствам?
>>1062396
https://go.gliffy.com/go/html5/launch
Аноним 15/09/17 Птн 20:54:56  1062498
>>1062455
>1.
Я воспринял эту таблицу масштабнее, как контекст.
>3.
Если ты последствия относительно действующих лиц берёшь, то можно туда же запихнуть. А можно в параллельную таблицу. Тогда появится какое-то место для манёвра. Например, последствия имели влияние на других людей. Или с собакой было всё нормально, никаких последствий.
>2.
Место встречи ты уже слил в контакт. Текущая цель контакта явно зависит от времени и места, что однозначно определяется контактом. Обстоятельства контакта хорошо подходят, можно опять же отдельную таблицу сделать, которая будет зависеть от обстоятельства или непосредственно от контакта и лица.
Результат аналогично, только от последствий цепляться.
Аноним 15/09/17 Птн 22:21:46  1062550
Синтаксис MySQL сильно отличается от Oracle?
Аноним 15/09/17 Птн 22:49:12  1062570
>>1062550
Даже если отличается- не похуй ли? Все реляционки одинаковые +\-. Знаешь одну, разберешься и с другой.
Аноним 15/09/17 Птн 22:51:30  1062573
>>1062570
У меня просто есть скрипт для одного, а работать, возможно, придется в другом.
Аноним 15/09/17 Птн 23:03:48  1062577
>>1062570
Все одинаковые, да только дьявол в мелочах.
>>1062573
Ты конкретнее говори. Для начала - ты скрипты оракла хочешь адаптировать к mysql или наоборот?
Аноним 15/09/17 Птн 23:04:57  1062578
>>1062577
>ты скрипты оракла хочешь адаптировать к mysql
Да.
Аноним 15/09/17 Птн 23:28:42  1062592
>>1062578
Тебе зачем? Миграция бд или просто оракл ставить не хочешь, да на орм надеешься?
В оракле по иному обрабатывается null, свой набор функций в sql-движке (nvl2, decode..), есть свой синтаксис для джоинов, который некоторые уникумы даже используют. Также всякие мелочи, вроде аналитических функций, rownum, rowid, и это я не коснулся pl/sql, aq, pipeline-функций, хранимок на джаве, xmldb и кучи dbms_*. Имхо, даже на db2 при всей его совместимости с ораклом не всё может быть гладко.
Аноним 15/09/17 Птн 23:32:13  1062593
>>1062578
Но в целом, пока держишься в рамках стандарта, больших проблем быть не должно, помни только про null и rownum
Аноним 15/09/17 Птн 23:32:16  1062594
Нубский вопрос. Есть две таблицы: пользователи и мероприятия, пользователь может участвовать во многих мероприятиях, при участии в мероприятии пользователь может менять цифровое значение связанное с этим мероприятием, отдельное для каждого мероприятия. Как это лучше реализовать? Создать отдельную таблицу вида "пк мероприятие значение" и в таблице пользователей давать ссылку на нужные пк?
Аноним 16/09/17 Суб 10:10:11  1062699
>>1062594
Третья таблица с композитным ключом пользователь+мероприятие, там твои значения цифровые.
Аноним 16/09/17 Суб 10:42:48  1062705
>>1062594
Классика- связь 'один- ко- многим'. Две таблицы:
1. Users
Колонки.
Id bigint
Name varchar 128
Comment varchar

2. Meeting
Колонки.
Id bigint
Userid bigint
MeeteengDescr varchar 256

Связь по user.id = meeting.userid
Аноним 16/09/17 Суб 13:39:47  1062780
>>1062699
> с композитным ключом
Нахуй. Только суррогатный ключ и два FK, только хардкор.
Аноним 16/09/17 Суб 14:41:45  1062804
>>1062780
Поясни, почему, я теоретик полный в БД, мог и в лужу пердануть
Аноним 16/09/17 Суб 17:18:31  1062898
>>1062415
Хотя я кажется понял. У меня же интернет через роутер подключен. Может быть в этом проблема?
Аноним 16/09/17 Суб 17:44:49  1062908
>>1062898
Хотя если напрямую подключить, ничего не меняется. Блядь. Никак с локалхостом не получается соединиться.
Аноним 16/09/17 Суб 18:43:05  1062925
Ну и жопа эти ваши бд.
Аноним 16/09/17 Суб 18:57:18  1062928
>>1062908

Тебе выше мудрый анон уже посоветовал: потыкай палочкой библиотеку sqlite3.
Аноним 16/09/17 Суб 19:19:56  1062940
>>1062928
Я не умею тыкать библиотеки. Сейчас поставлю MySQL, там-то уж точно все просто.
Аноним 16/09/17 Суб 21:57:44  1062983
>>1062415
Оракловый клиент установлен? в tnsnames прописан локалхост?

Пацики, кто-нибудь работал с языком PL/PLUS? Если кто не в курсе, то это встроенный язык для АБС, на основе pl/sql. Что из себя представляет ваша работа?
Аноним 16/09/17 Суб 21:59:54  1062985
>>1062983
>Оракловый клиент установлен? в tnsnames прописан локалхост?
Нет, но я уже понял, что я просто не установил все, что нужно. И даже мигратор с оракла на MySQL нашел.
Аноним 19/09/17 Втр 15:13:53  1063835
Вечер в хату, SQL-щики. Есть какие-то универсальные способы оптимизации запроса SELECT * FROM <table> в MySQL? Немного обидно, что всякое говно с индексацией занимает примерно 0.01-0.02 сек, а запрос вообще без поиска 2 сек, а то и больше. Что здесь кривое? Руки, железо, язык (с#, .NET Connnector)? Чем посоветуете обмазаться?
Аноним 19/09/17 Втр 15:16:14  1063837
>>1063835
Подчеркну: только SELECT * FROM <table>. Без продолжения, без условий, сортировки и прочего.
Аноним 19/09/17 Втр 17:47:53  1063880
Блин, как включить нумерацию строк а Oracle developer?
Аноним 19/09/17 Втр 20:58:53  1064007
Чет оракл дохуя памяти жрет, даже когда все выключено. Есть какие-нибудь способы это пофиксить? А то каждый раз после выхода отрубать оракловскую sql службу лень.
Аноним 19/09/17 Втр 21:35:12  1064047
>>1063835
Это тротлинг или ты тупой?
Ты ж всю таблицу выбираешь при таком запросе, а при фильтрации - не всю.
Аноним 19/09/17 Втр 22:21:08  1064070
>>1064047
Это не троллинг. Вообще-то кроме самого синтаксиса есть еще схемы, кеширование и много разной хрени. Например, а что если MyISAM лучше InnoDB для конкретных типов запросов? Вот и спрашиваю у спецов
Аноним 20/09/17 Срд 00:07:00  1064102
IMG0713.JPG (132Кб, 960x720)
>>1063835
Мнрго факторов:
1. Размер таблицы (типы данных каждого поля)
Например, если у тебя в таблице куча полей nvarchar(4000), то выбираться будет долго жлементарно из-за твоей скорости инета
2. Скорость соединения - селект будет идти до хуя долго при скорости 0.00001 кбит/сек, а индексация происходит на сервера, там важна только скорость записи и чтения на диске, она зачастую в разы выше скорости инета
3. Однозначно не могу сказать, но бывает, что сортированные данные выбираются быстрее, чем просто куча - гугли index scan vs table scan
4. Хочешь быстро выбрать и уверен, что со скоростью инета у тебя все збс? Тогда выбирай в несколько потоков внутри приложения, например, в таблице 20 тыщ строк, в одном потоке выбираешь 10 тыщ и одновременно с этим во втором потоке - тоже 10 тыщ. Если же у тебя отчет, который каждый раз селектит все из таблицы, у меня для тебя плохие новости. Пользователю не нужны сразу все данные, параметр зуй запрос и заставь юзера выбирать данные только по срезам.

Собсна, все.
Аноним 20/09/17 Срд 00:08:11  1064103
>>1064102
А, ну и коннектор, хз, что ты там юзаешь, надеюсь, не OLEDB (мы ж про дот нет говорим), адо.нет общепризнанно работает быстрее.
Аноним 20/09/17 Срд 08:27:36  1064151
Есть большой массив с кучей текстовых айди в БД, а есть второй такой же маленький. Нужно узнать, какие из айди в этом маленьком присутствуют в базе данных. Как такое лучше всего и правильно сделать?
Конкретной бд никакой ещё нет, просто пришло время перекатываться с сохраняемых на диск json'ов, поэтому если хранить один большой массив это не круто, готов поменять.
Аноним 20/09/17 Срд 09:01:15  1064163
>>1064151
Сгенерить запрос, который кладет айдишники из массива во временную таблицу, а потом переджойнить реальную таблтцу с временной по айдишникам, ну или просто взять except-ом записи из реальной таблицы и временной.
Аноним 20/09/17 Срд 10:56:32  1064181
>>1064163
Звучит как-то громоздно создавать-джоинить-удалять таблицы. (Или нет, я вообще понятия не имею.) Мне это не один раз сделать, а при каждом открытии страницы / запросе пользователя. "Большой" это я, возможно, преувеличил, там не миллионы элементом, а тысячи. А маленький несколько десятков/сотня.

>просто взять except-ом
В смысле intersect'ом? А то иначе совсем не то будет.
Аноним 20/09/17 Срд 12:00:19  1064188
>>1064181
Прост inner джоинишь в лоб по id + group или distinct. Ещё можно union по id
Аноним 20/09/17 Срд 12:02:11  1064189
olapi21.gif (16Кб, 719x760)
Привет, котоны. Вопрос наверное избитый, но все же спрошу, мало ли есть какой-то универсальный вариант. Суть такова: пилю сайт каталога товаров, товары разные, с разными характеристиками. Пока все они нормально разбиваются на категории и подкатегории. Характеристики товаров разных категорий и подкатегорий совершенно разные и мне нужно придумать структуру БД, которая позволила бы отображать на странице каталога список товаров с удобным фильтром, типа как здесь: http://www.nix.ru/price/index.html.
Есть, например, категория "Жесткие диски". В ней подкатегории: "Seagate", "Toshiba", "WD". Пользователь из общего каталога товаров переходит в категории "жесткие дески", из нее в категорию "WD" и там видит полный список всех жестких дисков производителя WD. А также панель фильтров, например: "Серия", "Емкость", "Интерфейс". Поставив галочку на "2Тб" в фильтре ему будут показываться жесткие диски производителя WD с емкостью 2Тб. Поставив дополнительную галочку на "Black" ему будут показываться жесткие диски производителя WD, емкостью 2Тб и серии Black. И так далее. Какую наиболее простую структуру БД для этого составить? Пока из вариантов следующие таблицы: "Категория", "Товар" и по одной таблице на каждую подкатегорию со своим набором характеристик.
Аноним 20/09/17 Срд 12:44:30  1064197
>>1064188
Но входные данные ("маленький массив") у меня не в базе данных. Мне, получается, нужно:
1. создать таблицу
2. заполнить её новымы данными
3. заджоинить её с основной
4. достать все оставшиеся значения из этой получившейся
5. удалить всё лишнее (я не в курсе, создаётся ли на третьем шаге третья или изменяется одна из двух)
Это норм?
Аноним 20/09/17 Срд 17:13:54  1064268
>>1064197
Что мешает хранить данные в базе? Поддерживать одновременно таблицу и файл?
Аноним 20/09/17 Срд 17:40:38  1064276
>>1064189
А, все, отбой. Придумал структуру.
Аноним 20/09/17 Срд 19:05:39  1064295
>>1064197
Ну раз уж на то пошло, то проверь этот метод. Может тебе будет как раз.
Аноним 20/09/17 Срд 20:26:00  1064344
>>1064197
Да, все верно расписал, я бы так и сделал.
Аноним 20/09/17 Срд 21:05:06  1064364
>>1064007
Бамп
Аноним 21/09/17 Чтв 03:57:09  1064464
Ньюфаг в треде, подскажите, считается ли зашкваром создавать под каждого юзера приложения пачку бд вида юзер1.френдс, юзер1.задачи итд. Или как это правильно организовать? mysql 5.7, php
Аноним 21/09/17 Чтв 05:32:50  1064470
>>1064464
Зашквар.
Аноним 21/09/17 Чтв 05:41:57  1064471
>>1064470
А как правильно организовать? Дайте статью хотя бы, нагуглить не могу.
Есть таблица юзеров, на каждого юзера нужен список им созданных задач( каждая из которых тоже список ключ-значение), например.
Аноним 21/09/17 Чтв 09:01:29  1064496
>>1064471
Ну так и сделай в таблице с задачами ссылку на пользователя, шо ты, в самом деле
>task_id
>user_id
Аноним 22/09/17 Птн 11:50:38  1064933
Чем отличаются коррелированный подзапрос от некоррелированного?
Аноним 23/09/17 Суб 08:18:45  1065291
>>1035594
Работаю в п.2. Хуячу ETL(обычно помесь Informatica PowerCenter, shell скриптов, самописных хранимых процедур), документирую их.

Также решаю более "аналитические" задачи - нужно через мутные разговоры с аналитиками, разрабами и менеджерами всех мастей разобраться, где что лежит в определенной удаленной БД и как получить оттуда нужные данные, которые бы удовлетворили заказчика. ПОдробнее описывать лень и получится слишком уж конкретно...
Аноним 23/09/17 Суб 11:44:31  1065374
>>1064933
Тем, что в коррелированном подзапросе ты обязательно указываешь связь с данными из внешнего запроса, то есть, у тебя для каждой строчки внешнего запроса могут получиться различные результаты, возвращаемые подзапросом.
А некоррелированный всегда возвращает одно и то же.
Аноним 23/09/17 Суб 12:54:14  1065392
Сап. Можно как - то в sql создать таблицу как на пике?
Аноним 23/09/17 Суб 13:53:12  1065401
>>1065392
Нет, в реляционной базе данных каждая таблица состоит из строк, такая хуйня возможна только в объектной - документной бд путем укладывания туда json-a, xml-a или чего-то подобного.
Другое дело, что некоторые реляционные субд уже прддерживают такую фичу, например, ms sql, постгрес там.
Под поддерживают я имею в виду не просто возможность положить строку в формате джейсона, но еще и набор функций для того, чтобы что-то конкретное оттуда потом достать.
Аноним 23/09/17 Суб 18:52:51  1065546
Добрый вечер.
Есть достаточно большой опыт етл дева, оркл, инфа, пл скл, оптимизация, отчетики сап бо.
Не так давно начал перекат в бигдата - мапредюс, Спарк и прочее. Пишу говнокод на Ява-скала.
Какой вариант развития лучше?
какой уровень ЗП можно получить в том же дс как реляционщику,, каковы перспективы, потолок?
По личному - от скл и информатики тошнит, все время считал это зашквар и комплексовал что не программист.
Заодно, что посоветуете?
Аноним 23/09/17 Суб 19:44:17  1065562
>>1065546
Так иди в тред про машобчик, там тебе посоны за все пояснят, нас ты уже перерос, думаю.
Аноним 23/09/17 Суб 20:33:10  1065589
>>1065401
Спасибо, анон
Аноним 23/09/17 Суб 22:10:55  1065665
Pl/SQL
Ошибки не выдает, однако ожидаемых действий (изменения в столбце description таблицы products) нету.
Что я делаю не так? Пробовал вместо pdata делать массив - выбивает ошибки.

CREATE OR REPLACE PROCEDURE DescPrice(idMFR IN NUMBER, point_price IN NUMBER )
IS
str_cheap VARCHAR2 (50);
str_exp VARCHAR2 (50);
pdata NUMBER(4,0);

BEGIN
str_cheap := 'Дешевый товар';
str_exp := 'Дорогой товар';

SELECT PRODUCT_ID INTO pdata FROM PRODUCTS WHERE MFR_ID = &idMFR AND price > &point_price;

UPDATE PRODUCTS SET description = str_exp WHERE PRODUCT_ID = pdata;
UPDATE PRODUCTS SET description = str_cheap WHERE PRODUCT_ID != pdata AND MFR_ID = idMFR;

dbms_output.put_line(pdata);

END DescPrice;

Аноним 23/09/17 Суб 23:29:12  1065701
Еще вопрос - как сделать, чтоб функция возвращала коллекцию?
При попытке написать при обьявлении return collection_name пишет, что нельзя использовать необьявленный тип.
Аноним 24/09/17 Вск 12:22:25  1065794
Сап, не видел ли кто в интернетах бдшку со списком всех книг (хотя бы русских/англоязычных), с указательством автора?
Аноним 24/09/17 Вск 12:29:45  1065796
>>1065794
Окей, нашел список литературы в ISBN (https://www.books-by-isbn.com/cg-russian_federation_and_ex_ussr.html), может ли кто подсказать, как оттуда можно выкачать весь этот список и как-то засунуть их в БДшку?
Аноним 24/09/17 Вск 14:05:13  1065839
>>1065796
Нужно писать скрипт на каком-нибудь ЯП и потом из него вносить данные в БД.
Аноним 24/09/17 Вск 14:21:38  1065847
image.png (28Кб, 318x317)
image.png (17Кб, 321x253)
Аноны, есть база на постгресе, и в ней есть табличка с полем parse_time формата TIME, в базах не особо силён, но не могу понять, какого хрена не делается выборка по времени?
Толкните меня в нужную сторону или расскажите в чём проблема.
Аноним 24/09/17 Вск 14:43:22  1065861
Снимок.PNG (8Кб, 597x112)
Снимок1.PNG (4Кб, 396x83)
Как предусмотреть ввод пользователем года равного нулю?

Почему то что я написал выдаёт ошибку на втором пике?
Аноним 24/09/17 Вск 15:04:48  1065867
а.PNG (8Кб, 594x151)
Как с помощью WITH ... AS()
сделать таблицу, с которой можно было бы совершать команды DML, например, как соединить эти 2 строчки на пике
Аноним 24/09/17 Вск 16:18:18  1065886
>>1065847
Попробуй привести строку к типу time

('23:03:06'::time)
Аноним 24/09/17 Вск 16:21:42  1065888
>>1065861
Ни хуя не понятно, где предусмотреть? Приведи кейс и описание фрагмета своего приложения.
>>1065867
Ну это, вообще, ПУШКА,
Конструкция with - это такой подзапрос, ты не можешь выполнять с ней операции dml, для этого тебе нужно создать временную таблицу.
Аноним 24/09/17 Вск 16:55:12  1065896
ааа.PNG (13Кб, 797x153)
>>1065888
>Приведи кейс и описание фрагмета своего приложения
Приложение это решение задачи:
В 1845 году в США была установлена традиция, согласно которой выборы президента проводятся во вторник после первого понедельника ноября в год, делящийся на 4 без остатка. Определить, дату ближайших к заданной дате президентских выборов в США.

Я не буду приводить весь код, что бы не сбивать с толку,
а дам только неработающую ветку в операторе ветвления
я предусмотрел все варианты, кроме одного - когда пользователь введет дату с нулывым годом ,
в принципе, нулевого года не существует по григорианскому календарю,
в оракле он тоже судя по всему не проходит,
поэтому я пытаюсь отловить этот год на этапе ввода данных, но не знаю как мне вычленить из вормата 'DD.MM.SYYYY' год SYYYY и сравнить его с нулем и выбросить строку 'NEPRAVILNO'

https://pastebin.com/m8zwMSna

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


>>1065888
а если я так напишу

CREATE TABLE MY_EMPLOYEE
(ID NUMBER(4) CONSTRAINT MY_EMPLOYEE_ID_NN NOT NULL,
LAST_NAME VARCHAR2(25),
FIRST_NAME VARCHAR2(25),
USERID VARCHAR2(8),
SALARY NUMBER(9,2)
);

это временная или обычная?
чем они отличаются вообще кроме названия
Аноним 24/09/17 Вск 16:57:17  1065897
>>1065896
>на этапе ввода данных
в приведенном коде этого нет, это просто моя догадка)
можно сделать еще один case для первого столбца,
но проблема все та же, как вычленить число SYYYY из DD.MM.SYYYY при вводе данных
я ведь ввожу как бы строку?
Аноним 24/09/17 Вск 17:35:17  1065904
>>1065886
Не помогло.
Сделал просто через:
SELECT * FROM packets
WHERE parse_time >= '23:03:06'
И всё ок, мне в принципе подходит такое решение.
Но всё же странно что оно так вот работает.
Аноним 24/09/17 Вск 19:36:57  1065944
>>1065546
меня от SQL не тошнит, но в биг дату получше влиться тоже желаю. Сейчас по англоязчным туториалам развернул себе одноузловый "кластер" и потестил его. Сейчас смотрю как на питоне map-reduce джобы писать. Наверное на джаве тоже придется научиться.

По мне так это наверное будет не перекат, просто расширение навыков. А роль похожа - ETL, оптимизация "запросов"(которые за кулисами - мапредьюс) и т.д.
Аноним 24/09/17 Вск 20:04:56  1065951
>>1065904
Вангую, что в тайм есть еще милисекунды, которые лежат в табличке, но в результате твоего первого селекта не выводятся.
Аноним 24/09/17 Вск 20:06:26  1065953
>>1065944
Только придется еще в матстате и эконометрике прошариться, потому что чел, который занимается багдатой, но не умеет исследовать данные, нахуй никому не нужен.
Аноним 24/09/17 Вск 20:17:42  1065955
>>1065953
Ну, тащемта, на это есть датасаенс и датасаентисты, не? Или ты единорогом хочешь стать?
Аноним 24/09/17 Вск 20:59:05  1065972
>>1065955
Сужу по опыту, вижу, что те, кто занимается анализом бигдатыи машилернингом, как раз и выступают в роли разработчиков, у меня в конторе так, больше скажу, ходил на конференции мейл.сру, так дела обстоят точно так же.
Просто делюсь инфой, если хотите, учите спарки с мэпредьюсами без математики, никто ж не запрещает.
Аноним 24/09/17 Вск 21:04:22  1065975
>>1065972
Я в большой телеком компании; на мой взгляд всё же есть тенденция всё же к разделению труда, где есть более-менее четкие роли санетистов и инженеров.

Мне в принципе пох, мне интересны обе стороны медали. Спасибо за информацию
Аноним 24/09/17 Вск 21:39:15  1065983
>>1065972
Разделение у меня тоже есть. Писать етл и модели - все таки разные вещи. По вакансиям вроде где как. Где то хотят мл где то нет. Конечно не лишним будет.
Аноним 24/09/17 Вск 22:44:24  1065996
>>1065951
Нет, милисекунд нету, я в таблицу передаю именно чч/мм/сс и всё.
Аноним 24/09/17 Вск 22:51:38  1066001
image.png (40Кб, 527x270)
>>1065996
p.s. Я глядул код, в принципе что-то такое есть. Только я передаю БД строку формата datetime и она уже её делит на дату и время. Но всё равно там милисекунд нет. Странно.
Аноним 26/09/17 Втр 10:51:38  1066628
bd.png (58Кб, 828x463)
>>1034303 (OP)
Привет, котоны. Есть база товаров, нужно составить к ней запрос, который возвращал бы что-нибудь вроде этого:
1. Количество портов
1. 12
2. 24
3. 48
2. Производитель
1. Cisco
2. SNR
3. Asus
3. Скорость коммутационной матрицы
1. 48 Гбит/с
2. 64 Гбит/с

Запрос, который я составил возвращает следующее:
1. Количество портов 12
2. Количество портов 24
3. Количество портов 48
4. Производитель Cisco
5. Производитель SNR
6. Производитель Asus
7.Скорость коммутационной матрицы 48 Гбит/с
8. Скорость коммутационной матрицы 64 Гбит/с

Используя данную выборку я буду составлять панель фильтрации товаров на сайте в идеале двумя циклами:
Цикл по характеристикам
{
Имя характеристики
Цикл по значениям
{
Значение характеристики
}
}
Как мне правильно составить запрос, аноны? Пишу на PHP +Laravel.
Аноним 26/09/17 Втр 13:35:06  1066690
>>1066628
Структуру результата прозрачнее представь. У тебя есть строки и столбцы, у каждой строки есть свой уникальный номер, как во втором результате, а не 1,2,3,1,2,3... Тогда может быть ты сможешь сам решить.
Аноним 26/09/17 Втр 14:43:35  1066713
Пусто.jpg (174Кб, 959x350)
Пытаюсь построить сводную таблицу из модели данных Power Pivot. Не могу понять почему за 21 сентября данные нормально отображаются, а 20 сентября - (пусто). Хотя все данные из одного файла и вроде тип поставлен у них дата. Почему же появилась графа пусто?
Аноним 26/09/17 Втр 20:29:11  1066863
>>1066713
Очевидно, там есть пустые значения в исходных данных, посмотри просто их и фильтрани, там дрлжно быть где-то пусто.

Понту юзать PowerQuery, если честно, никакого не вижу, больше респектую стандартное подключение к ms sql.
Аноним 27/09/17 Срд 13:56:39  1067102
>>1064276
поделись тогда, я вот не придумао
Аноним 27/09/17 Срд 14:00:52  1067104
>>1065665
а где commit?
Аноним 27/09/17 Срд 14:05:26  1067109
>>1065701
тебе нужно создать тип на уровне Бд, т.е. как объект схемы, тогда можно в скл запросах использовать эту функцию как таблицу. Ассоциативные массивы таким образом использовать нельзя.
Аноним 27/09/17 Срд 15:25:55  1067151
Соси хуй
Аноним 28/09/17 Чтв 09:02:51  1067524
>>1067102
>>1066628
Аноним 28/09/17 Чтв 11:17:42  1067551
1.png (8Кб, 493x109)
2.png (13Кб, 452x130)
>>1066628
Так, ладно. С этим я разобрался. Теперь мне нужна помощь в другом. Нужно составить следующий запрос:
Допустим клиент в фильтре выбрал свойство 1 и значения для него 1 и 2, свойство 2 и значения для него 3 и 4. Как составить запрос, который вернул бы записи всех товаров, у которых в свойстве 1 есть значения 1 и 2, а в свойстве 2 есть значения 3 и 4? У меня запрос какой-то кривой получился, записи дублируются.
Аноним 28/09/17 Чтв 11:34:47  1067557
>>1067551
Лефт джоин, сука
Аноним 28/09/17 Чтв 11:42:41  1067561
>>1067557
Так он же по умолчанию считается как лефт, если явно не указывать.
Аноним 28/09/17 Чтв 11:50:43  1067566
>>1067561
Как inner по умолчанию!!!
Аноним 28/09/17 Чтв 11:52:13  1067567
>>1067557
Кстати, умник, какой смысл в left join'e, если накладывается условие на таблицы, которые джойнятся? Конкретно в этой записи записи запроса inner будет эквивалентен left'у!!!
Аноним 28/09/17 Чтв 13:03:53  1067588
>>1067566
Да пофиг, все равно ничего не изменилось. Может еще какие варианты есть? Разгребать выборку в коде как-то не хочется.
Аноним 28/09/17 Чтв 13:29:39  1067596
11.png (3Кб, 365x175)
>>1067588
Даже макаба возмущена.
Аноним 28/09/17 Чтв 13:53:16  1067606
>>1067596
Ты дибил блядь?
У тебя радные строки, одна строка по одному параметру, другая по второму
Какой груп бай бля дибил
Аноним 28/09/17 Чтв 13:53:31  1067607
>>1067596
А вообще нет, нихрена я не решил. Если свойства разные, то идет выборка по каждому из них и товары нормально не фильтруются. Как правильно зделость-то, а?
Аноним 28/09/17 Чтв 13:56:07  1067609
>>1067607
Тебе бля конечный вид какой надо
Имя / параметр 1 / параметр 2
-------
Имя / значение 1 / значение 2

Так бля?
Аноним 28/09/17 Чтв 13:59:22  1067610
>>1067609
Гугли короче pivot table, если хочешь красиво
Если некрасиво то ебись с case, group by и прочим
Аноним 28/09/17 Чтв 14:04:13  1067612
22.png (80Кб, 573x433)
>>1067609
Смотри какая у меня штука.
Если я выбираю в параметре "скорость коммутационной матрицы" значение "48 Гбит/с", то должны отображаться только те товары, у которых этот параметр имеет это значение. Соответственно, если помимо этого параметра я еще выбираю в параметре "емкость таблицы MAC-адресов" значение "16к", то должны отображаться только те товары, у которых скорость коммутационной матрицы = 48 Гбит/c и емкость таблицы MAC-адресов = 16к. В пределах одного параметра сейчас отображается все правильно, но если выбрать другие, то все смешивается.
Аноним 28/09/17 Чтв 15:38:00  1067649
>>1067612
Ну ведь это логично.
У тебя сейчас каждой строке в таблице соответствует две строки в дополнительных таблицах, отсюда и задвоение.
А так как у тебя в запросе OR, он тебе вернет не только строки, которые удовлетворяют обоим условиям, но и те, которые удовлетворяют одному условию.
В то же время, замена or на and на первый взгляд нихуя тебе не даст из-за своеобразной структуры.
Какой формат вывода тебе нужен, только сами товары, без наименований и значений параметров?
В таком случае тебе лучше использовать здесь конструкцию exists:

Select * from goods
Where exists (select по первому параметру из тех таблиц, которые ты джйнишь)
And exists (select аналогично по второму)

С уважением,
топ-ораклист-120к
Аноним 28/09/17 Чтв 15:48:29  1067656
>>1067649
Общая, тебе нужно джойнить дополнительные таблицы столько раз, сколько у тебя параметров
И писать условия через And
Это же блядь логично, не правда ли?
Что OR значит ИЛИ и выдаст тебе все продукты, у которые удовлетворяют условию 1 ИЛИ условию 2.
Аноним 28/09/17 Чтв 16:31:36  1067671
>>1067656
Так, подожди, сейчас я разгребу что ты мне написал и попробую. А то я ж не топ-ораклист-120к.
Аноним 28/09/17 Чтв 16:43:31  1067678
>>1067671
Разумеется.
Хоть я и перестал регулярно мониторить тред, но сегодня посижу, ок.
Аноним 28/09/17 Чтв 16:49:53  1067684
12.png (13Кб, 545x175)
22.png (26Кб, 760x186)
>>1067678
Видимо я вообще не понял как работать с EXISTS и у меня запрос достал вообще все записи из таблицы goods.
Аноним 28/09/17 Чтв 16:54:53  1067689
>>1067684
Ух бля дебил
Почитай про экзист
Нахуй ты ровно свой запрос туда пишешь, это бля как 1=1 написать
Скинь текст, могу отредактировать
Аноним 28/09/17 Чтв 16:56:26  1067690
>>1067689
Нет, не могу
Короче у тебя в запросе должно быть условие связки твоей основной таблицы с дополнительными, но джойнить её ещё раз не надо
Бля ты можешь просто прочитать как работает экзист? Сложно?
Аноним 28/09/17 Чтв 16:57:27  1067691
Ну и научись таблицы коротко называть
Аноним 28/09/17 Чтв 17:07:53  1067697
33.png (13Кб, 497x190)
>>1067691
Ты с телефона что ли капчуешь, что злой такой? В общем, взгляни на этот запрос - он выдает то, что мне нужно. Но я сейчас как обычно обрадуюсь и поспешу, так что мне нужно твое мнение как профессионала.
Аноним 28/09/17 Чтв 17:12:00  1067699
>>1067697
Всё верно, именно так экзист и используют.
Извини, я очень эмоционально нестабилен сейчас.
Аноним 28/09/17 Чтв 17:15:44  1067701
>>1067699
Понятно. Ну тогда большое тебе спасибо за помощь - очень выручил.
Аноним 28/09/17 Чтв 17:19:21  1067703
>>1067701
Обращайся.
Аноним 29/09/17 Птн 01:12:52  1067920
я хуею с вопросов, как вы сайтики клепаете, если простой селект не понимаете
Аноним 29/09/17 Птн 08:45:20  1067988
>>1067920
Ну так ведь клепание сайтиков это для животных
А тру боги клепают отчётность на оракле
Аноним 29/09/17 Птн 09:13:53  1067992
>>1067920
Простой селект, я думаю, здесь все понимают. А хитровыебанный уже не каждый.
Аноним 29/09/17 Птн 12:24:41  1068017
>>1067992
ммм, я спокоен за свою карьеоу
Аноним 29/09/17 Птн 12:54:21  1068027
>>1068017
Расскажи про карьеру
Аноним 29/09/17 Птн 13:08:57  1068032
>>1068027
карьера чмошника, знающего скл на уровне продвинутого чмошника
Аноним 29/09/17 Птн 13:53:48  1068049
>>1068032
О,ты это я
Аноним 29/09/17 Птн 17:25:40  1068126
>>1068049
хуево тебе
Аноним 29/09/17 Птн 19:27:35  1068217
>>1065867
With cte as ()
Insert into t1
Select * from cte

>>1065888
А вот и нихуя.
Вышеознаяенный шаблон изи отработает в sql server 2k12 и выше.
В оракле тоже.
Аноним 29/09/17 Птн 20:19:07  1068248
>>1068217
Либо в разных базах по-разному, либо ты ебаный дебил, потому что в оракле нужно писать
Insert
With
Select
В таком порядке
Аноним 29/09/17 Птн 22:17:03  1068316
Чуваки, я запутался. Пилю один опенсорсный прожект, есть два типа данных - обычные табличные данные, в целом с ними ничего не происходит. То есть когда-никогда закинул в новую таблицу очередную порцию и забыл, по этим табличным данным идет сверка других, "живых", данных, которые идут в виде key-value. Сейчас я сижу на постгресе, но меня она почему-то заебала. Диски заебывает докупать. Тридцать гигов закинул в пару таблиц и столько же занял индекс. А еще эти простыни ебанутого sql-кодеса, особенно ебанутого поиска по jsonb. И дело тут не в ORM. И вот я подумываю про съёб на монгу или что-нибудь такое. Хуйня в том, что у меня не только постгрес, у меня тут еще графовая cayley, постгрес для нее идет бекэндом. Читал много негативного про монгу, хуева куча в интернете кулсторей про миграцию с монги на постгрю и одна или две про обратное. Вот что бы вы посоветовали? Стоит рыпаться с постгри или не стоит? Что бы вы сделали на моем месте? Что вы думаете про монгу (только без траллинга, пожалуйста)?
Аноним 30/09/17 Суб 11:31:08  1068470
>>1068217
тогда я не понимаю, что ты хочешь сделать. Можешь объяснить еще раз нормально?
Аноним 30/09/17 Суб 11:48:23  1068485
>>1068316
У нас кластер монгос. Зависимость есть, брат жив.
Аноним 30/09/17 Суб 12:15:52  1068497
как из обычного join сделать cross join в оракле?
то есть
select from t1 join t2;
по идее долдно работать, но не работает в оракле, что к этому надо добавить,

старый синтаксис работает
select
from t1, t2;
это и есть декартово произведенте
как сделать то же самое но без клбчегого слова cross, но с join?
Аноним 30/09/17 Суб 12:17:17  1068498
>>1068316
>Что вы думаете про монгу (только без траллинга, пожалуйста)?
что в ней транзакций и хранимок нет, вот что.
Аноним 30/09/17 Суб 12:27:51  1068501
>>1068498
В ней есть хранимки в виде джаваскрипт-кода.
Аноним 30/09/17 Суб 13:06:10  1068515
>>1068497
>t1 join t2 on 1=1
Аноним 01/10/17 Вск 01:02:46  1068899
003.png (934Кб, 1000x745)
Решил наконец попробовать графовую СУБД, начал читать про neo4j и вот уже готов был ставить, как увидел, что она платная оказывается.
А она самая популярная и библиотеки под нее есть.
Полез смотреть дальше, вроде как следующая популярная это OrientDB. Но под нее уже с либами все гораздно хуже и язык запросов у них какой-то мутный.

В общем, что хотел спросить - может еще чего-нибудь посоветуете? Какие решения выбирают для продакшена?
Аноним 01/10/17 Вск 11:27:34  1069095
>>1068899
А язык какой? У нас, гоферов, есть cayley и dgraph. Кайли умеет в graphql, gizmo и mql, dgraph - graphql. Но если ты раньше не работал с графовыми базами, то любой язык запросов тебе покажется ебанутым потому что ебанутый сам язык, а логика запросов.
Аноним 02/10/17 Пнд 00:18:25  1069435
>>1069095
Воу, я совсем отстал, первый раз про них слышу.
Язык руби.
Похоже нужно перекатываться.
Аноним 03/10/17 Втр 19:42:47  1070130
Анон, привет. Хочу развиваться в сторону работы с данными, администрирования информационных систем. Подскажи какую книгу по дороге в метро можно читать про БД (именно теорию, потому что практические задания/команды нормально изучаются только за ПК)? Если я крайне мало знаю о них. Там про первичные, вторичные ключи и т.д. Сам сейчас изучаю sql и работу в excel (смотрю видосы на ютубе). Подскажи что еще требуется, куда двигаться.
Аноним 04/10/17 Срд 08:55:34  1070440
>>1070130
>Подскажи какую книгу по дороге в метро можно читать про БД (именно теорию, потому что практические задания/команды нормально изучаются только за ПК)?
An Introduction to Database Systems (8th Edition)
by C.J. Date
Link: http://a.co/frmPMxS
Аноним 04/10/17 Срд 11:29:42  1070471
Привет, стоит ли делать файл с подключением к БД на постгре который будут юзать сотрудники когда им, блять, заблагорассудится посмотреть на цифры?
Аноним 04/10/17 Срд 11:30:03  1070473
>>1070471
* в екселе
Аноним 04/10/17 Срд 14:15:45  1070525
Знающие, скажите плиз.
Кароч, замес такой. Мне 20, законченная вышка (да, круто, еее). Вышло так, что на 3 курсе случайно нашлась работа и слово за слово работаю полтора года с оракловыми бд и иже с ними.
Какие исходные на данный момент: Pl_sql, reports, forms это вот все на таком средненьком (в силу опыта) уровне ну и все, что дал универ (то есть много чего, но крайне слабо).
Задумываюсь о том, стоит ли оставаться в этой сфере или перекатиться во что-то другое, более трендовое и распространенное. Есть ли резон сидеть в этом всем. Ну и как обычно, что надо добавить к своему резюме, чтобы было больше шансов считаться нормальным спецом.
Аноним 04/10/17 Срд 18:56:14  1070628
>>1070525
>Мне 20, законченная вышка
Вут?
Аноним 04/10/17 Срд 21:55:22  1070775
>>1070471
А что такого? Это самый простой способ построить отчет. Если нету системы управления отчетностью, то почему нет?
Аноним 04/10/17 Срд 22:29:08  1070797
>>1069095
>cayley
А что значит, что она в качестве бекенда может использовать другие БД (sql, cassandra, mongo). Это как вообще?
Аноним 04/10/17 Срд 22:54:55  1070811
>>1070525
Просто расскажу как дела обстоят на рынке. Со знанием только sql и pl/sql выбор не велик: либо отчетики, либо легаси, где логика в БД. Еще можно вкатиться в администрирование Oracle, деньги там есть, а развитие хз. Если знаешь java, то вакансий становится в 10 раз больше, тут уже можно выбирать, есть и легаси, есть и новые проекты. Плюсиком тебе будет то, что ты продвинут в области БД. Короче сумбурно пишу, но я бы на твоем месте выучил распространенный язык и дальше в его экосистеме развивался бы. В случае чего, всегда можно найти говнопроектик для разраба БД. Ну а раз ты такой вундеркинд, то думаю без труда осилишь ту же джаву.
Аноним 04/10/17 Срд 22:57:08  1070812
>>1070471
Лол, делал такое, только с ораклом и еще в vba раскидывал данные по документам.
Аноним 04/10/17 Срд 22:58:07  1070813
>>1070811
> java
Занято.
Аноним 04/10/17 Срд 22:59:44  1070815
>>1070813
Тебе бутер с икрой или с корку хлеба черствую?
Аноним 04/10/17 Срд 23:36:12  1070842
>>1070815
Туалетную бумагу передай.
Аноним 05/10/17 Чтв 08:06:15  1071007
Можно в селекте устанавливать свои значения? Например есть таблица СТУДЕНТЫ и таблица ПИДАРАСЫ. По имени смотрим в таблице ПИДАРАСЫ студентов, если студент есть там, то в таблице СТУДЕНТЫ у этого студента в колонке пидарас ставим крестик.
Аноним 05/10/17 Чтв 10:54:56  1071045
>>1070811
Спасибо за хороший ответ.
В таком случае начну копать в этом направлении. Все-таки можно выучить минимум, а потом на работке дотянуть. Плюсик в карму.
Аноним 05/10/17 Чтв 10:57:42  1071046
>>1071007
Либо процедуру напиши, либо триггер на одну из таблиц повесь. А вообще изи задача.
Аноним 05/10/17 Чтв 11:02:35  1071048
>>1070775
Ну типа не сильно ли зашкварно в 2к19 году этим заниматься, и если макаки будут до обморока запрашивать данные, не сильно ли это загрузит бд. Да, я понимаю что всё от размеров и запроса зависит.
Аноним 05/10/17 Чтв 11:31:15  1071058
>>1071046
Не совсем понял. Ты точно правильно понял что я хотел сделать? Мне нужно для всех записей в таблице СТУДЕНТ, которые имеют ключ в таблице ПИДАРАСЫ, изменить поле 'пидарас'.
Аноним 05/10/17 Чтв 13:35:34  1071082
>>1071058
Ну вроде.
Если уже есть все таблицы, то пишешь процедуру.
В цикле по всем айди студентов :
Если селект из пидараса возвращает не пустое значение, то инсерт в студенты крестик, где айди студента такое то. Если вылетит эксепшн, что данных нет ( студент не пидр), то не делай нихуя.
Запускаешь процедуру.
Профит.
Не забудь комиты ставить после инсертов.
Аноним 05/10/17 Чтв 19:51:24  1071243
Анон, проходил кто на этом сайте курсы?
https://openedu.ru/course/spbstu/BIGDATA/
Аноним 05/10/17 Чтв 21:59:36  1071291
>>1071243
Я проходил в прошлом году 2 курса.
И прямо сейчас 3 прохожу.
Еще штук 11 в очереди (за все сразу не берусь, т.к. не осилю), там обычно перезапуски курсов в феврале и сентябре.
Прохожу для расширения кругозора, для себя.
Еще нравится stepic.org
Аноним 05/10/17 Чтв 22:04:02  1071293
>>1071291
А сертификат получал?
Аноним 05/10/17 Чтв 22:23:55  1071305
>>1071293
Бесплатный да.
Раньше их давали везде.
Год не заходил, сейчас где-то только платные дают, где-то как и раньше осталось.
Сертификат студентам надо, мне так, бумажка. Я сейчас на трех курсах за которые бесплатные сертификаты вроде не дадут.
Аноним 05/10/17 Чтв 22:55:42  1071315
>>1070797
Бамп вопросу
Аноним 06/10/17 Птн 01:30:13  1071392
>>1071048
Сделай там set transaction isolation level read uncommitted, пусть хоть обчитаются.
пок пок грязные данные, ога
Аноним 06/10/17 Птн 14:12:15  1071563
>>1071082
Сьеби с треда, быдло
>>1071058

Нормальные субд позволяют апдейты с джоином:

Update s
Set s.pidoras='x'
From students s
Join pidorasi p on p.student-id = s.student-id
Аноним 06/10/17 Птн 14:14:23  1071566
>>1071392
В пострге уровни изоляции как в спермосервере? Пиздишь же.
Аноним 06/10/17 Птн 15:03:40  1071596
что такое db_link в оракле, можете плиз объяснить
Аноним 06/10/17 Птн 19:46:51  1071725
>>1071596
Суть - устанавливается связь по сети между двумя разными инстансами, потом можно к примеру селктить из таблиц удаленной БД и вызывать хранимки.
Аноним 06/10/17 Птн 19:50:30  1071727
>>1071045
Не за что, еще есть как вариант быть разрабом на платформах, которые являются надстройкой над Oracle Db, например платформа для банков ЦФТ со своим PL+. Но это уныние и крайне узкая специализация.
Аноним 06/10/17 Птн 22:01:00  1071771
>>1071566
В гугле забанен?
https://www.postgresql.org/docs/9.3/static/sql-set-transaction.html
Аноним 06/10/17 Птн 22:21:18  1071782
>>1070525
резон есть.
тырпрайзные БД со своими хранимками и репортами всегда там, где есть, _что_ считать и за _что_ отчитываться. это не веб-макакинг никому не нужных приложений (пусть даже сегодня за это платят сжигая деньги, хотя уже не платят). тырпрайзная БД параша никуда не исчезнет никогда. со временем будет только еще больше данных, больше хранимок, энтерпрайза, хардкора. тырпрайзные
Аноним 07/10/17 Суб 00:17:10  1071814
image.png (19Кб, 328x275)
> PostgreSQL
Когда 1,5кк срок накапливается - вообще хуй дождёшься вывода.
Аноны, что почитать за оптимизацию постргреса и вообще про него?
Учил его по документации.
Аноним 07/10/17 Суб 00:45:23  1071822
kurwa.jpg (57Кб, 1280x720)
>>1071814
> full scan всех колонок
> бля, хули не секунда
Аноним 07/10/17 Суб 00:52:43  1071824
image.png (7Кб, 293x96)
>>1071822
Колонок всего лишь 12.
Хотя судя по всему...иду ка я нахуй, ты прав.
Аноним 07/10/17 Суб 12:31:48  1071896
какой приоритет в создании синонимов у оракла?
То есть увидев объект на который надо создать синоним он сначала ищет объект среди таблиц, потом среди предсиавлений итд
Может ли быть PUBLIC синоним с таким же именем как PRIVAT синоним, если да, то как пользователь в своей схеме будет к ним обращаться?
Аноним 07/10/17 Суб 17:30:06  1072069
>>1071896
Что в доках написано? Если узнаешь, то отпишись. Откуда вы такие вопросы берете? На OCP что-ли готовишься? По логике, private перекрывает public.
Аноним 08/10/17 Вск 11:38:30  1072321
>>1072069
Приоритет всегда имеет твоя собственная схема, то есть если у тебя есть таблица с именем T1 и существует PUBLIC синоним с именем T1, то приоритет будет отдан таблице
в доках не нашел, но увидел упоминание на каком-то форуме и проверил опытным путем

Нет, просто на учебе задали такой вопрос
Аноним 08/10/17 Вск 11:38:54  1072322
Может ли любой пользователь передать право создавать запрос к своей таблице ?
Аноним 08/10/17 Вск 13:16:32  1072347
Знатоки Баз данных, ай нид хелп
Сам в этой теме абсолютно ни фига не шарю, поэтому может моя проблема покажется вам тупой.
Попросили запилить сайт на Вордпрессе по-быстрому, я в этом практически нихуя не секу, но решил попробовать. Накатил ЦМСку, залил шаблон (скачал с ТемплейтМонстра), вроде все путем.
Потом залил файл БД через ПхпМайАдмин - и пиздец. Не могу зайти в админку Вордпресса. Сам шаблон вроде накатился, все адекватно, но вот что происходит:
1) При поптыке войти в админку сайта через "sitename.com/wp-admin" происходит какой-то ебаный редирект на страницу с УРЛом http://sitename.com/wp-admin/sitename.com/wp-admin/upgrade.php?_wp_http_referer=%2Fwp-admin%2F
И, понятное дело, выдает мне 404 страницу

2) Если вдруг это поможет определить симптом: при попытке перейти с любой страницы сайта на главную он начинает прибавлять к урлу страницы "sitename.com/". То есть, было: sitename.com/contact, стало sitename.com/contact/sitename.com/, попробуешь еще раз - станет sitename.com/contact/sitename.com/sitename.com/ и т.д.

Шо делать, где и как что можно поправить, дабы избежать ебаного редиректа и спокойно попасть в админку? Кстати, на sitename.com/wp-login.php заходить получается, но после того, как залогинюсь, в админку один хуй не пускает
Аноним 08/10/17 Вск 19:11:39  1072488
У кого есть скиньте справочник по sql функциям в pdf
Аноним 08/10/17 Вск 23:33:01  1072585
Снимок.PNG (28Кб, 400x400)
>cayley
Посоны, что значит, что она в качестве бекенда может использовать другие БД (sql, cassandra, mongo). Это как вообще?
Аноним 09/10/17 Пнд 00:22:22  1072608
>>1072585
Ну использует другую субд для реализации части функционала. Чё тут не понятно?
Аноним 09/10/17 Пнд 00:59:39  1072618
Друзья, чем можно нарисовать структуру базы данных? Буду использовать PostgreSQL. Нужно просто схема с таблицами и связями, при этом желательно без подключения к базе? Хочу просто пока описать названия + тип (примерно, не писать там float(10, 2), чтобы прикинуть несколько вариантов, без всяких осложнений и конкретики.

MySQL Workbench какой-то уебанский, залезла панель у меня куда-то, и не перетаскивается, не могу её выдвинуть. Забагованный короче. DBeaver тоже сыпет Exception'ами, и с ним не очень удобно работать, не поддерживает автокомплит (пишешь seri он подсказывает, мол, serial? жмешь ентер - ошибка, жмешь таб - ошибка, кликаешь - ошибка)
Аноним 09/10/17 Пнд 01:40:44  1072631
>>1072618
сам отвечу, наткнулся вот на что: https://sqldbm.com
вроде бесплатно, зарегался, можно сохранить прямо там в облаке. в принципе, то что нужно, жаль что не десктопный софт, структура будет большая, не хочу чтобы на 14 день мне выскачило сообщение об оплате, чтобы открыть доступ.
P.S. Если есть такое же удобное но десктоп - сообщите.
Аноним 09/10/17 Пнд 22:03:16  1073078
>>1072608
>Ну использует другую субд для реализации части функционала
Вот непонятно, как это. Реализация хранилища же сильно зависит от функционала. А тут графы, такая штука, с которой нельзя эффективно работать в обычных СУБД. И вдруг их используют в качестве хранилища. Интересно как?
У меня была мысль, что может они именно данные хранят в БД (ну типа как эластик хранит лексемы или типа того), а для хранения графа используют свою систему.
Аноним 09/10/17 Пнд 22:07:36  1073079
>>1072631
Анон, зря забраковал Воркбенч, он годный и пожалуй самый лучший из бесплатных (а еще он умеет в реверс-инжинеринг). Иногда глючит это правда, но не часто.
Другой годный, открытый и универсальный вариант - https://www.draw.io/.
Аноним 10/10/17 Втр 00:01:22  1073159
>>1073078
Может и можно. Есть же в sql базах всякие модные штуки вроде recursive сte.
Аноним 10/10/17 Втр 09:33:32  1073296
image.png (31Кб, 539x347)
Посоны, есть одна интересная задача.
Есть таблица сотрудников и там дата добавления результата этого сотрудника. То есть сотрудников добавляет результаты, но добавляет не каждый день. Нужно вывести статистику по сотрудникам, НО те дни когда сотрудники результаты не добавляли должны быть нулями. То есть должны быть все даты. Если через count стату собрать то будут даты только когда были проставлены результаты. Смотрите пик.

То есть, есть таблица result (int id, type_result int, id_user int, date_add datetime).
Можно сделать таблицу со всеми датами подряд, но как джойнить потом?

Аноним 10/10/17 Втр 12:38:54  1073380
>>1073296
Джойнить по ключу. А вообще- изъебство, сделай проще. Поле DT определи, как Null. А далее обновляй по необходимости.
Аноним 10/10/17 Втр 14:36:00  1073473
>>1071814
Добавление индексов избавит бедненькую СУБД от необходимости шерстить таблицу строка за строкой.
Аноним 10/10/17 Втр 16:47:42  1073567
>>1073473
И как же добавление индексов поможет при селекте всей таблицы?
Аноним 10/10/17 Втр 16:50:39  1073571
>>1073296
Нужно собрать табличку или подзапрос с датами за указанный период, а потом к нему(ней) лефт джойном присобачить твою таблицу с результатами по полю cal_d
Аноним 10/10/17 Втр 19:49:14  1073686
>>1071814
>>1073567
>>1073473
Навели на вопрос: а собственно на чем именно тормозит выборка всех строк из таблицы? На дисковых операциях? Ведь на поиск нужных строк ресурсы не тратятся по сути, если правильно понимаю, сортировок тоже нет.
Аноним 11/10/17 Срд 16:32:23  1074076
Правильно ли я понимаю разницу между кластеризованными и некластеризованными индексами?

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

Некластеризованный индекс хранится отдельно от таблицы в виде двух столбцов, где первый столбец - это сортированные значения индексируемых полей из таблицы, а второй столбец содержит указатели на соответствующие строки из таблицы. Вставка/изменение/удаление строк производится быстрее чем при использовании кластеризованного индекса, но поиск будет чуток медленнее.
Аноним 12/10/17 Чтв 01:53:19  1074316
>>1074076
Да, не забывай еще, что некластерные индексы не будут работать, если нету кластерного, потому что ему (некластерному) нужно ссылаться на какой-та адрес строки в таблице.
Аноним 12/10/17 Чтв 02:37:15  1074325
Дана таблица-лог с более 100 млн записей
У нее есть ключевое поле и некоторый набор других полей. Среди них одно ссылается на некоторую сущность. Нужно удалить все старые записи по каждой этой сущности, оставить только 5 последних. Как это можно сделать? Поиски в гугле предложили курсор и top 3 id desc
После пары часов работы отменил запрос. Нужно что то более быстрое.
Как такие задачи решают настоящите администраторы баз данных?
Аноним 12/10/17 Чтв 09:06:48  1074358
>>1074325
Нужно разбить запрос: запустить несколько запросов, которые будут обновлять таблицу по кусочкам, например, по 10тысяч записей, так ты сможешь увидеть результат быстрее, да и, самое главное, сможешь запустить несколько таких запросов параллельно.
Само задани на удаление не осень понял. Тебе нужно удалить записи об этой сущности из логов или удалить абсолютно все записи о ней из всех мест, где она упоминается?
Аноним 12/10/17 Чтв 12:38:52  1074428
>>1074358
Задание довольно простое. Есть лог, в котором фиксируются изменения сущностей. Там все подряд и товары и услуги и сотрудники. У всех есть id. Этот лог рос и никому не мешал. Сейчас во стал мешать. Поэтому решили что последние 5 записей по каждой сущности это вполне норм. А остальные под нож. Но что то вот не выходит очистить базу. Все пиздец как медленно в курсоре.
Обновлять по кусочкам это как? Когда запускаю два запроса на разных вкладках, то одна крашится, мол таблица залочена или типа того.
Аноним 12/10/17 Чтв 13:56:20  1074442
Нужны ли за рубежом SQL-щики?
Аноним 12/10/17 Чтв 14:09:18  1074451
>>1074428
Пиздец даунич! Вместо того, чтобы подумать над архивацией лога, решили нахуй его удалить. Нет лога - нет проблем, заебись!
Аноним 12/10/17 Чтв 19:46:51  1074590
>>1074442
А лично автор этого вопроса даже в России никому не нужен.
Сейчас буду плакать после плохого собеседования.
Аноним 12/10/17 Чтв 20:02:18  1074594
>>1074590
Что не знал?
По одному собеседованию не судят.
Аноним 12/10/17 Чтв 21:29:10  1074641
>>1074594
А ты можешь себе представить, что я всё знал? Вообще все.
Просто общался как чмо и в заданиях с мутными формулировками, не качающимися эскуля, я обосрался.
Позовут на второй этап - будет чудо. Но вряд ли.
Аноним 12/10/17 Чтв 22:16:40  1074664
>>1074451
Двачаю, логи на то и нужны, чтобы в любой момент спорный поднять историю и пояснить вопрошающему.
Аноним 13/10/17 Птн 00:41:20  1074710
Анончики, работаю пхп макакой, хочу развиваться в сторону проектирования бд, чтобы повысить свою квалификацию в бекенде.

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

Что посоветуете? Может какую-то книгу или методики
Аноним 13/10/17 Птн 09:13:12  1074790
>>1074710
Посоветуем больше практики.
Принцип: хочешь научиться класть кирпич- клади кирпич.
Аноним 13/10/17 Птн 11:39:25  1074827
image.png (21Кб, 685x349)
>>1065392
В PostgreSQL таки можно

create table t1 (id int, tarray text[]);
insert into t1 (id, tarray) values (1, array['line1','line2','line3']);
select * from t1;

Аноним 13/10/17 Птн 14:14:06  1074886
Проясните один момент, пожалуйста, те, кто знает Оракл
если я использую подзапрос как ЦЕЛЬ в INSERT е

INSERT INTO(SELECT R1, ID FROM T1 WHERE ID = 50)
VALUES ('VASYA', 100);

Вставится ли у меня эта строка в таблицу T1 ???
Есть ли какой-нибудб CHECK OPTION для этого случая?
Потому что кто-то говорит, мол, вставится, но вроде хотели ввести чек оптион.
Аноним 13/10/17 Птн 14:24:22  1074893
кажется надо просто поставить WITH CHECK OPTION полсле WHERE
как же меня бесит манера составлять лекции: сначала написать "неправильно", потом отвлечься на другую тему, потом дать пример как "правильно"
Аноним 13/10/17 Птн 15:07:44  1074929
Добрый день.
Срочно.
В иерархических запросах oracle есть connect_by_root. Возвращает значение верхней строчки в иерархии.
А мне нужно значение второй сверху строчки.
Как это сделать?
Красиво или хотя бы говнокодом.
Спасибо.
Аноним 13/10/17 Птн 15:12:21  1074936
>>1074929
Похуй, скорее всего SYS_CONNECT_BY_PATH подойдет.
Аноним 13/10/17 Птн 16:25:47  1074987
Я ебал в рот заниматься отчётностью. Я это ненавижу.
Аноним 13/10/17 Птн 17:31:31  1075038
>>1074886
Проверил в https://livesql.oracle.com
Вставилось.
ID R1
50 Max
100 Vasya

Про чек опшины хз. Я даже не знал что оно вставится так (смысл правда не понял, зачем мне так вставлять).
Аноним 13/10/17 Птн 22:26:59  1075182
image.png (65Кб, 1130x597)
NEED HELP!

Вопрос про обращение к STORED PROCEDURES через бажесвеный DAPPER, а именно с передачей параметров.

Примеров для M$ SQL Server много и как бы все работают. Мне надо для MySQL

Так не работает. Выдаёт ошибку синтаксиса. Сама рутина экзекьютится в phpMyAdmi-е, то есть с ней всё в порядке

connection.Execute("InsertPerson(@firstN, @lastN)",new{firstN = firstName,lastN = lastName});

Работает только тогда, если передаваемый параметр один.

Где я проебался с синтаксисом????
Аноним 13/10/17 Птн 22:53:43  1075206
>>1075182
Чё пишет-то?
Аноним 13/10/17 Птн 23:02:11  1075213
>>1075182
сonт.Execute(sql,params,commandType: CommandType.StoredProcedure);
Аноним 13/10/17 Птн 23:42:40  1075235
>>1075206
Пока ничего конкретного.
Позже буду перекладывать в VB6+Access на .NET+[Firebird, MySQL, Ms SQL Server]

Сделать красиво
Аноним 13/10/17 Птн 23:47:24  1075240
>>1075213
Это и так понятно. Мне нужен пример из жизни

В одном примере под MS SQL Server было так

Execute("some_proc @param", new { param = Param})

но для MySQL надо было со скобками просто перебрал и попал

Execute("some_proc(@param)", new { param = Param})

а с двумя и больше выкидавает ошибку
Аноним 14/10/17 Суб 00:14:55  1075248
>>1075240
Вот чё гугл дал.
https://stackoverflow.com/questions/5962117/is-there-a-way-to-call-a-stored-procedure-with-dapper
Аноним 14/10/17 Суб 10:23:08  1075332
>>1034303 (OP)
Сап. Вот есть удаление из двух табличек postgres, все ок
DELETE FROM orders o USING users u WHERE o.userid = u.id and u.firstname = 'Sam';
DELETE FROM users u WHERE u.firstname = 'Sam';
но, если надо удалить много записей, Sam, Inan, Anon1 etc. Как сделать красиво и просто?
Аноним 14/10/17 Суб 12:01:38  1075372
>>1075332
IN
Аноним 14/10/17 Суб 12:12:53  1075377
>>1075372
рили, во я тупой
Аноним 14/10/17 Суб 13:46:30  1075434
Hey, guys!
Что вы думаете о mydataexpress ?
Выгорит? Или лучше не браться?
Нужна база на систему авторов-статей, чтобы главред большого журнала мог кроссреференсить кто уже скоко писал.
Аноним 14/10/17 Суб 15:50:15  1075524
Двоч, посоветуй. Если мне нужно хранить информацию о очень большом количестве подчиненных объектов с малым количеством столбцов (1-2), то как лучше поступать - создавать всё таки таблицу подчиненного объекта и добавить столбец РодительId, или можно у родителя создать varchar(max) и запихивать туда соединенные через разделитель сериализованные мелкие объекты? Я не могу определить, что будет работать быстрее и тратить меньше памяти. Если объекты простые, то их можно быстро десериализовать и не будет оверхеда в виде метаданных таблицы. С другой стороны, это всё равно нужно на бизнес-сервере десериализовывать объекты, прежде чем проводить с ними манипуляции. 1 вариант мне кажется быстрее, но гораздо затратнее по расходу памяти.
Аноним 14/10/17 Суб 16:48:22  1075547
>>1075524
Очень большое количество объектов парсить из плейн текста по разделителям быстрее, чем сделать один элементарный запрос в базу?
Аноним 14/10/17 Суб 16:58:41  1075556
>>1075547
А если объект в сериализованном виде занимает 4 байта?
Аноним 14/10/17 Суб 17:27:10  1075574
>>1075556
Почему бы его не "сериализовать" в байты и не вытаскивать из байтов?
Аноним 15/10/17 Вск 01:56:37  1075794
>>1075248
Спасибо, помогло!

Кстати, у MySQL всё ещё может глючить, не находя явно существующие рутины, если имя базы не прописано маленькими буквами в connectionString
Аноним 15/10/17 Вск 02:04:28  1075798
NEED HELP AGAIN

как проверить, что primary key поставлен на AUTO_INCREMENT

Вроде, соответствующая заява (AUTO_INCREMENT = 1) исполнялась без ошибок, но при попытке сделать INSERT кричит, что duplicate entry '0' for key PRIMARY
Аноним 15/10/17 Вск 02:21:24  1075800
image.png (119Кб, 1108x402)
>>1075798
убил старую таблицу и сделал по канону сразу с автоинкрементом

вот и INSERT заработал
Аноним 15/10/17 Вск 18:02:46  1076187
Заявляю сразу, я довн

Надо сделась SELECT записи в 5 полей (id, Firstname, Lastname, email, phone)

Нужно, чтобы поиск работал как минимум по одному критерию и/или по комбинации из заданых. Например, по фамилии или имени и мылу. %%нувыпонели

Понимаю, что должно выглядеть так:

SELECT FROM people WHERE...
и тут собственно проблема с пустыми полями

Как сделать красиво, чтобы в WHERE игнорились пустые строки.

И как сделать красито, чтобы искало по отрезку строки. Например,
искать всех Jack, Jacob и James через Ja


Аноним 15/10/17 Вск 18:10:10  1076193
>>1076187
Опять я. Забыл приписать, что делаю черех STORED PROCEDURE

Пойдёт так? обоссыте меня пожалста

WHERE (Firstname=_fistName AND _firstName != "") AND (Lastname=_lastName AND _lastName != "") AND ...и так далее
Аноним 15/10/17 Вск 18:36:04  1076206
>>1076193
если через процедуру, и условия будут параметрами процедуры, то я бы делал не != "", а is not null.
И чтобы запрос работал нужно предусмотреть варианты null и не null.

Если так, то можно переписать условия типа:
((Firstname=_fistName AND _firstName is not null)
OR (_firstName is null))

Либо

Firstname=coalesce(_fistName,Firstname). Но это если строго равно.

Если через Ja выводить всех то лучше через первый способ: ((Firstname like '_fistName%' AND _firstName is not null) OR (_firstName is null))
Аноним 15/10/17 Вск 18:40:54  1076210
>>1076206
Спасибо! Помогло!
Аноним 15/10/17 Вск 19:35:28  1076244
image.png (84Кб, 1097x426)
image.png (34Кб, 692x452)
>>1076206
Я поспешил радоваться. Как на пике 1 работает
как на пике 2 - не работает. ни по части, ни по полной
Аноним 15/10/17 Вск 20:16:21  1076262
>>1076244
насчет like name||'%' нужно соединить параметр и процент. Если || не заработает, пробуй CONCAT(name, '%').

По первому скрину он на твое поле в таблице ругается, есть там такое firstname? Задай таблицу с алиасом или пиши people.firstname.
Аноним 15/10/17 Вск 20:18:43  1076263
>>1076262
Да и как бы не совсем понятно использование в процедуре
select * и что с этим делать собираешься.
Но это походу какой-то mysql я с ним не работал. Может там так норм.
Аноним 15/10/17 Вск 20:50:50  1076280
>>1076244
Firstname = name and name is not null? Что блядь? Ты хочешь чтобы у тебя домен не был бы равен null?
Аноним 15/10/17 Вск 21:23:59  1076299
>>1076262
>CONCAT(name, '%')
это работает (MySQL)
Аноним 15/10/17 Вск 21:25:43  1076300
>>1076280
я хочу, чтобы пустые поля в маске не сравнивались с содержанием таблицы
Аноним 15/10/17 Вск 21:49:37  1076313
Есть Mysql база, нужно проверить наличие записи в таблице по совпадению текстового поля. Каким образом сделать это быстрее всего?

PS Если новые записи добавляются по несколько раз в секунду, целесообразно ли использовать индексы?
Аноним 15/10/17 Вск 21:58:48  1076317
что такое ДС?
Аноним 16/10/17 Пнд 16:59:43  1076688
Как сделать нормальную внешнюю таблицу в оракле?
Вот например у меня такой текстовый файл

https://pastebin.com/6JMEbZV4

и я создаю вот так

https://pastebin.com/aUtAHnCx

Если учесть, что названия файлов 100% правильные, то что может быть не так,
еще что делать, если в текстовом файле последняя строка пустая (пробелы)? как её читать?

Аноним 16/10/17 Пнд 22:42:13  1076902
>>1076300
Пожалуйста, объясни на примере, я не понимаю тебя.
Аноним 16/10/17 Пнд 23:57:47  1076925
Котаны, задрочился что-то на одном вопросе. Есть ли более элегантный способ вытащить последние по таймштампу данные из таблицы? Вот как это делаю я сейчас: http://sqlfiddle.com/#!17/482e3/4/0
Аноним 17/10/17 Втр 21:57:26  1077338
>>1076925
Зависит от субд, если она умеет в оконные функции (over), тогда есть, гугли row_number()
Аноним 18/10/17 Срд 11:10:09  1077511
>>1077338
СУБД - PostgreSQL 9.6, оконные функции умеет.
Предлагаешь что-то типа:
with lv as (select id1, id2, value, row_number() over (partition by id1, id2 order by date desc) rn from test)
select * from lv
where rn=1

Что-то сразу не додумался. Хотя по плану выполнения одинаково выходит. Но выглядит лучше.
Аноним 19/10/17 Чтв 09:18:49  1078033
>>1077511
Не может это по плану одинакого выглядеть, так как оконные функции работают без самоджойнов. Это всегда будет работать быстрее и очнее, так как твой старый способ не гарантирует уникальность полученных строк после джойна.
Аноним 19/10/17 Чтв 21:31:55  1078481
>>1076902
Есть маска в черырмя полями
- имя
- фамилия
- пол
- возраст

искать по любой комбинации известных данных, которые задаются. Все пустые искать как any, а не сравнивать, например, gender =""
Аноним 21/10/17 Суб 16:16:40  1079300
>>1078481
Хуяришь вычислимое поле на эту таблицу
Alter table t_kaka
Add full_user_info as
coalesce(name, '')+coalesce(second_name, '')+ coalesce(cast(gender as nvarchar(50)), '')+coalesce(cast(age as varchar(50)), '')
Далее херачишь на него full text index
Аноним 21/10/17 Суб 16:56:04  1079308
раскажите пжл в двух словах, что такое SQL project. А именно меня интересует что он содержит? Может быть таблицы базы, может быть базы, их хранимые процедуры, макросы, а может и сами данные. Так что в нем есть?
Аноним 21/10/17 Суб 17:09:29  1079317
>>1034303 (OP)
Весь тред перечитал, но так и не нашёл этого вопроса.
Как вкатиться в разработку (аналитику) БД. Что качать понятно что SQL, что еще?? Какие вопросы на собеседованиях меня ожидают? И какие подводные в вашей работе?
Я третьекурсник, думаю начать искать стажировку или продолжать читать книги по БД. SQL знаю на уровне проделывания всех упражнений и зубрёжки из книги Ицыка Бен-Гана.
Знаю реляционную теорию на базе курса в универе уровень - могу дать определения третей нормальной форме и называю таблицу - отношением.
В рамках курсового проекта спроектировал БД через oracle developer.
Куда мне двигаться дальше?
Можно ли с моим уровнем начинать искать стажировку?
Как мне получать 100к через год?
Аноним 23/10/17 Пнд 05:10:42  1080381
image.png (250Кб, 1242x2208)
>>1034339
А если я вполне ебу что все это значит, как использовать и имею маленький опыт применения этого на практике , но при этом почти не шарю в других языках, можно ли с такими знаниями на стажировку или джуна вкатиться ? Смотрел вакансии по дс-2, дбд если где и нужны то с опытом от года - 3 разработки и приличным прикладным багажом.Есть вакансия в БИЗНЕС ТЕХНОЛОГИЯХ, младшего разраба, вроде почти по всем требованиям прохожу, но вот отзывы об этой конторе в интернете - сугубо негативные
Аноним 23/10/17 Пнд 07:52:45  1080402
>>1079317
Знать надо не только реляционки, вроде оракла, но и nosql, вроде монги и редиса. Сейчас угорают по бигдате, а там без хадупа/редиса/кафки- никуда.
Аноним 23/10/17 Пнд 10:05:00  1080433
>>1034303 (OP)
Sql тяжко учить?
Думаю начать задротить.
В городе маленьком появилась вакансия на 45к, но хуй они тут найдут даже за 100 к, разве что из Москвы выпишут им.
Хочу попробовать через пару дней хотя бы стажором или помощником за 30к. Каковы шансы?
Аноним 23/10/17 Пнд 17:14:35  1080605
>>1080433
>через пару дней
Вкатывальщики ваще ебанулись.
Аноним 23/10/17 Пнд 19:15:40  1080683
>>1080433
Лучше С++ выучи за 21 день и получай 300кк
Аноним 24/10/17 Втр 00:40:35  1080924
Java уже все? Куда пропал жава тред?
Аноним 24/10/17 Втр 00:42:58  1080927
>>1080924
промахнулси да и хуй с ним
Аноним 24/10/17 Втр 08:27:15  1081003
>>1080924
Жава скурвилась
Аноним 24/10/17 Втр 09:00:03  1081008
>>1081003
Ты хотел сказать СУЛЬвилась?
Аноним 24/10/17 Втр 10:37:00  1081044
Как выбрать объединение данных из двух таблиц если они связаны через третью? Нужно из table1 выбрать все записи вместе с соответствующими полями table3.
Тоесть получить выборку которая будет содержать table1.table1_ID и table3.table3_ID
Аноним 24/10/17 Втр 12:03:51  1081078
Есть отчёт на оракле. Ну как есть, хуячу его сейчас.

Смысл такой: несколько инсертов в разные таблицы, потом объединение этого всего и открытие курсора.

Работает медленно, поэтому пара вопросов:
1. Я не пишу commit после каждого инсерта, так как далее сразу идёт truncate следующей временной таблицы, а он, как известно, сам по себе делает инсерт. Так вот, разницы между явным и неявным коммитом нет? Если я пропишу commit, работать быстрее не станет?
2. Сейчас у меня обычные таблицы, пока я тестирую, потом сделаю global temporary. Это даст прибавку в скорости работы?

Сами запросы тяжёлые и ебанутые, их я оптимизировать ещё больше вряд ли смогу.
Аноним 24/10/17 Втр 12:04:38  1081079
>>1081078
>делает коммит
Прошу прощения.
Аноним 24/10/17 Втр 12:26:32  1081085
Господа, как dbf засунуть в mysql5.7?
Аноним 24/10/17 Втр 13:24:14  1081113
>>1065291
Сколько получаешь?
Аноним 24/10/17 Втр 16:08:26  1081194
А такое бывает, что при обычном запуске запроса у него один план, а при запуске из хранимой процедуры - другой?
Руками за минуту отрабатывает, а процедура час висит.
Я ебать не хотел эту РАБоту.
Аноним 24/10/17 Втр 20:15:20  1081363
>>1081113
Когда взяли, был год опыта pl/sql разработчиком, согласился на 80к. Теперь, спустя несколько месяцев, на хедхантере предлагают 100+.
Аноним 24/10/17 Втр 20:17:39  1081365
>>1076688
а какая ошибка-то вылезает?
Аноним 24/10/17 Втр 20:23:00  1081369
>>1081363
Хорошо тебе, а мне вот ничего не предлагают с двумя годами опыта pl/sql
Аноним 24/10/17 Втр 20:27:42  1081373
>>1081369
Как-то странно. Ты в Москве?
Аноним 24/10/17 Втр 20:29:32  1081374
>>1081373
В Москве.
А 100+ это сильно + или просто чуть-чуть?
Так-то 100 с копейками у меня есть, но мне бы уже 130 хотелось бы.
Аноним 24/10/17 Втр 20:38:23  1081380
>>1081374
Ну я поставил 120к как желаемое и звонили, говорили что цифра очень даже устраивает. Мне кажется, что поступают неплохие предложения в основном потому, что я ещё Informatica PowerCenter умею юзать. Я вообще специально пошёл на текущую должность чтобы научиться, ибо просек, что это ценится на рынке. Правда обернулось это тем что эта хуйня меня пиздец заебала и тепреь охота слезть не то что с Информатики, но и с чистого SQL-ля вообще. Это реально скучно когда хоть немножко научишься.

Аноним 24/10/17 Втр 20:58:37  1081393
>>1081380
Я двачую, понимаю прекрасно твой кризис.
Я хуже, я не работаю с ETL, я просто делаю отчёты. ХХ скролю регулярно, на таких как ты спрос больше, чем на таких как я.
Работа заебывает, дрочить на оптимизацию запросов, передрачивать отчёты по 10 раз из-за глупых требований заказчиков. Запускаешь хуйню и ждёшь пока отработает. Долго ждёшь. Заебало, движухи хочется.
Аноним 24/10/17 Втр 21:03:13  1081394
>>1081393
Соскочил бы куда-нибудь поинтереснее, чай где-нибудь нужен oracle, я ведь его пиздец как люблю и запросики писать нравится
Отчётность заебала, отчётность скучно, банк скучно.
Но мне же хочется ещё и с выгодой по деньгам перейти, потому что никто не знает, понравится ли мне на новом месте, а так хоть деньги в виде бонуса.
Аноним 25/10/17 Срд 00:21:53  1081508
>>1081044
они не связаны через третью
Аноним 25/10/17 Срд 18:15:00  1081847
>>1081394
>Скучно.
Охуеть ты зажрался.
мимо >>1079317
Аноним 25/10/17 Срд 20:34:56  1081942
>>1073686
Дисковые операции + i/o данных.
Вопрос в другом, нахуя так делать, зачем выбирать все 60к строк. Если высрать в отчет - то лучше уж rownum добавить
Аноним 26/10/17 Чтв 10:59:33  1082214
>>1081847
Пошел нахуй, вкатывальщик ебливый.
Аноним 26/10/17 Чтв 11:03:34  1082218
>>1081847
Сука, черт ебаный, как же я с тебя горю.
Откуда ты блядь знаешь, каково это работать тем, кем работаю я?
Ты думаешь, что если апнешь 100к сразу счастливым станешь? Я тоже думал.
Но тебе я желаю разочароваться в профессии, никогда в жизни не апнуть 100к и сдохнуть от синьки.
Потому что нехуй пиздеть о том чего не знаешь.
Аноним 26/10/17 Чтв 22:21:57  1082483
>>1082218
Что-то ты нервный какой-то.
У тебя тянка есть?
Аноним 26/10/17 Чтв 22:31:32  1082488
>>1082218
кокой самчный разрыв свитера
даже не пожалел что забыл скрыть ваш петушиный угол
Аноним 26/10/17 Чтв 22:46:29  1082492
>>1082483
Постоянной нет.
Аноним 27/10/17 Птн 15:22:15  1082718
Здравствуйте.
В понедельник пойду на вилку 130-150 в руки, поддержка АБС.
Будет круто, если возьмут, деньги так-то космические.
Аноним 27/10/17 Птн 17:50:47  1082817
>>1082718

даже в /rf/ хикканы по 4-5к даларов поднимают с видео на ютубе, при этом не светят еблом, деньги сами в банк приходят
Аноним 27/10/17 Птн 22:09:27  1082953
>>1034303 (OP)
Можно ли создать представление на основе иерархического запроса (или вообще ОТВ) в MS SQL.
Аноним 27/10/17 Птн 22:09:51  1082954
>>1082953
?*
быстро фикс
Аноним 28/10/17 Суб 11:42:00  1083150
>>1082953
Что за иерархический запрос?
Ты можешь сделать представление в мс скл на основе любого запроса, написанного на т-скл.
Аноним 28/10/17 Суб 12:54:47  1083166
>>1083150
>Что за иерархический запрос?
https://habrahabr.ru/post/43955/
>Ты можешь
Например у нас есть запрос :

WITH REC AS
(
SELECT id, pid, title
FROM test
WHERE title = 'Воронеж'

UNION ALL

SELECT t.id, t.pid, t.title
FROM REC AS r
INNER JOIN test AS t
ON r.id=t.id
)
SELECT id, pid, title
FROM REC

Как реализовать его в виде представления?
Аноним 29/10/17 Вск 00:51:26  1083522
Блять есть где-то нормальный гайд по установке постгреса на убунте, это же пиздец какой-то, каждый даун по своему говорит, а главное нихуя не работает ?
Аноним 29/10/17 Вск 01:00:55  1083525
>>1083522
Блять, что нужно добавить то в этот ебучий файл pg_hba.conf
psql: FATAL: no pg_hba.conf entry for host "::1", user "postgres", database "postgres", SSL on
FATAL: no pg_hba.conf entry for host "::1", user "postgres", database "postgres", SSL off


Сейчас он выглядит так
host all all 192.168.0.1/32 md5

host all postgres 127.0.0.1/32 trust

host all postgres 192.168.0.1/32 trust
Аноним 29/10/17 Вск 13:33:54  1083728
>>1083166
Весь люд кличет такие конструкции рекурсивынми запросами, лул.
>как же нам реализовать такое, ой, ой, как же это сделать то?

>>1083150

CREATE VIEW dbo.view_kaka
AS
WITH REC AS
(
SELECT id, pid, title
FROM test
WHERE title = 'Воронеж'

UNION ALL

SELECT t.id, t.pid, t.title
FROM REC AS r
INNER JOIN test AS t
ON r.id=t.id
)
SELECT id, pid, title
FROM REC

Но это еще не все.
Аноним 29/10/17 Вск 13:39:06  1083730
>>1083728
Если ты реализуешь рекурсию в представлении, то тебе придется писать в каждом запросе, использующем это представдение,
>орtiоn (mахгесuгsiоn = x)
Аноним 29/10/17 Вск 13:40:35  1083731
>>1083730
где х - это число допустимых циклов в рамках твоего запроса, в самой вьюхе ты это написать н сможешь. (Только если х превышает установленное по умолчанию значение, конечно же)
Такие дела. Не лучший способ. Лучше функцию написать или процедуру, в ней можно явно задать эту опцию раз и навсегда.


П.с.: писал в 3 поста, потому что Уродское слово МАКСРЕКУРШН в спам листе, ой лол, абу, что, от скл инъекций так защищается?
Аноним 29/10/17 Вск 21:35:16  1083957
>>1083731
А что не так с этим словом?
Аноним 29/10/17 Вск 23:11:19  1084000
Вечера, ананасы. Есть одна БД на пикрил, а т.к. все пары по БД я успешно проебывал, то имеется вопрос.

Делаю аналог livelib/goodreads/myshows(про книжки) для семестровки по инфе. Как хранить статус книги у юзера? Читает он ее сейчас, прочел ее или собирается прочесть? Что-то совсем не втыкаю.

У БД не финальная версия, многое добавить еще необходимо.
Аноним 30/10/17 Пнд 10:47:19  1084160
>>1084000
Я бы предпочел заместо таблицы book_rating сделать таблицу user_books, в которой помимо id юзера и od книги будет статус книги (читаю/прочитал/планирую) и для прочитанных будет оценка.
Аноним 30/10/17 Пнд 10:50:35  1084161
>>1084000
Хранить пароли открыто в таблице - моветон.
Аноним 30/10/17 Пнд 11:30:36  1084170
>>1084160
Спасибо за совет, так и сделаю. Про >>1084161 в курсе, это со старой БД еще осталось
Аноним 30/10/17 Пнд 14:22:18  1084245
>>1084160
Так тут по пизде идет какая-то нормальная форма. И что тут будет primary key?
Аноним 30/10/17 Пнд 14:33:36  1084250
>>1084245
Либо я тупой, либо что-то еще, но я не могу придумать такую связь между таблицами, чтобы не шла по пизде первая нормальная форма. Всегда будут повторы либо по user_id, либо по book_id. Что делать, помогите
Аноним 30/10/17 Пнд 14:33:52  1084251
>>1084245
Он будет двойной, по книге и по юзеру. Это уникальное сочетание.
Аноним 30/10/17 Пнд 14:34:47  1084252
>>1084250
Первая нормальная форма не идёт тпл пизде вообще никогда. У тебя по одному значению каждого атрибута.
Аноним 30/10/17 Пнд 15:07:46  1084266
>>1084252
То есть, это нормально, если значения id повторяются и встречаются в нескольких строчках?
Аноним 30/10/17 Пнд 15:25:53  1084272
>>1084266
Да
У тебя будет уникальная комбинация из двух id
Первая нормальная форма пойдет у тебя по пизде, если ты будешь допускать хранение нескольких оценок в одной ячейке через запятую
Вторая пойдет по пизде, если комбинация ид книги и ид пользователя не будет уникальной и можно будет сохранять в таблице несколько оценок одного пользователя по одной и той же книге
У тебя неправильные представления о нормальных формах. У меня, возможно, тоже
Аноним 30/10/17 Пнд 17:31:14  1084367
>>1084272
Да проебывал пары по БД, вот и хуевое представление. Если что, доебусь еще до препода, а так спасибо, вроде все понял.
Аноним 30/10/17 Пнд 17:57:11  1084382
>>1084367
У тебя они хотя бы были...
А я всё сам, всё сам...
А теперь мне даже ссаные 150 тыщ платить не хотят, ненавижу всех.
Аноним 30/10/17 Пнд 18:28:16  1084407
>>1084382
А ведь мог бы в универе нормальный язык изучить и нормально работать. Но в универе предпочёл проебываться, а потом пошел работать SQL-макакой.
Аноним 30/10/17 Пнд 18:33:52  1084410
Блядь, как же я ненавижу порой эти ебаные базы данных. Сука. Осталось сделать 2 задания, а я уже 3 дня безрезультатно не могу нихуя сделать. Ну вот как это решать?

Создать хранимую процедуру для быстрого получения всех наименований тем заданий домашних работ выполненных заданным студентом (fio) и их оценку за заданный период с даты 1 по дату 2.

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

Первую работу я сделал наполовину, при выборе оценки за заданный период у меня вообще нихуя в столбцах не выходит. Где косяк?

Во второй нужно подсчитать количество домашних работ по каждой группе. Как это сделать? Я знаю, что нужно использовать COUNT(*), но вот как мне вытащить каждое поле столбца name_tgroups и посчитать домашние каждой группы? Через id? Но каким образом вытаскивать каждый из них? Я не знаю.

В задании ещё говорится, что в некоторых задачах нужно создавать VIEW. Напишите эти ебучие запросы, аноны, которые эксперты в базах данных. У меня вообще нихуя не получается. Я уже пробовал и локальные переменные, подзапросы, вьюшки...нихуя не получается, нихуя не помогает. Может это из-за того, что я не до конца врубаюсь в хранимые процедуры, не понял всех их тонкостей. Вот тут все таблицы http://dbdesigner.net/designer/schema/123097 .

Спасибо заранее.
Аноним 30/10/17 Пнд 20:11:40  1084485
>>1084272
>Вторая пойдет по пизде, если комбинация ид книги и ид пользователя не будет уникальной и можно будет сохранять в таблице несколько оценок одного пользователя по одной и той же книге
Переменная отношения находится во второй нормальной форме тогда и только тогда, когда она находится в первой нормальной форме и каждый неключевой атрибут неприводимо зависит от (каждого) её потенциального ключа
У него не была бы там вторая нормальная форма, если в таблице бук_рейтинг находился бы возраст пользователя (типо ключ составной, а аге зависит только от одного ключа)
Более того, отношение тут даже в 3НФ. Т. к. все функциональные зависимости не транзитивны..
Аноним 30/10/17 Пнд 20:15:10  1084492
>>1084410
5к. 2,5 сейчас, 2,5 после выполнения.
Аноним 30/10/17 Пнд 20:38:32  1084511
>>1084410
А где лежат даты? Может в первой косяк из-за того, что ты вместо даты использовал время? Алсо, какая связь JOIN у тебя?
Аноним 30/10/17 Пнд 21:16:09  1084550
Аноны, как в процедурах вывести в EXEC больше одной локальной переменной? Вывожу одну @ - всё заебись, вывожу две "@имя1, @имя2" - передано слишком много аргументов, иди нахуй, ниче выполнять не буду. Что не так делаю?
Аноним 30/10/17 Пнд 21:17:06  1084554
>>1084550
Ты бы хоть показал что ты вызываешь и как.
Аноним 31/10/17 Втр 06:18:54  1084813
ОП, ПЕРЕКАТИ ТРЕД. Я ЧЕ НА ВСЕМ ДВАЧЕ СВОИ БД-ПРОБЛЕМЫ ДОЛЖЕН В /B/ ЧТО ЛИ ОПИСЫВАТЬ? ЕСЛИ НЕ ПЕРЕКАТИШь, ТО ТЫ - ПИДОР
Аноним 31/10/17 Втр 10:41:40  1084857
>>1084813
А почему бы тебе не перекатить, если тебе это надо?
Пидорас.
Знаешь, что базовики самые злые и неудовлетворенные жизнью специалисты? Ну ладно, только я. Но сука не нервируй меня.
Я не оп.
Аноним 31/10/17 Втр 11:40:58  1084872
>>1084857
Братан, не пизди, я уже пошутил.
Аноним 31/10/17 Втр 11:41:37  1084873
>>1084872
>же
Аноним 31/10/17 Втр 11:48:00  1084876
>>1084872
А у меня циклотимия, прости, пожалуйста.
Аноним 31/10/17 Втр 16:09:27  1084996
Сегодня эйчар на собеседовании по Скайпу сказала мне, что у меня нет никакой специальности, потому что я шарю только SQL, но в ее представлении sql надо применять к чему-то, а такой специальности как sql-щик нет.
Аноним 31/10/17 Втр 21:22:43  1085161
можно ли вкатиться в это дело без сопутствующего образования? как hr относятся к этому делу? в математике шарю более лименее
Аноним 31/10/17 Втр 22:38:35  1085208
>>1085161
Какое у тебя образование? Так-то на приличных вакансиях требуют техническое образование, на средних - любое высшее.
Закончить тех вуз и самостоятельно подрочить sql в свободное время - отличный старт в этом направлении, лучше и не придумаешь.
Вот только нужно ли тебе это скучное говно для старперов? Ты не будешь программистом, ты будешь мусором, клепателем отчетиков, аналитиком и прочей швалью. Почему ты не можешь выучить нормальный язык программирования, как все? Чего тебе не хватает?
Мимо sql-макака с двухлетним стажем.
Аноним 31/10/17 Втр 23:33:10  1085248
>>1085208
у меня неоконченная юридическая вышка) уже пару лет на пхп и сисадмин галере. вот хочу на мат.фак поступать и влиться в аналитику - интересно вообще как в этой сфере относятся к вышке
Аноним 31/10/17 Втр 23:53:39  1085258
>>1084996
Конечно, нет, но есть очень близкие: аналитик данных, разработчик корпоративной отчетности, там еще нужно пару систем изучить, в которых отчеты рисуются, и научиться собирать требования к ним. Не поверишь, но даже на таких специальностях можно овер 100к в дс делать.
Аноним 31/10/17 Втр 23:56:51  1085260
>>1085258
Я разработчик корпоративной отчётности.
А тянка предлагала мне быть риск-аналитиком, говорит заебись тема. Похуй, что я ничего не знаю, говорит там главное вышка хорошая и sql знать.
Ну посмотрим, если до собеседования у работодателя дойду, будет здорово.
Аноним 02/11/17 Чтв 02:04:10  1085927
Пилю короче лабу в консольке оракла
ora-01843 not a valid month и не понятно почему.
Возможно в этой строке что-то не так с ограничениями:
Bday Date check (Bday < ‘01.01.1996’)
?
Анон, помоги тупому.
Аноним 02/11/17 Чтв 09:36:31  1086017
>>1085927
Дурак бля, никогда не пиши просто дату в кавычках.
Нужно использовать to_date с маской
Аноним 02/11/17 Чтв 09:49:12  1086020
>>1086017
В методичке етого не было.
Аноним 02/11/17 Чтв 10:00:52  1086023
>>1086020
Лучшая методичка - это я и мой жизненный опыт.
Обращайся!
А мне даже ссаные 150к никто не хочет платить, видишь как плохо!
Ууууу, суки.
Аноним 02/11/17 Чтв 10:12:18  1086024
1509606711508.jpg (190Кб, 881x1282)
>>1086023
Давайте, смотрите на мое унижение!
Аноним 02/11/17 Чтв 10:13:14  1086026
>>1086024
Уже посмотрели отклик и резюме.
Как жаль, что на этом успехи закончатся.
Аноним 02/11/17 Чтв 17:42:50  1086218
Ха-ха, лёд тронулся.
Позвонили с одного места, где 100 на испытательном и 120 после него. На руки. На текущем месте были те же цифры в гросс. Менять ради прибавки в 15% - быть дауном. Но тем не менее самый выгодный оффер в моей жизни.
Пока писал этот пост, мои начальники вызвали на разговор и предъявили мне, что я ищу работу. В отрицалово идти не стал. Но в целом обсудили все вопросы и пришли к понимаю, посижу тут ещё, даже денег потом прибавят.
Простите, что сделал бложик из треда, но в бамплимите можно
Аноним 02/11/17 Чтв 17:47:48  1086219
>>1086218
Продолжай, интересно.
У вас видимо тоже кто-то мониторил вакансии, раз про тебя узнали.
Аноним 02/11/17 Чтв 18:41:55  1086253
>>1086219
Да вот что странно, я от своего банка скрыл резюме. То есть видно оно компаниям, зарегистрированным на хедхантере, кроме моей. Скорее всего, просто спалили, что я чаще чем нужно выхожу поговорить по телефону. Ну это правда подозрительно.
Господи, хорошо быть молодым и перспективным, другого может и пидорнули бы за такое. А меня уверили, что все нормально, и попросили сразу подходить и говорить, если что-то не устраивает. Но наверное компания всегда заинтересована сохранять своих сотрудников.
Аноним 02/11/17 Чтв 20:00:29  1086330
Хочу создать простенькую дб из десятка табличек, каталог того, что послушал. В блокнотике я заебался это вести, т.к. там не отсортируешь по алфавиту и из таблицы в таблицу муторно переносить.

Какую прогу скачать? MySQL не слишком навороченным для меня будет? А то я скачал его, установил, а там серверы, коннекторы и т.д., мне это не нужно.
Смотрел этот рейтинг: https://db-engines.com/en/ranking
Аноним 02/11/17 Чтв 21:41:57  1086429
>>1085260
Дурень. Открой hh, в списке выбери "резюме", в поиске введи "sql". Ты охуеешь от числа тебе подобных.
Аноним 02/11/17 Чтв 22:17:10  1086466
>>1086330
SQLite
Аноним 02/11/17 Чтв 23:54:47  1086536
Screenshot2017-[...].png (664Кб, 1080x1920)
>>1086429
Нашел, охуел.
Я лучше.
Аноним 03/11/17 Птн 00:07:53  1086540
Закончил 5 лет назад бакалавриат по специальности прикладная математика и информатика, потом ещё учился в магистратуре (чтоб в армейку не забрали), в итоге дропнул (всё время играл в дотку, из-за чего проебал все сроки на сдачу диплома, о чем сейчас жалею). Всегда был распиздяем (и в школе и в универе) + в 11 классе перед ЕГЭ умер отец, что неслабо ударило по атмосфере в семье, из-за чего мой манямирок пошел по пизде и в тот момент вообще ничего не хотелось. В школе были интересны алгебра и геометрия, но в целом тяги к знаниям особо не было. В универе проебывал периодически лекции/практики, часто пересдавал предметы, пару раз висел на волоске от отчисления. На эту специальность пошел, т.к. брат уговорил.
Говно выше высрал не для того, чтоб меня пожалели, а скорее оценили мои шансы. За всё это время я почти ничему (ну кроме уж совсем прям какой-то базы в математике/информатике) не научился, хотя возможности были, просто я их практически все проебал. Отсиживаю геморрой в одной конторке уже почти 2 года, в ИТ департаменте, но не программистом или тестером, а аналитиком данных (по сути пишу запросы на t-sql, анализирую данные на корректность и соответствие ТЗ, делаю описание всех баз, т.к. их дохера, и по сути мало кто знает, где какие данные лежат, если они вдруг внезапно кому-то нужны, и т.п.). СИКВЕЛ освоил на базовом (как мне видится) уровне, ну т.е. DML и DDL-запросы могу писать.
С одной стороны, у меня всегда была и есть низкая самооценка, и у меня всегда работает установка, что я ничего не могу, ничего не знаю и вообще самый тупой дегенерат в мире. И перед устройством на эту позицию мне казалось, что SQL - это пиздец сложно и я не смогу освоить. Но в итоге получилось, что освоить что-то, да смог.
С другой стороны понимаю, что всю жизнь работать на этой позиции будет невозможно, потому что работа сводится к рутине. Зп мне хватает в целом на жизнь, но на что-то большее нет, т.е. вынужден копить по пол года.
Соответственно, вопрос. Есть ли у меня шансы параллельно освоить какие-то ещё технологии/языки/инструменты?
Из языков сейчас начать изучать C#, т.к. надеюсь, что он мне поможет в решении некоторых проблем, которые я встречаю при решении некоторых задач. Например, нужно проверить данные в гигабайтной XML'ке, и чтобы её вручную не открывать и не сканить через поиск, написать простой парсер и т.п. + хочется изучить Enitity Framework и понять, как наши девелоперы работают с данными, как хранимые процедуры вызываются. Ну и также мечу взгляд в машобчик и нейроночки. Т.е. хочу ещё вкатиться в Python/R. И тут у меня дикий бугурт от себя, потому что в универе у меня был курс интеллектуального анализа данных , и освещались различные алгоритмы, но я нихера не понимал.
Соответственно, второй вопрос. Если шансов нет, и если мне не имеет смысла пытаться изучать языки/инструменты выше, куда можно дальше двигаться? В разработчики/архитекторы баз данных? Сложно ли освоить Sphinx? Имеет ли смысл изучать другие другие СУБД, либо NoSQL? Сложно ли вкатиться в MongoDB + ElasticSearch? Буду благодарен, если кто-то обратит на меня внимание.
Аноним 03/11/17 Птн 07:15:21  1086640
>>1086466
Спасибо!
Аноним 03/11/17 Птн 08:13:57  1086645
>>1086540
Обратил, прочитал, а спросить ты что хотел?
Хватит ли тебе знаний на разработчика БД? Сходи на собеседование, узнай.
Что тебе изучать? Что тебе самому нравится, то и изучай.
Это искусство высрать пост на весь экран и ничего не написать по делу.
Аноним 03/11/17 Птн 08:46:11  1086651
>>1086645
Спасибо, что прочитал. У меня есть проблемы с формированием мысли, поэтому я часто расписываю ненужную хуйню, так и не объяснив самое основное в сухом остатке. Спрошу точнее, надеюсь так будет понятнее.
Имеет ли смысл изучать C#, как приложение к уже имеющимся знаниям в MS SQL? Т.е. можно ли какие-то крутые вещи пилить, когда имплементируешь SQL в C#? Например, сложные регулярки пилить или какие-то библиотеки прикручивать или выньформу запилить с прикруткой в базе, ну и т.п. И более общий вопрос, к которому клоню. Куда можно двигаться в этой области (работа с данными)? В первую очередь не с точки зрения бабла, а перспектив. Ну т.е. нужно понимание, что вот такой-то стэк технологий условно в ближайшие 5 лет будет актуальный, поэтому имеет смысл двигаться в этом направлении и при этом не быть бесполезным куском дерьма на рынке труда. Соответственно я и спросил про машин лёнинг/проектирование бд/сфинкс/носиквел и т.п. Что из этого востребовано сейчас на рынке и во что из этого реально вкатиться?
Аноним 03/11/17 Птн 09:34:50  1086659
>>1086651
Да, например, в моем отделе пишутся интерфейсы на sharepoint под БД. Это и есть C#. То есть от разработчика требуется как SQL, так и C#. Но я не такой, к сожалению, обычная отчётная макака.

В любой непонятной ситуации скролль хедхантер, sql в связке с C# я вижу довольно часто.
Аноним 03/11/17 Птн 09:45:06  1086666
>>1086651
По профессиям.
Архитектор - моя влажная мечта, но нужен колоссальный опыт и знания, думаю годам к 30 им стану, когда за плечами будет почти 10летний опыт работы с БД. Если, конечно, не поменяю резко направление работы.
Для МЛ ты староват и туповат, судя по всему. Да и зачем там SQL я не очень понимаю, там важно прежде всего быть хорошим программистом, питон, вся хуйня.
Если есть потребность в модных словах в названии профессии, то попробуй биг дату, hadoop, хуе-мое. Меня на такую вакансию могли взять без опыта в бигдате, да один скуль и сообразительность. Но то ли тупанул, то ли прайс большой заломил. Не сложилось, короче.
Аноним 03/11/17 Птн 16:38:45  1086748
>>1086747 (OP)

https://2ch.hk/pr/res/1086747.html

Да, я полностью скопировал этот тред.
Хотите лучше - делайте сами.
Аноним 03/11/17 Птн 19:57:40  1086832
>>1086748
Делай что-то нормально или не делай вообще.
Аноним 03/11/17 Птн 20:12:26  1086838
>>1086832
Я так и знал
Сами-то чего не перекатили?

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 562 | 46 | 241
Назад Вверх Каталог Обновить

Топ тредов
Избранное