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


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



<<
[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 523 | 57 | 266

ЕДИНЫЙ БАЗ ДАННЫХ ТРЕД Аноним 03/11/17 Птн 16:37:20  1086747  
15014010310850.jpg (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к не получаем.
А так же:
Постгре или постгрес?
Май эс ку эль или мускуль?
Эс ку эль или сиквел?

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

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


#sql #бд #базы данных
Аноним 04/11/17 Суб 12:47:14  1087057
Почему у вас нет гайдо-шапки? Хочу подтянуть теорию, что читать?
Аноним 04/11/17 Суб 12:54:57  1087060
>>1087057
Дейта читай, если по-серьезному.
Аноним 04/11/17 Суб 13:13:36  1087068
Посоветуйте где лучше хранить память для нейроночки, какая БД лучше, там SQL или же текстовый документ, а мб и вовсе в формате json?
Аноним 04/11/17 Суб 13:24:33  1087070
https://arhivach.org/thread/305983/

Предыдущий.
Аноним 04/11/17 Суб 16:14:00  1087127
ебаные функции какого хуя нихуя не работает блядь
Аноним 04/11/17 Суб 23:27:45  1087300
>>1087127
Ты бы хоть вопрос задал... А тебе бы кто-нибудь гениальный помог. Я, например
Аноним 05/11/17 Вск 00:16:34  1087337
>>1087300
да я уже разобрался
просто язык ущербный пездос
Аноним 05/11/17 Вск 02:54:31  1087370
>>1086747 (OP)
Где вкатится?
Что читать
Аноним 05/11/17 Вск 21:32:41  1087656
>>1086747 (OP)
В смысле ПРОСТО ПЕРЕКАТИЛ, ирод?! А придумать тупую пикчу и дибильное описание для Оп-топика?
>>1087068
смотря, какие данные. если у тебя места жопой жуй, можешь в джей соне хранить, да, однако, данные зачастую используются еще какими-то системами, так что скорее всего, они уже где-то собраны(в бд), а тебе их просто нужно грамотно представить и запихнуть в свою нейросеть на пайтоне
Вопрос, честно говоря, ни о чем. Это как
>на каком языке программировать?
Аноним 06/11/17 Пнд 23:07:06  1088045
>>1087370
иди в sqlzoo, потом порешай немного sqlex

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

если научишься юзать ETL-инструмент, или что-то для аналитики вроде Business Objects или хз че ещё есть, можешь больше получать
Аноним 09/11/17 Чтв 10:36:09  1089116
Да как так-то блядь
Почему у меня запрос отрабатывает быстро, а когда я пишу инсерт с этим запросом - виснет
Ебаный оракл
Он чё хинты выключает или что
Ухххх сука бля
Аноним 09/11/17 Чтв 10:40:17  1089118
>>1089116
На базе, с которой я беру данные, все ок. И селект и инсерт.
Я прописываю в свой запрос driving_site
Селект работает так же быстро, как на основной базе, а инсерт висит
Что за хуйня
Аноним 09/11/17 Чтв 10:50:26  1089121
>>1089118
Л О Г И Р О В А Н И Е
О
Г
И
Р
О
В
А
Н
И
Е
Аноним 09/11/17 Чтв 12:12:53  1089149
>>1089121
А зачем ты это высрал? Я не понял с одного слова, поясни
Аноним 09/11/17 Чтв 20:38:59  1089536
>>1089118
Что значит "висит", ебаный ты в рот?
Висит, в смысле, вообще ни одной строки не инсертит? Если да, у меня для тебя плохие новостиблокировки
Если нет, и просто инсертится ооооооочень медленно, у меня для тебя плохие новостидиски скорость фрагментация кококо
Аноним 10/11/17 Птн 01:05:13  1089673

Народ, такой вопрос.
Только начинаю прошаривать бд, для своего личного проекта. Имеет ли смысл писать сервер на с++, и из него через сторонние библиотеки делать запросы к sql-серверуpostgresql в частности?
Смысл такой, что клиент на питоне шлет запросы, с++ сервер принимает, вытаскивает какие-то данные из БД, прогоняет их через питоний скрипт на своей стороне(какой - зависит от пользователя, их типо много) и возвращает ответ клиенту. Или все это можно сделать как-то на самом SQL сервере? Я понимаю что наверно нет, но меня словосочетание sql сервер смутило, типо из с++ сервера обращаться в другой сервер... хз
Что скажете?
Остальное все уже продумано и частично написано.
inb4: Не ньюфаг, с++ знаю относительно хорошо, python тоже неплохо.
Аноним 10/11/17 Птн 02:03:59  1089688
>>1089673
>Что скажете?
1) Том Кайт — «Oracle для профессионалов»
2) К. МакДональд, Х. Кац, К. Бек, Д. Кальман, Д. Нокс — «Oracle PL/SQL для профессионалов»
Аноним 10/11/17 Птн 16:56:16  1089896
>>1089673
>клиент на питоне
не нужен, эта задача решается средствами веб интерфейса
если все-таки нужен, то для него не нужен сервер на c++, эта задача решается прямым обращением к базе/sql_серверу из клиента
ежели таки нужно и то и другое, то необязательно писать сервер на c++, можешь писать его на том же питоне

>из с++ сервера обращаться в другой сервер
мировая практика, иначе при наличии овер9к клиентов с исходящими 100500 запросов/сек. к базе от каждого, твой сервер просто ЗДОХНЕТ, ЯСКОЗАЛ
Аноним 10/11/17 Птн 17:23:06  1089916
>>1089688
Да мне собственно сама sql мне не особо нужна, там вся база это 2 таблицы с 4 столбцами каждая, но на книги обязательно гляну
Аноним 10/11/17 Птн 17:26:03  1089920
>>1089896
Понял, спасибо. На счет сервера на питоне подумаю, все же привычнее на плюсах, да и наработки есть ну и распространненное мнение/заблуждение что плюсы априори быстре, а собственно ради скорости отдельный сервер и затевался
Аноним 10/11/17 Птн 22:01:08  1090069
Realnetstalking.jpg (140Кб, 1082x740)
Сап, аноны, пришел к вам за помощью.

В универе дали задание - придумать 1) 3 ненормализованных таблицы, 2) 3 таблицы в 1НФ с аномалиями, 3) три таблицы во 2НФ с аномалиями и 4) 3 таблицы без аномалий.
Если с 1, 2 и 4 все понятно, то вот с 3 я нихуя не понимаю. Какие аномалии могут быть в 2НФ, если эти самые аномалии 2НФ и фиксятся?
>Такие неприятные явления называются аномалиями схемы отношения или коллизиями. Эти недостатки реляционных отношений устраняются путем нормализации по 2НФ.

Уже час голову ломаю, ничего придумать не могу.
Аноним 10/11/17 Птн 22:02:54  1090072
>>1090069
Аутист плес, зачем вообще на ИТ пошёл? По специальности собираешься работать?
Аноним 10/11/17 Птн 22:06:53  1090073
15068811740760.png (346Кб, 1225x1728)
>>1090069
Чего? Я же не на проектировщика БД учусь.
Аноним 10/11/17 Птн 22:07:21  1090074
>>1090073
=>
>>1090072
Аноним 10/11/17 Птн 22:28:51  1090082
>>1090069
Блядь, на Википедии примеры есть
Аноним 11/11/17 Суб 01:53:18  1090144
Чет вообще не вдупляю пацаны, есть крч пайплайн функция. Как мне заселектить эту таблицу которую в пайпроу выбрасывает?
Аноним 11/11/17 Суб 02:36:27  1090148
>>1090144
select * from table(твоя_функция(аргуменнты_к_ней))
Аноним 14/11/17 Втр 16:58:45  1091885
Что означает prior в oracle?

SELECT employee_id, last_name, manager_id
FROM employees
CONNECT BY PRIOR employee_id = manager_id;


EMPLOYEE_ID LAST_NAME MANAGER_ID
----------- ------------------------- ----------
101 Kochhar 100
108 Greenberg 101
109 Faviet 108
110 Chen 108
111 Sciarra 108
112 Urman 108
113 Popp 108
200 Whalen 101
...

есть некий работник и мы его соединяем таким образом, что б manager_id следующего по level (иерархии) работника была равна employee_id текущего?

А если так:

SELECT employee_id, last_name, manager_id
FROM employees
CONNECT BY employee_id = PRIOR manager_id;

Что конкретно означает PRIOR ?
Аноним 14/11/17 Втр 16:59:40  1091886
Снимок.PNG (5Кб, 415x239)
>>1091885
*нормальная разметка аутпута
Аноним 14/11/17 Втр 17:42:36  1091916
SQLite3
/тред
Аноним 14/11/17 Втр 17:44:12  1091918
>>1091885
То поле перед которым PRIOR будет считать своим родителем другое поле равенства.

habrahabr.ru/post/43955/

Хотя как по мне, лучше бы PRIOR ставили перед родителем.
Аноним 14/11/17 Втр 19:23:52  1091974
Нубовопрос по jpql.
Есть статусы пользователя, 1, 2, 3, и условно еще один, из всех остальных, но не этих трех (4, 5, 6, 7, 8)
Я строю такой запрос: ... WHERE e.status IN (1, 2, 3), получается первые три статуса
все 4 имеющиеся - WHERE e.status IN (1, 2, 3, 4, 5, 6, 7, 8 ), но, это как-то не правильно, и получается, надо написать
WHERE e.status IN (1, 2, 3) and e.status NOT IN (1, 2, 3), я прав? Хотя я где-то объебался.
Аноним 15/11/17 Срд 17:11:46  1092458
>>1091974
Перечитал твой пост три раза и нихуя не понял :/ можешь ещё раз объяснить? Опиши какие строки ты хочешь на выходе получить
Аноним 15/11/17 Срд 19:50:39  1092516
>>1092458
Есть четыре чекбокса, соответственно статусы 1, 2, 3, а у четвертого чекбокса все остальные. Мне нужно получить запрос, чтобы достать соответствующих пользователей.
Аноним 15/11/17 Срд 21:08:52  1092572
>>1091974
Прост селект таблицы делаешь без условий.
Аноним 17/11/17 Птн 00:06:07  1093225
Либо я даун, либо условие непонятное. 3 пункт я не понял, что делать. Может кто поможет понять, что пытался донести до меня автор?
>Месяцу совпадающему с таблицей kek3
>Что?

1. В зависимости от того, существует ли уже таблица с именем kek1 в БД, создать или удалить и создать.
Поля таблицы допускают пустые значения
- Data тип дата-время
- ID тип целый
- TankID тип символьный, длина 10.
- Mass плавающий
- Vol плавающий
Присвоить значения массе и объему (300 и 150), а TankID равное дате текущего дня месяца.
2. Создать функцию Plot с двумя переменными Mass_F и Vol_F.
Вычислить значение функции, взяв данные из таблицы kek1.
3. Занести вычисленное значение плотности в таблицу kek2 для резервуара TankID совпадающий с TankID из kek1 и месяцу из Date, совпадающему с таблицей kek3. (Связанные поля пишутся одинаково)
Аноним 17/11/17 Птн 13:04:50  1093378
Есть ли тян или знатоки женщин в треде?
Хочу подарить знакомой, которая занимается ораклом бусы или браслет, как в официальной документации,
толковая мысль?
Аноним 17/11/17 Птн 14:23:42  1093416
>>1093225
Я и второй-то пункт ниасилил. Что функция должна делать то, лол?
Аноним 17/11/17 Птн 14:24:36  1093418
>>1093378
Она типа вся такая гик/нерд? Если нет то хуже подарка придумать нельзя
Аноним 17/11/17 Птн 19:01:16  1093566
Посоветуйте фундаментальную книгу по SQL, которой хватило бы для вкатывания в БД.
Аноним 17/11/17 Птн 20:45:42  1093646
Посоны, есть 2 таблицы, А и Б, в них колонки А.а, и Б.б, надо объеденить эти колонки в одну, при этом не добавляя повторяющиеся(то есть если у нас в обоих колонках есть число 2, то не добавлять его, а добавлять только те числа, которые есть только в одной колонке).

Пока придумал, что простой метод это объединить две колонки в одну и потом удалить повторяющиеся, но это 2 запроса, как одним это сделать?
Аноним 17/11/17 Птн 21:33:27  1093675
>>1093646
Хоть бы скинул, что получилось. По условию нифига не понял.
Аноним 17/11/17 Птн 22:01:28  1093701
image.png (2Кб, 266x114)
>>1093675
Ну вот. Объеденить столбцы A и B и получится столбец D, в котором есть только неповторяющиеся значения.
Аноним 17/11/17 Птн 23:38:37  1093735
Image 2.png (56Кб, 1709x917)
>>1093701
SELECT DISTINCT A.A
FROM A
UNION
SELECT DISTINCT B.B
FROM B
MINUS
(SELECT DISTINCT A.A
FROM A
INTERSECT
SELECT DISTINCT B.B
FROM B);

Собственно, это и есть столбец D, а дальше уже что хочешь с ним делай.
Если что, я кроме Оракла ничего не знаю, поэтому хз прокатит ли такой скрипт на других платформах
Аноним 17/11/17 Птн 23:39:29  1093736
>>1093735
Запрос, если быть точнее.
Аноним 18/11/17 Суб 05:27:55  1093829
>>1093735
>A.A
^_^

>ВЫБРАТЬ РАЙОН ИЗ А ОБЪЕДИНЕНИЕ
x_x
Аноним 18/11/17 Суб 11:36:07  1093857
>>1093829
>>A.A
>^_^

Он сказал, что >>1093646
>есть 2 таблицы, А и Б, в них колонки А.а, и Б.б,

>>1093829
>>ВЫБРАТЬ РАЙОН ИЗ А ОБЪЕДИНЕНИЕ
>x_x

И как бы ты их сджоинил, если нет одинаковых столбцов?
Аноним 18/11/17 Суб 14:04:47  1093911
Создать запрос для вывода только правильно написанных выражений со скобками (количество открывающих и закрывающих скобок должно быть одинаково, каждой открывающей скобке должна соответствовать закрывающая, первая скобка в выражении не должна быть закрывающей). Примеры неправильных выражений:
((((a)g)q)
z)(s)(
(((f)e)w))(h(g(w))
))((

Есть даже решение, в котором не могу разобраться начиная со вспомогательной таблицы RESULT (14я строка):
https://pastebin.com/uYLZYuyt

если строка "правильная", то она выводится, в противном случае не выводится ничего или null

По мотивам этого решения написал своё:
https://pastebin.com/iWBYa7z5

Но моё плохо тем, что считает правильным такую строку
))((
потому что я просто считаю количество ) за 1 и ( за -1, а остальное за 0 и складываю, вывожу, если итог 0.
А как мне учесть такое )( не могу сообразить.

Буду благодарен, если кто напишет комментарий к 1му решению, подскажет мне как улучшить моё или представит работающее своё.
Аноним 18/11/17 Суб 16:53:48  1093991
>>1093566
Бамп. Вроде, какого-то Дейтела всем советуют, а я нагуглить не могу.
Аноним 19/11/17 Вск 14:54:10  1094364
>>1093911
>DE_STRING AS(
> SELECT STR, SUBSTR(STR,LEVEL,1) SS, ROWNUM RN
> FROM STRING
> CONNECT BY LEVEL <= LENGTH(STR)),

Разбивает на буквы строку.

>PARENTHESIS AS(
> SELECT STR, SS, ROWNUM R
> FROM DE_STRING
> WHERE SS IN ('(',')')
> ORDER BY RN),

Забирает из разбитой строки только скобочки.

>DE_PARENTHESIS AS(
> SELECT STR, TO_NUMBER(CASE SS WHEN '(' THEN 1 ELSE -1 END) AS SS, R FROM >PARENTHESIS),

Заменяет скобочки на цифры.

>RESULT AS(
> SELECT STR, SS, R, (SELECT SUM(SS) FROM DE_PARENTHESIS WHERE R<=EXT.R) AS >RESULT FROM DE_PARENTHESIS EXT
> START WITH R = 1
> CONNECT BY PRIOR R = R-1),

Кумулятивная сумма чисел скобочек. То есть сначала первая скобка, потом 12, потом 123 и т.д..

Потом автор взял за основу 2 условия адекватности выражения.
Выражение адекватно, если:
1. Сумма чисел скобочек в строке = 0, что очевидно.
2. Никакое из значений кумулятивной суммы не меньше 0, что эквивалентно наличию лишней закрывающей скобочки. Можно понять, что из такого выражения уже никак не получить адекватное.
Аноним 20/11/17 Пнд 09:55:00  1094860
222.png (5Кб, 437x124)
111.png (15Кб, 1681x187)
Здравствуйте, ананасы. У меня не хватает мозгов чтобы корректно составить запрос. Суть такова: есть база с CDR-записями Asterisk. Я на нее повесил веб-интерфейс Asterisk-CDR-Viewer-Mod. Он, в принципе, то что мне нужно, но расход средств показывает не совсем в таком виде, в каком нужно. Хотелось бы видеть выборку как на первом пике. Фильтрация направлений звонков производится условиями на втором пике. Поможите составить запрос, аноны.
Аноним 20/11/17 Пнд 09:57:51  1094861
>>1094860
Забыл добавить что стоимость тарифа не хранится в базе, а лежит в CSV-файле. Но на нее внимания можете не обращать, мне хотя бы выборку по направлениям сделать чтобы считалась общее количество секунд по указанному периоду для мобильных, городских и т.д.
Аноним 20/11/17 Пнд 11:09:52  1094871
>>1094860
Так тут можно обычные sql запросы делать? Это бы всё ускорило.
Если нет, то можешь в самом скрипте суммировать данные.
Аноним 20/11/17 Пнд 15:46:48  1094967
Image 10.png (21Кб, 1048x227)
Почему возникает такая ошибка?
Хочу отобразить повторяющиеся слова в строке.
Аноним 20/11/17 Пнд 18:25:50  1095053
jerryswag.png (98Кб, 288x265)
>>1086747 (OP)
Сап аноны! На связи кун энихуйщик (по совместительству - полный ноль в БД) с мухосранска. Ношу подносы с новыми клавиатурами Обслуживаю 25 пекарен в конторке, занимающейся отчасти лабораторными испытаниями. В срочные сроки поставлена задача ввинтить результаты лабораторных испытаний (задним числом есесссна) в базу данных оборудования для испытаний (одно из этих чуд - Хромос ГХ-1000). Собственно вопрос - реально ли?

Результат беглого осмотра - из того что называется Базами данных найден лишь файл мелкомягких .mdb с заготовленными заголовками, формулами и прочей хуергой для занесения данных, то есть пользовательских данных в нем нет. А собственно сами результаты вместе с хромотограммами пишутся в отдельные файлы с расширением .stg (которые естественно открываются только прогой идущей к прибору).
Исходного кода этого чудо ПО ясен хуй нету. Как быть?

ВНИМАНИЕ! Анончик, дорогой! Я знаю ты можешь помочь советом и поэтому, если предложишь 100% рабочий вариант решения моего вопроса, я гарантирую оплату деньгами на ништяки, пивас, пару шлюх и немного кокаина (ну или на пару гантель, штанг и абонементов в тренажерку, если ты больше по ЗОЖу например)!

Вопрос жизни, целостности моего ебальника, моей работы и твоих, возможно, очень даже нихуевых выходных, анон!
Аноним 20/11/17 Пнд 18:26:22  1095054
1014915986.jpg (125Кб, 856x1200)
>>1093991
Аноним 20/11/17 Пнд 21:05:03  1095134
>>1095053
Не знаю, как тебе помочь.
Попробуй с этого, может что-нибудь прояснится.

http://www.anchem.ru/forum/read.asp?id=21976
Аноним 20/11/17 Пнд 21:08:32  1095137
>>1095053
Если есть ПО Бакса могу подсказать, как что хранится, базы данных там нет, все в бинарных файлах. Наверняка в Хромосе все то же самое. Попробуй посмотреть работает ли их ПО как OLE сервер, можно попробовать дизассемблировать, если c# или джава то шансов понять, что надизассемблируешь больше. Ты конечно тут всем покушать принес, братишка.
Аноним 20/11/17 Пнд 21:28:13  1095149
>>1095134
Хммм. Конвертнуть туды суды в принципе вариант, но там объем адовый. Но спасибо за ссыль, покопаю.
Аноним 20/11/17 Пнд 21:51:32  1095166
>>1095137
> Если есть ПО Бакса могу подсказать, как что хранится, базы данных там нет, все в бинарных файлах. Наверняка в Хромосе все то же самое. Попробуй посмотреть работает ли их ПО как OLE сервер
Если ты про НТФ "БАКС", то нет, их оборудования и соответственно ПО нет.
Проблема в том, что там настолько кастрированные настройки, что кроме как указать пути к хранению баз, методов и хроматограмм ничего не представляется возможным. Да и установлен прибор локально, то есть комп и прибор, сервера для хроматографа нет. Вообще мне кажется там ole ни к чему, там даже никакого особого форматирования нету - тупо цифры в поля вбивает юзверь, они потом выводятся в отчетах. Если бы хотя бы экспорт в эксель был... А про дизассемблер, это ты имеешь ввиду раскомпилировать экзешник? Это одно и тоже? Если да, то мне кажется это импоссибль(
Аноним 21/11/17 Втр 12:00:21  1095429
>>1086747 (OP)
Я тут уже полтора треда засрал и пришел к такому выводу что мне нужно именно сюда:
Посоветуйте тему для курсача, MsSql, знаний мало.
Где базы данных нужны и какой с их помощью можно сделать йоба курсач и не обосраться?
Аноним 21/11/17 Втр 17:30:20  1095588
>>1095429
бля, проще сказать где базы данных НЕ нужны. В крайнем случае просто возьми стандартный пример с школой, пусть у тебя будет таблицы: учителя, школьники, оценки там. Нормализуй(т.е. смотри чтобы соблюдались норм. формы). Наложи какие-то констрейнты, ну типа чтобы оценка могла быть в пределах от 1 до 5, даже на таком уровне.
Аноним 22/11/17 Срд 00:31:39  1095857
>>1095588
Мне кажется просто что много где достаточно как раз таки обойтись сериализацией тупо в файл и так даже будет удобнее.
А в повседневной жизни нужно только всем сортам продаванов товаров и услуг и то не везде.
> стандартный пример с школой
Слишком просто, желательно что-то посложнее.
Аноним 22/11/17 Срд 23:43:52  1096339
базаны, 5 миллионов записей в таблице это же мало или уже средняя БД?
Аноним 23/11/17 Чтв 07:44:09  1096400
>>1096339
Это хуита. Увеличь в 20 раз - получишь среднюю по размерам бд.
Аноним 23/11/17 Чтв 14:30:53  1096557
Никто не помнит название книги по базам данных, которую я читал несколько лет назад. Особенность книги заключалась в том, что там параллельно изучению SQL была еще и интересная история про некую принцессу, которой король кажется дал задание, сделать базу данных для неких массивов информации. Задача читателя, вместе с принцессой освоить SQL и сделать необходимую БД для короля.
Аноним 23/11/17 Чтв 14:54:33  1096569
>>1096557
https://www.amazon.com/Manga-Guide-Databases-Mana-Takahashi/dp/1593271905
Аноним 23/11/17 Чтв 14:57:48  1096572
>>1096569
Да, это она. Спасибо большое за помощь.
Аноним 24/11/17 Птн 17:07:50  1097260
Помогите, пожалуйста с задачей

\tСоздать запрос для выделения из символьной строки повторяющихся, стоящих рядом слов.
Примеры:

Кулон лон слон слон слон Книга книга \tслон слон
Книга книга

Мама мыла раму раму мыла мама\t
раму раму

пока что есть такое решение
https://pastebin.com/45xhHR08
но это всё равно не до конца верно, потму что строка
'ER ER erer erer er er erer ererer erer erererer erererer'
обрабатывается некорректно
Аноним 24/11/17 Птн 17:08:06  1097261
Снимок.PNG (11Кб, 722x206)
>>1097260
Аноним 30/11/17 Чтв 14:22:45  1100486
Более-менее знаю SQL pl/sql,ms sql и админство БД, баловался с машобом.
Насколько направления BI/ETL перспективны? Есть ли смысл изучать и возможно ли вообще это самостоятельно, не имея доступа к инструментам корпоративного уровня? Реально ли найти удалённую работу такого рода или разумнее продолжить изучать Java (которая не очень нравится и по большей части просто использовалась вместо скриптов для всяких задачек по работе с данным) и конкурировать с армией индийцев?
Аноним 30/11/17 Чтв 17:06:30  1100557
>>1100486
Учи пистон
Аноним 30/11/17 Чтв 20:30:38  1100660
Если ты даун.
Аноним 01/12/17 Птн 17:01:35  1101070
Безымянный.png (14Кб, 550x470)
>>1097260
Вот, пожалуйста, не благодарите, заодно и оппик новый будет.
Сори, у меня рабочий день кончился, не успел нормально сделать. Работает только с двумя повторяющимися словами)))))
Аноним 02/12/17 Суб 15:35:49  1101552
>>1092516
>у четвертого чекбокса все остальные
Первое фундаментальное свойство отношений - отсутствие атомарных атрибутов, а это значит, что ты не можешь присвоить четвертому чекбоксу несколько статусов.
Аноним 02/12/17 Суб 15:42:55  1101555
>>1086747 (OP)
Если я сделал 50 заданий на sql-ex, знаю реляционную теорию, знаю основы T-SQL, я могу вкатываться на джуниорские должности или мне нужно что-то еще?
Аноним 02/12/17 Суб 15:46:47  1101556
>>1101555
Да
Аноним 02/12/17 Суб 18:03:56  1101645
постгре.png (83Кб, 1136x776)
постгре2.png (99Кб, 1136x776)
только у меня pgAdmin4 такой глючный?
Третий хотя-бы работал корректно, часто вылетая при этом.
Четвёртый же просто не работает в рамках своей бизнес-логики.
Поля не переименовывает, ибо генерирует косячный sql для этого.
Выполняю скриптом insert - он рапортует что успешно, хотя оно не успешно. И я не знаю причину почему не успешно.

НЕНАВИСТЬ
Аноним 02/12/17 Суб 18:30:00  1101650
>>1101645
БЛЯТЬ.
Поставил третий пгадмин, а он не работает под десятой посгре
Аноним 02/12/17 Суб 19:01:06  1101672
>>1101645
С чего начать изучение баз данных?
Аноним 02/12/17 Суб 19:05:46  1101676
>>1101645
У меня в одно время тоже были проблемы, помогло следующее:
%папка постгреса%\data\postgresql.conf
в этом файле есть строка:
lc_messages = 'Russian_Russia.1251' # locale for system error message
Надо было заменить ее на:
#lc_messages = 'Russian_Russia.1251' # locale for system error message
lc_messages = 'en_GB.UTF-8' # locale for system error message

В моем случае пгАдмин4 не показывал ошибки, в любом случае писал success и ничего не происходило.
Аноним 02/12/17 Суб 20:46:39  1101736
>>1101676
да, помогло, спасибо.
Случайно создал базу в win1251
Аноним 02/12/17 Суб 20:48:15  1101738
онатебясожретсл[...].webm (4567Кб, 300x240, 00:00:58)
>>1101672
Аноним 02/12/17 Суб 21:25:52  1101772
>>1101738
Это понятно.
Аноним 02/12/17 Суб 21:59:03  1101802
У Oracle XE производительность сильно выше, чем у 12c?
Аноним 02/12/17 Суб 22:32:50  1101828
help.PNG (222Кб, 1498x1028)
Только изучаю базы данных, поэтому прошу сильно не стукать.

Допустим у меня есть файл с БД. Я открываю его в MySQL Workbench. И вот, у меня вопрос. Как посмотреть эту базу данных, если я уже ее открыл. Скриншот.
Аноним 02/12/17 Суб 22:45:18  1101838
>>1101828
сам майэскуэл это такая служба без графического интерфейса. К ней по сети делаются запросы, она возвращает результат.
Данные оно хранит в файле. И этот файл нужен только это службе, никому другому.

Чтобы через интерфейс пощупать базу, тебе надо запустить эту службу, и чтобы эта служба захавала этот свой внутренний файл

хотя может я не понял вопрос
Аноним 04/12/17 Пнд 00:19:11  1102516
index.png (32Кб, 418x332)
Аноны, выручайте! Добавляю в базу юзера, если юзер уже есть кидается исключение. При этом первичный ключ увеличивается, даже если пользователь не добавился, можно ли как-то пофиксить это?
Аноним 04/12/17 Пнд 01:18:31  1102541
>>1102516
Похожая проблема. Бампую вопрос.
Аноним 04/12/17 Пнд 01:35:12  1102552
>>1102516
https://stackoverflow.com/a/13297724

Последствие этого решения - замедление базы данных. Но не могу сказать, в каких пределах.
Для тестов и лаб норм.
Аноним 04/12/17 Пнд 08:17:57  1102609
Пжаласта не шифруйте пароли в бд сайтов с солью, мне тяжело их сливать! Не шифруйте пароли вопше! Пажаалуста!
Аноним 06/12/17 Срд 00:56:04  1103705
Аноны, а есть какая-нибудь вводная литература по СУБД, где сразу рассматривалось бы несколько СУБД и анализировалось, что в них хорошо, что плохо и для каких задач стоит применять ту или иную СУБД? Может, посоветуете что-то подобное? Конкретно интересуют MongoDB, Redis, PostgreSQL, MySQL.
Аноним 06/12/17 Срд 16:09:18  1103988
Анон помоги.
Представь вот такую табличку
num action date_time
43252 DELETE 20170825 15:55:45.68
43252 DELETE 20170825 15:58:02.57
43252 DELETE 20170825 15:59:14.77
43252 DELETE 20170825 16:01:20.35
43252 DELETE 20170825 18:23:41.91

как сгруппировать ее так что бы он учитывал промежуток во времени только 1 час?
тоесть должно получиться так первые 4 строки группируются а пятая нет т.к она
совершалась позже чем через час начиная с минимальной даты из первых 4-х строк,
тоесть в группу должны попасть все записи в промежутке между 15:55:45.68 - 16:55:45.68
вот так
43252 DELETE 20170825 15:55:45.68
43252 DELETE 20170825 18:23:41.91
одна запись сгруппировалась по времени в промежутке за 1 час а другая в этот промежуток не влезла и осталась
Аноним 07/12/17 Чтв 08:22:55  1104399
>>1103988
А что ты понимаешь под словом сгруппировать?
Аноним 07/12/17 Чтв 11:42:55  1104460
>>1104399
group by

из таблички в примере group by должен выглядить примерно так

group by [num],[action],{date_time в промежутке от первой строки 15:55:45.68 до dateadd(hh,1, 15:55:45.68) }
Аноним 07/12/17 Чтв 20:10:26  1104674
>>1104460
А с остальными строками что делать?
Аноним 07/12/17 Чтв 20:12:04  1104677
>>1103705
Сам себе посоветую - может, ещё кому пригодится:
Eric Redmond, Jim R. Wilson - Seven Databases in Seven Weeks - A Guide to Modern Databases and the NoSQL Movement.
Почти то, что нужно.
Аноним 08/12/17 Птн 04:53:44  1104854
Суть такая, есть 11g oracle db xe, dev suite 10g, все в виртуалке на xp.
Oracle designer как минимум не терпит кириллицу в диаграммере, с NLS-LANG ебался, не помогает, кастомайз сосет.
Не хочу сидеть в корпусе для того, чтобы сделать лабу, выручайте, как суппостата ебнуть, чтобы кириллицу поддерживал?
Аноним 08/12/17 Птн 23:07:23  1105216
>>1086747 (OP)
В чём разница между репликацией и зеркалированием БД? Натыкался на разные определения и цели у обеих технологий, но чё то они похоже все одинаковые. Единственная разница, которую я находил - зеркалирование нужно, чтобы обеспечивать максимальную доступность: сначала ебошит мастер и все транзакции тем или иным способом транслирует слейвам, а потом если мастер отвалится, то до его восстановления мастером становится какой то другой слейв, но тем не менее в один и тот же момент времени работает только один сервер. В репликации же одновременно работают и мастер и все слейвы, только вот операции write/delete идут через мастера, а read - через наиболее удобного слейва, что позволяет не только увеличить доступность, но еще и снять нагрузку с мастера. Иными словами, цель репликации: доступность поддержка большей нагрузки, а зеркалирование - просто доступность БД?
Аноним 09/12/17 Суб 01:01:34  1105253
>>1104674
INSERT INTO anus
Аноним 09/12/17 Суб 16:38:35  1105432
>>1086747 (OP)
Есть две таблицы, в обоих у записей одинаковые id. В одной 100 записей, в другой 30. Как из первой выбрать только те, которых нет во второй ?
Аноним 09/12/17 Суб 17:48:01  1105474
>>1105432
select * from table1 t1 left outer join table2 t2 on t1.id = t2.id where t2.id is null
Аноним 10/12/17 Вск 23:02:56  1106095
>>1105432
select * from table1 t1
where not exists (
select 1 from table2 t2
where t1.id = t2.id
)
Аноним 11/12/17 Пнд 22:29:38  1106398
>>1105432
Select id from t1
Minus
Select id from t2
Аноним 12/12/17 Втр 00:26:22  1106434
Посоны, советов мудрых ищу.

Суть токова: хочу делать оналитику. Есть эвенты примерно 10 видов. В них довольно разные поля, причём в них есть ещё вложенные на 2—3 уровня объекты. В сыром виде эти эвенты ещё объединены в массивы пачками штук по 100 и этими пачками и хранятся.

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

В общем сходу пришла идея, что сырые данные из-за их разрозненной структуры удобно хранить в NoSQL виде (пока недолго думая засунул их в монгу). Потом каким-нибудь ETL выгружать их в преобразованном плоском виде в SQL (сходу, опять же, взял постгрес). Ну и потом уже писать запросы-запросики, JOINы и т.д.

Что не нравится в текущей схеме:
1) Монга медленная сука на bulk reads. Считать миллион или несколько лямов документов за раз — ждать охуеешь.
2) Постгрес тоже не самый быстрый для ОЛАП запросов (но в принципе в какой-то степени это решается через пре-вычисленные и обновляемые materialized views)

Советов мудрых прошу:
1) Что лучше использовать, чем монгу, для сырых неструктурированных данных, чтоб они читались быстро в ETL?
2) Что лучше юзать для ETL?
3) Какая БД заебок для OLAP? Слышал про Vertica или опен-сорсный Druid, а в друиде нет joinов. Redshift? Данных вроде не безумно много, пока ~10 лямов эвентов, но будет расти. Думаю до 100 млн дорастёт в обозримое время.

Рассматриваю как опен-сорс, так и вариант с отстегиванием бабла империалистическим расовым буржуям.
Аноним 12/12/17 Втр 01:12:32  1106457
>>1106434
Монга не предназначена для хранения связанных данных.
Аноним 12/12/17 Втр 01:18:51  1106459
>>1106457
Блин, я не знаю, зачем это написал.
Аноним 12/12/17 Втр 01:19:55  1106460
>>1106457
Так они ж не связаны. Просто последовательность неструктурированных JSON-like объектов с несколькими уровнями вложенности.
Аноним 12/12/17 Втр 01:24:33  1106461
>>1106460
Apache Kylin?
Аноним 12/12/17 Втр 01:52:23  1106465
>>1106461
Вроде бы может подойти, но чото ОЧЕНЬ сложно. Тут технологический стек из десятка наименований, с каждым из которых надо разбираться, поднимать, поддерживать.

Я надеялся на какое-то решение попроще. Ну и для моего невеликого массива данных я не уверен что сразу надо бросаться в дебри Hadoop-экосистемы.

Но если лучше идей нет, может и придётся конечно.
Аноним 13/12/17 Срд 16:51:59  1107034
Нужен совет. Есть программа, обрабатывающая запросы клиентов и формирующая на их основе mysql запросы.

Замечено, если сформировался запрос добавить 2500 строчек в БД, программа подвисает секунд на 10, добавляя данные в БД. Клиенты в это время ждут своей очереди.

Так не пойму в чём проблема. Кажется дело в конфигурации mysql. Что нужно поменять, чтобы быстрее работал сервер mysql?
Аноним 13/12/17 Срд 18:45:41  1107088
>>1107034
https://dev.mysql.com/doc/refman/5.7/en/innodb-consistent-read.html
Аноним 13/12/17 Срд 20:06:07  1107122
Добрый вечер. Как настроить мускуль чтобы он не гоун эвэй от каждого чиха.
Пытаюсь через php записать 23 строки в таблицу, и получаю в ответ MySQL server has gone away. Отчего может быть, чем лечить?
Аноним 14/12/17 Чтв 09:33:22  1107318
Призываю всех вкатывальщиков, бездельников, интересующихся.

Давайте я вам порешаю какие-нибудь интересные задачи по SQL или отвечу на какие-то вопросы по БД Oracle
Аноним 14/12/17 Чтв 10:39:36  1107334
>>1107318
Как вкатиться?
Аноним 14/12/17 Чтв 11:16:49  1107351
>>1107334
Если обитателю /pr/ отрубить голову, он ещё 10 секунд будет спрашивать, как вкатиться.

Ладно, один хуй с похмелья не работается, можно и попиздеть.

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

Все ситуации индивидуальны. Я не вкатывался в это дело целенаправленно, я просто искал работу, будучи студентом, который не умеет ничего. Так уж вышло, что человек я одаренный, но очень неустойчивый, у меня не получается изучать что-то самостоятельно дома, мне нужны реальные задачи.
На первую мою работу меня взяли за отличный физико-математический бекнраунд и сообразительность. Это было не слишком серьезно, можно сказать, что это подработка для студента. За копейки, кстати. Но тем не менее там я впервые познакомился с sql и ораклом, полюбил, сделал это своей специализацией. После свалил в хорошее место.
Спустя пару лет я великолепный разработчик отчётности, имею психологические 100к в месяц и очень доволен жизнью.
Аноним 14/12/17 Чтв 11:19:50  1107356
>>1107351
И да, я все же больше хотел попиздеть о технических вопросах, а не о карьере. Селектики там пописать, ну вы понимаете.
Аноним 15/12/17 Птн 13:41:20  1107923
Да хуле вы такие мертвые
Мне вот и чатик по sql в телеге не впадлу было бы создать, но никому не интересно ведь будет, да?
Аноним 15/12/17 Птн 18:12:55  1108025
>>1107923
Создавай! @aminazinn и в шапку треда надо будет запилить
Аноним 15/12/17 Птн 20:25:21  1108090
>>1107923
Поехали
@database2ch
Аноним 17/12/17 Вск 18:01:44  1108852
>>1086747 (OP)
Есть база данных на хостинге. У меня есть логин и пароль. Работаю с ней через программы вроде HeidiSQL. Сейчас надо подключиться скриптом php (5.6 и 7, в составе WAMP64), юзаю mysqli, а он выдаёт ошибку

mysqli_connect(): (HY000/2000): mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication.

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

Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file


Можно ли как-то приконнектиться к базе ?
Аноним 18/12/17 Пнд 03:24:23  1109060
>>1089118
Может там на инсерт какие-то триггеры работают?
Аноним 18/12/17 Пнд 03:30:43  1109063
>>1102516
Избавься от автоинкрементального ключа и сделай ключ генерируемым.
Аноним 18/12/17 Пнд 03:36:00  1109064
>>1086747 (OP)
Научите пользоваться индексами. Зачем они нужны? Когда и какие использовать? Хотелось бы с примерами из настоящей практики.
Аноним 18/12/17 Пнд 03:36:48  1109065
>>1102516
>можно ли как-то пофиксить это
А собственно, зачем?
Аноним 18/12/17 Пнд 08:50:40  1109105
>>1109060
Да не, я в свою таблицу инсентил, на ней ничего не было.
Если честно, уже не помню, в чем там оказалась проблема, но все решилось
Аноним 18/12/17 Пнд 09:43:20  1109115
>>1089916

Ты узнай, что такое PL/SQL для начала.
Аноним 18/12/17 Пнд 14:23:17  1109186
BMaDvCKH0F8.jpg (7Кб, 212x276)
Вопрос по логическому проектированию бд.
Есть сущность Работники. ID - первичный ключ. И есть отдельная сущность должности. Она создана, дабы избежать аномалии удаления.
Так вот вопрос - является ли сущность работники слабой?
Аноним 18/12/17 Пнд 15:55:42  1109226
>>1109186
Гуглить можешь? Да, является. А вот нахуй тебе этот вопрос сдался вообще, я ее понимаю. Это охуенно просто. Человек приходит выебнуться интеллектом и тем, что знает термин "слабая сущность", но интеллекта на пользование гуглом ему не хватает.
Аноним 18/12/17 Пнд 16:11:57  1109232
>>1109226
Ну давай разберем по частям, тобою написанное )) Складывается впечатление что ты реально контуженный , обиженный жизнью имбицил )) Могу тебе и в глаза сказать, готов приехать послушать?) Вся та хуйня тобою написанное это простое пиздабольство , рембо ты комнатный)) от того что ты много написал, жизнь твоя лучше не станет)) пиздеть не мешки ворочить, много вас таких по весне оттаяло )) Про таких как ты говорят: Мама не хотела, папа не старался) Вникай в моё послание тебе< постарайся проанализировать и сделать выводы для себя)
Аноним 19/12/17 Втр 16:12:33  1109598
1.png (17Кб, 719x166)
4.png (3Кб, 613x52)
2.png (16Кб, 458x306)
3.png (8Кб, 455x305)
Привет, котоны. Не могу правильно составить запрос. Есть таблицы на пикриле, а суть такова: есть таблица с моделями коммутаторов, таблица с типами скриптов и собственно таблица со скриптами. Типов скриптов примерно 15, для каждой модели коммутатора скрипт определенного типа свой. Если для определенной модели коммутатора занесены скрипты, то запрос с пикрила 2 вернет то что на третьем пикриле. Но если в таблице со скриптами нет ни одной записи для определенной модели коммутатора, то запрос вернет пустой результат.
Как бы составить запрос так, что если бы в таблице скриптов не было записей с определенной моделью коммутатора, то все равно вывелись бы все типы скриптов как на пикриле 4, например?
Аноним 19/12/17 Втр 16:32:29  1109604
8c44bdbe.png (4Кб, 472x75)
>>1109598
Разобрался.
Аноним 19/12/17 Втр 20:39:16  1109679
Какой тип данных в sql может отобразить время выполнения какой-либо операции? time не подходит, там 24-часовой формат, да и вообще не про то. Например, производственный цикл длился 80 часов 20 минут хуй секунд. Что выбрать?
Аноним 19/12/17 Втр 20:56:23  1109684
>>1109679
Миллисекунды и типом большую чиселку.
Аноним 19/12/17 Втр 22:08:03  1109702
>>1109679
Interval
Аноним 20/12/17 Срд 19:15:27  1110118
Откуда можно скачать набор функций, которые потом можно встроить в SQL Management Studio?
Помню, на предыдущей работе видел функцию для красивого вывода даты-времени, которая принимала в себя переменную типа даты, шаблон dвода информации, и шаблон вывода информации. Что то типа такого:
function("01.05.17 15:46:32", "dd.mm.yy hh:minmin:ss", "mm/dd hh:minmin")
Данная функция принимает в себя определенную дату-время и выводит через слэш число месяца/месяц и часы с минутами. Ну, то есть чтоб я вбил в неё переменную даты и вывел эту дату в формате каком хочу. И наоборот - если я хочу вбить строковую переменную, которая содержит в себе дату-время и шаблон(в котором указано, какой символ, какой единице даты принадлежит) и чтобы система перевела данную строчку в тип дата-время. Думаю, такие функции можно ведь где-то скачать.
Аноним 20/12/17 Срд 20:33:08  1110159
>>1086747 (OP)
Так зачем же нужен OLAP?
Аноним 20/12/17 Срд 22:16:48  1110199
Сап.
Помогите, совсем зарапортавался.
Есть таблица Производство и таблица Материалы. Как мне вывести Имя материала и количество раз, которое этот материал используется в производствах?
Аноним 20/12/17 Срд 22:25:46  1110202
>>1110199
Или задам вопрос проще - как выбрать кортежи, у которых один атрибут одинаковый?
Аноним 20/12/17 Срд 22:30:07  1110204
>>1110199
Запрос ИмяМатериала, НЗЧ(количество(МатериалыУк), 0)
из Материалы
левый союз Производство на Материалы.Ук равно Производство.МатериалыУк
борда /po ИмяМатериала
Аноним 20/12/17 Срд 22:31:21  1110206
>>1110204
Спасибо большое, анончик
Буду пробовать
Аноним 20/12/17 Срд 22:32:51  1110207
>>1110204
Что такое НЗЧ?
Аноним 20/12/17 Срд 22:42:41  1110210
>>1110204
Получилось! Спасибо, что навел на правильную мысль
Обнял
Аноним 20/12/17 Срд 22:54:39  1110211
>>1110118
https://msdn.microsoft.com/ru-ru/library/ms187928(v=sql.120).aspx
Аноним 20/12/17 Срд 23:22:52  1110218
>>1110207
Подумой.
Аноним 21/12/17 Чтв 11:44:33  1110323
Снимок.PNG (5Кб, 457x127)
Снимок2.PNG (2Кб, 761x14)
Снимок3.PNG (3Кб, 752x50)
ЧЯДНТ?
Создаю триггер на уменьшение количества определенного материала на складе при добавлении записи в другую таблицу с айдишником этого материала - пикрил 1
Инсертаю запись - пикрил 2
И выдает ошибку - пикрил 3
Аноним 21/12/17 Чтв 13:08:56  1110344
>>1110323
Все, с этим разобрался.

А как сделать триггер на отмену вставки при определенном условии? Например, если количество материала равно 0, отменяет вставку производства с этим материалом.
В какую сторону копать?
прогрессивный хуяк-хуяк кодер 21/12/17 Чтв 13:18:08  1110345
Я же прогрессивный хуесос, ха-ха-ха вы еще руками запросы пишете, нахуй старое говно - пришло будущее, вот я такой охуенный, у меня Code-First подходы, LINQ to Entity, смотрите как я могу с лямбдами хуяк-хуяк.

БЛЯДЬ ДВОЕ СУТОК НА ЭТОЙ ЕБОЛЕ НЕ МОГУ СОСТАВИТЬ ЗАПРОС, как что-то сложнее пары уровней вложенности, все, пиздец.
Надо выбрать из первой таблицы строки, для которых в дочерней таблице выполняется ряд условий. И я блять не понимаю как к этой еболе подходить.

Условно, есть две таблицы. Покупатель и покупки, с отношением один ко многим соответственно. Мне надо выбрать тех покупателей, у которых последняя покупка была "путь будет чайник".

Еслиб это был голый SQL, то я бы объединил две таблицы, сделал бы Group By, выбрал только последние и сравнил покупки с искомой покупкой.
Как это сделать на Linq, я не понимаю. Как вообще на нем такие запросы делаются, пойду еще почитаю документацию, такое ощущению что я какую-то техническую деталь пропускаю, и не могу понять какую. Include какой-нить или еще что-нить в этом роде.
Надо понимать что в таблице покупателей, не лежат ID их покупок. Все что там есть, это public virtual List<покупки>, который в таблицу то не отображается, а транслируется фреймворком в какие-то понятные ему связи. Есть только обратные индексы в дочерней таблице, но мне её DbContext конечно же не показывает - "ибо совсем охуел, мы ему фреймворки с интерфейсами, а он куда-то глубже пидор руки свои тянет".

Кто-нить работает/работал с LINQ to Entity, вроде бы рядовая задача, а что делать я не знаю.
Аноним 21/12/17 Чтв 13:39:39  1110349
>>1110345
Двачую
Тебе скорее всего join нужен
Аноним 21/12/17 Чтв 13:58:27  1110359
>>1110345
Что нибудь в духе
from c in ctx.Customers
from s in ctx.Sales
group s by s.CustomerID into sg
let sgr = new { ID = sg.Key, LastSale = sg.Max(sg=>sg.Date)}
where sgr.ID= c.ID
select new {Customer = c, Sale = sqr.LastSale}

Хотя может выйдет и так:
from c in ctx.Customers
select new {Customer = c, Sale = c.Sales.OrderByDescending(s=>s.Date).FirstOrDefault()}
Аноним 21/12/17 Чтв 14:17:02  1110369
>>1110344
Бефор инсерт триггер на твою таблицу, в котором ты лезешь по айдишнику в таблицу, в которой количество ресурса, если там ноль, ничего не делаешь
Для верности ограничение на таблицу, что меньше нуля быть не может
Аноним 21/12/17 Чтв 14:21:17  1110372
>>1110369
И вообще ты пидрильство какое-то разводишь и головой не думаешь.
Что будет, если два человека одновременно внесут данные?
Меняй эту таблицу до
Аноним 21/12/17 Чтв 14:43:23  1110385
>>1110372
Ладно, расскажу, как человек бы сделал.

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

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

Потом ты делаешь инсерт в свою таблицу и только потом фиксируешь изменения.

Если во время твоим манипуляций, второй пользователь попробует добавить тот же ресурс, то у него повиснет блокировка. Когда ты закончишь, у него блокировка отвиснет.
Аноним 21/12/17 Чтв 15:43:06  1110422
>>1110369
Before insert не работает в T-SQL
Аноним 21/12/17 Чтв 16:40:55  1110451
>>1110422
Простите ради бога, я всё с точки зрения оракла написал.
Я знаю, что такие вопросы сильно по-разному работают в этих базах.
Простите меня.
Аноним 21/12/17 Чтв 16:45:09  1110453
>>1110451
Ты няша
Мне все равно следующую работу в Oracle Apex делать
Аноним 21/12/17 Чтв 20:46:49  1110554
Оракл-кун, подскажи, в чем ошибка
>INSERT INTO Orders values
(1, 15000, 'Mirror', '20160508'), (2, 15000, 'Glass', '20160507'),
(3, 45000, 'Mirrors', '20160508'), (4, 32155, 'Glass', '20160507'),
(5, 17000, 'Glass', '20160508'),(6, 33213, 'Mirrors', '20160507'),
(7, 9000, 'Glass', '20160607'),(8, 34500, 'Glass', '20160608'),
(9, 19800, 'Glass', '20160507'),(10, 5000, 'Glass', '20160608'),
(11, 7200, 'Mirror', '20160507'),(12, 19800, 'Glass', '20160507'),
(13, 8800, 'Glass', '20160508'),(14, 5000, 'Mirrors', '20160509'),
(15, 50000, 'Glass and mirror', '20170507');

> ORA-00933: SQL command not properly ended
Аноним 21/12/17 Чтв 20:48:55  1110559
>>1110554
А вот нихуя так не работает в оракле.
Тупо по строчке
Insert into t() values();
Insert into t() values();
Insert into t() values();
Аноним 21/12/17 Чтв 20:49:32  1110561
>>1110559
Ебаный в рот
Спасибо
Аноним 21/12/17 Чтв 20:51:52  1110563
>>1110561
@database2ch
На правах рекламы
Аноним 21/12/17 Чтв 20:53:52  1110565
>>1110563
Вот почему нельзя было обычный синтаксис T-SQl сделать?
Теперь еще все даты менять, в таком
>20160508
виде он их вставлять не хочет.
Аноним 21/12/17 Чтв 20:57:42  1110568
>>1110565
Некоторые форматы даты он понимает, '21.12.2017' бы пропустил.
А вообще всегда хорошим тоном считается объявлять маску. В твоём случае to_date('20171221','yyyymmdd'). Должен схавать
Аноним 21/12/17 Чтв 21:26:38  1110595
Жалко, что ты уже заинсертил, можно было бы попробовать поменять формат даты в сессии на твой...
Аноним 22/12/17 Птн 10:32:43  1110829
Есть тут специалисты MongoDB? Чем у вас зоны от тегов отличаются? Читаю мануалы
https://docs.mongodb.com/v3.0/tutorial/administer-shard-tags/
https://docs.mongodb.com/manual/tutorial/manage-shard-zone/
и вижу, что обе этих технологии настраиваются одними и теми же командами, и сама документация совпадает за исключением, что в одной статье tags, а в другой zones. Что за хуйня?
Аноним 22/12/17 Птн 10:38:32  1110830
>>1110829
Забыл уточнить, зоны и теги в контексте шардинга.
Аноним 22/12/17 Птн 19:54:09  1111164
>>1110345
Рот ебал этой хуйни.
Сходу нихуя не разобрался, проебал срок тест задания пока читал базу про LINQ, ебанный Entity, ламбдахуямбда, ссаные статьи о работе ORM 21 ВЕК КОКОКО.

Все оказалось очень просто в итоге:
Iqueryable costomersList =
from cost in db.Costomers
where cost.Orders.OrderByDescending(order => order.ID).FirstOrDefault().Item == OrderItems.Item
select cost;

Выбрать тех покупателей у которых последняя покупка была OrderItems.Item.
Решение на столько простое, что я практически плачу не понимая как на это ушло почти 3 дня.
Единственное что я так и не понял, метод FirstOrDefault генерирует обращение к базе сразу, или таки это будет уже сделано потом, по факту обращения в момент использования costomersList.ToList().
Аноним 22/12/17 Птн 21:30:19  1111198
>>1110829
> MongoDB
Говнище.
Аноним 23/12/17 Суб 18:44:19  1111523
Какой вариант скрипта для процедуры более эффективный с точки зрения скорости работы, если в таблицах по несколько десятков миллионов записей?
UPDATE t3 SET t3.t2ID = t2.ID
FROM [dbo].[Table3] t3 (nolock)
JOIN [dbo].[Table1] t1 (nolock) on t3.t1GUID = t1.GUID
JOIN [dbo].[Table2] t2 (nolock) on t1.GUID = t2.t1GUID
WHERE t3.t2ID IS NULL AND
-------------------------------------------------------
t3.t1GUID in (
SELECT tt1.GUID
FROM [dbo].[Table1] tt1 (nolock)
JOIN [dbo].[Table2] tt2 (nolock) on tt1.GUID = tt2.tt1GUID
WHERE t1.GUID = tt1.GUID
GROUP BY tt1.GUID HAVING count(tt1.GUID) = 1

-------------------------------------------------------
EXISTS (
SELECT 1
FROM [dbo].[Table1] tt1 (nolock)
JOIN [dbo].[Table2] tt2 (nolock) on tt1.GUID = tt2.tt1GUID
WHERE t1.GUID = tt1.GUID
GROUP BY tt1.GUID HAVING count(tt1.GUID) = 1
)
Он будет быстрее отрабатывать через EXISTS или через IN? На stackoverflow пишут, что через EXISTS.
Аноним 24/12/17 Вск 12:59:56  1111727
>>1111523
Предлагаю тебе еще один вариант:
Выбрать дистинктом все гуиды во временную таблицу (операция выполняется всего один раз в отличии от двух твоих примеров, в которых запрос выполняется для каждой строчки), проиндексировать временную таблицу по гуид, а потом переиннерджойниться с ней.
Аноним 25/12/17 Пнд 11:27:04  1112110
В базе все таблицы-справочники называются dim_*
От какого это слова?
Аноним 25/12/17 Пнд 21:54:59  1112363
>>1112110
Dimension, видимо.
Аноним 26/12/17 Втр 10:35:23  1112542
>>1112363
Может быть, я тоже об этом думал.
Но как-то нелогично, dimension это измерение же.
Вообще лучше у коллег спрошу, простите, что я такой хикка и омега.
Аноним 27/12/17 Срд 22:12:44  1113270
Если я планирую изучать T-SQL, то кроме него что ещё мне полезно знать? Устройство SQL Server'а и Microsoft Windows? Имеет ли смысл поставить виртуальную машину с виндовс сервером и sql сервером?
Аноним 28/12/17 Чтв 02:43:55  1113351
>>1112542
dim - dimension - все верно Анон выше сказал.
А база ваша - скорее всего, хранилище данных. Покури теорию по хранилищам, измерение - распространенный термин.
Аноним 28/12/17 Чтв 03:44:16  1113358
поиск в таблице из 300.000 строк даст пасасать такому же хэшу?
Аноним 28/12/17 Чтв 05:13:17  1113362
>>1090069
взбугуртну, пожалуй

>2кило7надцатый
>нормализовать бд
>экономить место
>дип джоины

(мимо веб-дебилушка требует быстрых ответов от бд)
Аноним 28/12/17 Чтв 05:14:39  1113363
>>1089673
>клиент на питоне

почему сервер не на питоне?
Аноним 28/12/17 Чтв 05:19:07  1113364
jEFpY.jpg (72Кб, 500x281)
>>1089673
>народ

Слава достижениям народного пердолинга!
Аноним 28/12/17 Чтв 05:20:31  1113365
>>1089920
>априори
сука блять чаем подавился
Аноним 28/12/17 Чтв 09:45:54  1113397
>>1113270
Если ты планируешь быть потом обычным девелопером, а не сидеть около базы DBA кодером онли. То посмотреть как работает LINQ to Entity Framework, что бы, как говориться быть в "тренде". И не обосраться как этот товарищ, когда перед тобой реальную задачу поставят >>1110345, хотя он вроде справился тремя постами ниже.
Аноним 29/12/17 Птн 11:49:49  1113772
Суп базаны, поставили такую задачу, сделать на локальной БД агрегированые копии таблиц с удаленной базы. Каждый день, ночью агрегаты должны обновлятся, чтобы утром все получили 100500 своих отчётиков в екселе куда будут зашиты селекты на локальную базу. Удалённая Постгре, локально мускл запустил из-за простоты связывания с екселем, посоветуйте пожалуйста как лучше наладить этот процесс, и что почитать, т.к. такое проворачиваю впервые.
Аноним 29/12/17 Птн 22:23:16  1113971
>>1113772
а что, из постгреса csv не выгружается?
Аноним 29/12/17 Птн 22:26:49  1113972
>>1113362
если у тебя апдейтов нет, то можешь не нормализоывать.
Аноним 31/12/17 Вск 00:52:05  1114312
>>1113772
Положняк изменился, теперь у меня Постгре удаленная и постгре локальная. И сейчас не могу через дблинк законектить.
>>1113971
Конечно выгружается, но получается, мне придется выгружать 10 цсвх каждый день, а потом читать из них ради создания аггрегированых таблиц. Я то не против, но это точно самый удобный вариант и я смогу хоть как-то его автоматизировать?
Аноним 08/01/18 Пнд 20:18:42  1117459
51873165p0.png (300Кб, 521x704)
Насоветуйте учебник по SQL/Рел.БД, чтобы нормально освоить базовые вещи.
Глубоко дрочить БД не собираюсь, поэтому талмуд Дейта с 1.5к страниц идёт нахуй.
Но мне норм если реляционная теория будет затрагиваться, даже если математически-строго.

Собирался читать "SQL и реляционная теория" того же Дейта, но в предисловии написано что она рассчитана на ОПЫТНЫХ ПОЛЬЗОВАТЕЛЕЙ СУБД.
Ещё пытаюсь осилить пиздоновскую ORM - SQLAlchemy, чтобы на самом Сикеле не писать. Но чтобы осилить её нужно Сикель базово знать.
Аноним 09/01/18 Втр 02:14:38  1117630
>>1117459
Алан Бьюли, «Изучаем SQL».
Аноним 09/01/18 Втр 21:34:23  1117937
Анон, помоги советом. Только вкатываюсь в SQL и тут такой трабл возник:
нужно сделать бд с данными по макроэкономике и всякими данными по наебизнес показателям и прикрутить к этому лёгкий интерфейс, чтобы вбил в поиск показатель и/или год итд, и инфа выгружалась в эксель для дальнейшей работы.
От чего отталкиваться в плане выгрузки в эксель инфы и написания интерфейса? (На сервере стоит postgres)
Аноним 09/01/18 Втр 22:39:25  1117954
>>1117937
Выбираешь юр фейворит ленгвич нейм. Пилишь на нем круд. Для выгрузки в эксель гуглишь юр фейворит ленгвич нейм эксель.
Делаешь.
Аноним 11/01/18 Чтв 00:33:54  1118493
-CsOhfr3eHg.jpg (111Кб, 600x532)
Пацаны, я тупой. Есть две таблицы, нужно искать в них по определенному столбцу %запрос%. Столбец называется по-разному, таблицы между собой никак не связаны. Нужно просто поискать в них всех.

Делаю так: переименовываю столбцы на лету, чтоб было одинаково (description).
SELECT count(*) FROM (SELECT block_content as description FROM text_blocks) as table1, (SELECT news_text as description FROM news) as table2;

SQL мне джойнит этим запросом небо и даже аллаха, и я получаю полмиллиона строк. Как их заджойнить последовательно, чтобы просто был столбец description, в котором сначала было бы содержимое text_blocks.block_content, а затем news.news_text?
Аноним 11/01/18 Чтв 00:54:01  1118507
>>1118493
union
Аноним 11/01/18 Чтв 01:26:21  1118521
>>1118507
Спасибо
Аноним 11/01/18 Чтв 03:20:53  1118538
Есть у меня задумка финансового приложения. Помогите развеять некоторую неопределённость. По задумке, надо будет хранить поступающие тикеры раз в минуту с пары бирж. Ещё ордера схоронять. Плюс логин-пароль от бирж. Ну и логирование. Вроде всё.
Насколько я понимаю, со всем этим запросто справится SQLite. Но кванты со stackexchange запугали тем, что тикеры (как временные ряды) лучше хранить в MongoDB. Но ведь это для миллиардов тикеров.
Тобишь, покуда у меня не тонны данных, мне стоит просто использовать ту же SQLite и не привлекать внимания санитаров?
Аноним 11/01/18 Чтв 07:05:07  1118570
>>1118538
Единственный вывод, который может быть сделан из случайных данных — это что данные были случайны.
Нет никакой разницы, где их хранить.
Аноним 12/01/18 Птн 19:17:05  1119144
>>1118538
>лучше хранить в монго дб
>лучше sqlite

Ты хоть поясни, что ты с этими данными собираешься делать потом. Если строить аналитику, то монга - не лучшее решение, если просто доставать по ключу и показывать, тогда монга, наверное, лучше. Ты же не собираешься хранить ПРОСТО ТАК?
Аноним 12/01/18 Птн 20:36:58  1119164
https://www.youtube.com/watch?v=lvTp2RqSm58
Аноним 15/01/18 Пнд 11:01:05  1120205
>>1111198

Why?
Аноним 17/01/18 Срд 04:44:20  1121068

Подскажите норм тему для доклада по базам данных, плез
Аноним 17/01/18 Срд 07:31:53  1121080
>>1121068
Плюсы и минусы объектно- ориентированных БД
Аноним 17/01/18 Срд 07:42:24  1121084
>>1121068
Расскажи про NoSql-модели
Или про бигдату.
Аноним 18/01/18 Чтв 22:09:04  1122048
Аноны, выручайте. В чем отличия DECIMAL и DOUBLE? И что где лучше использовать. Поясните пожалуйста. Желательно с примерами.
С меня как обычно большое спасибо
Аноним 19/01/18 Птн 10:12:43  1122291
>>1122048
>DECIMAL и DOUBLE?
Дабл это расширеный FLOAT, то есть число с плавающей точкой. Если ты будешь сравнивать флоаты, есть неиллюзорный шанс соснуть, потому что вроде бы одинаковые числа не будут одинаковые по мнению БД.
Децимал потребляет больше памяти, но хранит точное значение числа, и с ним проблем при сравнении не будет.
Используй децимал.
Аноним 19/01/18 Птн 16:26:31  1122458
>>1122048
float - тип данных для работы с приближенными числами при использовании с числовыми данными с плавающей точкой.
Пример
Мы помним случай, когда клиент использовал тип данных FLOAT для представления номе-
ров штрихкода продуктов и был очень удивлен, когда при сканировании он получал не тот
продукт. Также недавно мы получили запрос о конвертации величины с типом FLOAT в тип
NUMERIC, дающий на выходе не ту величину, которая была введена. Вот этот запрос.
DECLARE @f AS FLOAT = '29545428.022495';
SELECT CAST(@f AS NUMERIC(28, 14)) AS value;
Можете догадаться, что получилось на выходе этого кода? Посмотрите.
Value
---------------------------------------
29545428.02249500200000
Аноним 19/01/18 Птн 16:28:02  1122459
>>1122458
Замени float на double, смысл останется тем же.
Аноним 20/01/18 Суб 21:37:13  1123057
в постгре не работает upper lower на русском тексте
select lower('ЫВАПЫВ SDFSDF')
выдаёт
"ЫВАПЫВ sdfsdf"

куда копать?
Аноним 20/01/18 Суб 21:54:33  1123067
>>1123057

Нужен кластер в UTF-8.
Аноним 20/01/18 Суб 21:55:31  1123070
>>1123067
текущая база:
CREATE DATABASE jnom
WITH OWNER = jnom
ENCODING = 'UTF8'
TABLESPACE = pg_default
LC_COLLATE = 'C'
LC_CTYPE = 'C'
CONNECTION LIMIT = -1;
Аноним 20/01/18 Суб 21:57:18  1123072
>>1123070
да, и постгре стоит на винде с локалью win1251
Аноним 20/01/18 Суб 22:53:15  1123097
>>1123072
кароч сделал резервную копию и переустановил постгре с collation 'Russian_Russia.1251'
Аноним 21/01/18 Вск 15:21:33  1123291
>>1123097
Есть ещё хорошее расширение CITEXT. Можешь поставить его и забыть про все эти lowercase, uppercase
Аноним 21/01/18 Вск 18:58:07  1123599
>>1123291
> Essentially, it internally calls lower when comparing values
была бы такая-же проблема
Аноним 21/01/18 Вск 19:00:31  1123602
Но хотя штука интересная, да. В мануале пишут, что оно делает регистронезависимый индекс
Аноним 24/01/18 Срд 12:38:20  1125429
Помогите пожалуйста спроектировать оптимальную архитектуру в mysql для хранения примерно таких поступающих данных:
[
mark: 4.77,
timestamp: 1516785655,
{
question_text: 'some text',
answers_text: ['some', 'array', 'with', 'text', 'values'],
selected_answers: [0, 2],
},
{
question_text: 'some other text',
answers_text: ['some', 'other', 'array', 'with', 'text', 'values'],
selected_answers: [1, 2],
}
]
Сам бы сделал что-то вроде такого:
sessions(id: unsigned_bigint, mark: decimal[1,2], timestamp: timestamp),
questions(id: unsigned_bigint, session_id: unsigned_bigint, text: text),
answers(id: unsigned_bigint, question_id: unsigned_bigint, text: text),
selected_answers(id: unsigned_bigint, question_id: unsigned_bigint, value: unsigned_smallint).
Насколько пригодна в реальном мире предложенная мной структура?
Аноним 24/01/18 Срд 12:45:56  1125430
>>1125429
с джисоном чуть проебался, но не суть
{mark:1.33, timestamp: 1511111111, [{},{}]}
Аноним 24/01/18 Срд 16:12:30  1125510
>>1125429
Почему у тебя вопросы завязаны на сессии? Вопросы же это справочник, по идее. Селектед насверлил должны быть со ссылкой на сессию.
Не Бд подгоняй под входящие значения, а наоборот.
Аноним 24/01/18 Срд 20:10:39  1125629
не закидывайте говном, знаю вопрос максимально аутистичный, но просто я очкую, вроде это и понимаю и знаю но все же, идти на собес нужно и что я долджен знать когда написано у работодателя что вот это нужно на их курсы мб кто четко пояснит:
Базовые знания теории реляционных СУБД
Базовые знания языка запросов SQL
Знание основ сетей и технологий виртуализации
и где лучше брать материалы и почему готовиться, нужно к понедельнику вот.
Аноним 24/01/18 Срд 20:52:49  1125665
Поясните за горизонтальное шардирование, Лучше на уровне программы шардировать или через триггеры и настройки баз?
Аноним 24/01/18 Срд 21:18:53  1125675
>>1125629
sql-ex.ru
Аноним 24/01/18 Срд 21:20:19  1125676
>>1125665
Если данные позволяют шардировать на уровне БД, то лучше так и сделать. Не придется внутреннюю логику хранения тащить в приложение.
Аноним 25/01/18 Чтв 09:36:16  1125902
image.png (15Кб, 200x417)
image.png (11Кб, 334x341)
Привет, программач.
Прошу помощи с одной ебалой.
Есть таблица [activites] с активностью по клиентам.
[date_] - дата, id - id клиента, cnt - количество действий совершенных клиентов.

Задача в том, чтобы запилить отдельный столбец который будет начинаться с каждого клиента заново, то есть partition by id и количество подряд идущих 0 в таблице между активностями. То есть если была активность (любое ненулевое в cnt) счетчик должен сбрасываться на 0.

То есть считаем нули между ненулями по cnt.

Как пример должно выглядеть как на втором пикрелейтеде.

Программач, выручай.
Аноним 25/01/18 Чтв 12:02:06  1125961
>>1125902
Тебе что конкретно надо. Сделать отчет в таком виде (столбец будет в отчете, а не в БД) или добавить столбец на рабочую БД (которая пополняется и там должен быть тот столбец с правильными значениями)? Отчет и программными средствами можно запилить. Текущую БД можно апдейтнуть скриптом. Если нужно чтоб при инсерте новой записи правильно заполнялся тот столбец - добавляешь триггер.
Аноним 25/01/18 Чтв 12:03:42  1125962
>>1125961
Сделать это в отчете, да. Прав на редактирование БД у меня нет. Поэтому надо выкручиваться агрегатными функциям и LAG-LEAD'ами.
Аноним 25/01/18 Чтв 12:11:55  1125967
>>1125962
Там у тебя чистый SQL или скриптец какой накидать можно? Скриптом без проблем делается, вроде как. Я просто бэкэнд-макака и в SQL настолько не силен.
Аноним 25/01/18 Чтв 12:17:44  1125968
>>1125967
T-SQL там, но надо выполнить в форме привычного запроса select/from/where
Аноним 25/01/18 Чтв 20:49:35  1126287
>>1125902
https://pastebin.com/p6G1bfwr
Аноним 26/01/18 Птн 08:20:06  1126586
Че, котаны, задачка.
Есть два стула две даты.
Например, 01.01.2138 и 01.01.2139.
Или 01.01.2138 и 01.02.2138.
Есть частота дискретизации - неделька, месяц.
Как получить колонку с первыми числами каждого месяца или колонку с понедельниками каждой недели?
оракл
Аноним 26/01/18 Птн 09:07:42  1126598
>>1126287
Огромное спасибо тебе, анон. Приду - запущу.
Аноним 26/01/18 Птн 09:23:00  1126601
>>1126586
Обычно это решается предварительной генерацией таблицы с датами.
Аноним 26/01/18 Птн 09:42:32  1126607
>>1126586
>колонку с первыми числами каждого месяца
это будет первое число, или что ты хотел? День недели?
Аноним 26/01/18 Птн 13:10:11  1126649
Приветствую, аноны. У меня такой вопрос: нужно одним запросом выбрать все строки из таблицы И максимальное значение. Такое возможно сделать?
Аноним 26/01/18 Птн 13:32:36  1126659
>>1126649
Максимальное значение чего?
select * from [table] - это все записи
max([colName]) - это агрегатор для максимального значения
Аноним 26/01/18 Птн 15:01:09  1126709
>>1126586
select add_months(to_date('2138-01-01', 'YYYY-MM-DD'), rownum-1)
from dual
connect by level <= months_between(to_date('2139-01-01', 'YYYY-MM-DD'), to_date('2138-01-01', 'YYYY-MM-DD')) + 1
order by 1;


С неделями пока лень возиться.
Аноним 26/01/18 Птн 17:35:55  1126788
>>1125629
А не в епам ли ты собрался, а пидр?
Аноним 26/01/18 Птн 19:39:13  1126864
image.png (10Кб, 225x225)
Так, господа сертифицированные специалисты, мне нужно выбрать базу данных для хранения результатов прогонов хитрого алгоритма.

Суть токова:
Есть много данных, данные побиты на кусочки. Количество кусочков - десятки/сотни тысяч. Кусочки могут иметь версии (~единицы - десятки версий).
Есть алгоритм. Алгоритм тоже может иметь версии (~десятки версий).
Алгоритм жрет кусочки данных и высирает результат - объект состоящий из нескольких массивов байт и списка интов, общим размером до 300-500 кб (часто намного меньше).

Хочется выбрать БД в которой я буду хранить эти результаты обработки и делать запросы вида:
"достать все результаты для такой-то версии алгоритма и такой-то версии данных для заданного множества кусочков данных"

Хочется чтобы выбранная БД
- легко поднималась на амазоновском облаке прям по хардкору на спот инстансах с автоподнятием убитых нод даже аутистом далеким от БД
- отдавала результаты пиздец быстро и с минимальной задержкой
- имелись SDK под кресты и пистон
- [опционально] была стильной модной молодежной

Пока смотрел только MongoDB, но я в бд нихуя не разбираюсь а потому это как пальцем в небо. Посоветуйте годноты, аноны.
Домен - ML и анализ данных.
Аноним 26/01/18 Птн 20:26:54  1126902
>>1126864
Если кусочки между собой никак не связаны или это не имеет значения, то монга подходит.
Гугли Документоориентированная СУБД, Document-oriented database.
Аноним 27/01/18 Суб 11:55:28  1127221
чем отличается rank() от row_number() в аналитических функциях в оракле?
Аноним 27/01/18 Суб 13:32:40  1127273
>>1127221
>ROW_NUMBER and RANK are similar. ROW_NUMBER numbers all rows sequentially (for example 1, 2, 3, 4, 5). RANK provides the same numeric value for ties (for example 1, 2, 2, 4, 5).
Аноним 27/01/18 Суб 14:00:46  1127293
>>1127221
>>1127221
Если в пределах одной секции у двух записей совпадает ключ сортировки, они получают один ранг. При этом следующий ранг после них может назначаться по номеру записи в секции (ф-ция rank()) — из-за чего в последовательности рангов могут возникать пропуски— или как инкремент последнего ранга (dense_rank()) — такое «плотное» ранжирование наращивает номера рангов последовательно.

Примеры у анона выше. Для dense_rank() соответственно будет (1, 2, 2, 3, 4)

В отличие от обеих rank-функций, row_number() гарантирует уникальность значений в пределах секции и просто нумерует строки согласно условию сортировки. При этом, если ключ сортировки у записей совпадает, ты получаешь вообще говоря недетерминированную нумерацию.
Аноним 28/01/18 Вск 19:34:32  1128184
Снимок.PNG (40Кб, 1305x821)
Это структура таблицы словаря данных оракла
USER_CONSTRAINTS
или ALL_constraints,
структура у них одинаковая, только данные могут быть разными

чем отличаются выделенные столбцы между собой?
Аноним 28/01/18 Вск 20:13:30  1128237
>>1128184
Названием?
Аноним 28/01/18 Вск 20:57:19  1128277
>>1128237
нет
Аноним 29/01/18 Пнд 00:26:20  1128380
>>1128184
Там же написано всё. R_ для ссылочной целостности, внешние ключи — вот это всё.
Аноним 29/01/18 Пнд 16:51:41  1128694
>>1126649
>select *, case when row_number() over (order by id) then max(value) over () else null end as max_value from t_table
такие дела, в первую строчку вставим это максимальное значение, а все остальные оставим пустыми, чтобы меньше данных передавать в dataset.
Аноним 31/01/18 Срд 07:05:53  1129456
dhYDrohnYW0.jpg (79Кб, 604x604)
Ребят не нашёл инфы как сделать запрос отвечающий данным условиям: " В таблице А столбец В имеет тип «Date» Как вывести все значения столбца В в формате ГГГГДДММ ". Подскажите пожалуйста запросом! Не знаю как вывести именно в таком формате.
Аноним 31/01/18 Срд 07:59:49  1129467
>>1129456
ms sql

declare @d date = getdate();
select format(@d, 'yyyyddMM') as FormattedDate

Ты студент что ли?
Аноним 31/01/18 Срд 16:30:47  1129604
Oracle
Какова максимальная длина выражения в execute immediate?
Хочу туда захуячить 'create or replace package body', но в варчаре это не вариант, пушто слишком дохуя
Можно clob туда делать? Такую пиздатую шнягу придумал эх.
Аноним 31/01/18 Срд 18:32:53  1129666
Снимок.PNG (13Кб, 637x155)
молю
Аноним 31/01/18 Срд 20:29:53  1129748
>>1129666
Смотри, вариантов решить проблему несколько.
И все они мне не нравятся.
Эту задачу точно нужно решать средствами БД?
По-хорошему, я бы считал нужное тебе значение при попадании записи в БД, а не городил бы ебенячий запрос.
Аноним 31/01/18 Срд 20:35:16  1129753
>>1129748
мненужно именно средствами БД, а именно оракла,
это на регулярки задачка
мне её прям сейчас очень нужно решить, поможешь?
Аноним 31/01/18 Срд 20:54:36  1129761
>>1129748
так поможешь, анон?
Аноним 31/01/18 Срд 21:09:45  1129782
>>1129761
Ну я смотрю регулярки, только не оракловые.
Пока решения не нашел.
Аноним 31/01/18 Срд 21:34:38  1129808
>>1129666
https://regex101.com/r/vrMpLC/1
Аноним 31/01/18 Срд 22:10:49  1129835
>>1129808
спасибо
Аноним 01/02/18 Чтв 01:42:21  1129910
concat( lpad(dayofmonth(birthday), 2, '00') , lpad(month(birthday), 2, '00') ) = concat( lpad(dayofmonth(date(#{dateStart})),2,'00') , lpad(month(date(#{dateStart})),2, '00') ) )
Аноним 01/02/18 Чтв 09:45:05  1130011
XWqbCIZqQ.jpg (80Кб, 535x604)
Парни, сердечно прошу, намутите нормальную шапку для треда.

Для начала сойдет и просто описание краткое самых популярных бд, чтобы анон понимал, для чего конкретная бд используется чаще всего.
А то смотришь иногда вакансии, там тебе и монга, и постгрес, и редис, и рэббитмкью. Ладно первые две, но вот последние хуй знает для чего используются конкретно, с чем варятся, и как едятся. Плюсы, минусы какие-нибудь. Может поискать сравнительные статейки.
Аноним 01/02/18 Чтв 09:46:26  1130013
HAJ83IWxLrk.jpg (221Кб, 683x1024)
>>1130011
ПС: я бы тоже, может, поучаствовал, полезно в качестве самообразования
Аноним 01/02/18 Чтв 11:11:03  1130044
>>1109064
Я обычно использую для оптимизации своих отчетов. В отчете пару временных таблиц которые используются потом для подсчета. Так вот создаю кластеризованные индексы для того поля по которому потом обращаюсь.
Аноним 01/02/18 Чтв 11:16:51  1130045
image.png (53Кб, 671x532)
PL/SQL vs T-SQL

Привет, анонасы. Больше года проработал разрабочиком отчетов под ms sql server. Есть хорошая аналогичная должность в одном банке, но там oracle. Вопрос: какие есть отличия в синтаксисе? Что можно использовать в oracle чего нельзя ms server и наоборот?

Уже понял что сама парадигма основного синтаксиса sql похожа, но различаются именно в диалекте t-sql / pl.
Аноним 01/02/18 Чтв 15:24:21  1130128
>>1130045
могу сказать главное T-SQL сосёт ХУИ.
Серьёзно. Диалект отличается, да, и стоит изучения, а так норм идея.
Аноним 01/02/18 Чтв 16:14:14  1130143
>>1130045
Погуглить-то что мешает?
https://stackoverflow.com/questions/7283828/what-are-the-major-differences-between-the-mysql-and-oracle-sql-dialects
Ебашь в банк, если место норм, а то так и будешь всю жизнь ключи подавать.
Аноним 01/02/18 Чтв 16:22:14  1130146
>>1130045
https://docs.oracle.com/cd/E10405_01/appdev.120/e10379/ss_oracle_compared.htm
Аноним 01/02/18 Чтв 20:08:12  1130284
>>1130128
Может в сравнении с оркалом и не очень. Но у меня с базами мелкомягких проблем не было. Правда мне приходилось сидеть на 2005. Всё равно намного лучше, чем какой-нибудь мускуль пятый.
Аноним 01/02/18 Чтв 20:08:50  1130287
>>1130284
это другой анон
Аноним 02/02/18 Птн 11:52:23  1130630
>>1130284
MySQL сервер такое себе. Если хочешь что-то на уровне ms или oracle то гляди в сторону постгре. Она топ.
Аноним 02/02/18 Птн 12:08:14  1130636
Аноны, мне тут 1 человек скинул прошивку для навигатора, я чет очкую ставить ее. Онлайн антивирусы говорят - что вируса нет. Но боюсь получить кирпич из навигатора.

Кто может пояснить за код прошивки? Тут всего 3 файла с охуллиардом строк. Код имеет вид:
08f0 9fe5 0a4e 6321 bca3 e220 a616 2a21 и таких строк просто до сраки.
Аноним 03/02/18 Суб 12:15:42  1131200
i5ab080921ac655[...].jpg (167Кб, 724x1024)
Untitled Diagram.jpg (67Кб, 991x346)
Анон, короч есть задание - сделать ер диаграмму базы данных для отчета по 2ндфл за 2016 год, я нахуевертил вот это, пока без связей, но чую что хуйня полная, направьте в нужное русло
Аноним 03/02/18 Суб 14:08:57  1131242
Аноны, привет
Решил сменить вектор деятельности. Почитав форумы и поспрашивав понял, что многие советуют пидорить в бд, изучать pl и прочее. Насколько это грамотное решение?
Аноним 03/02/18 Суб 14:50:03  1131260
>>1131242
SQL в любом случае спрашивают на собеседованиях.
Глубоко можешь не копать, поехавшие БД-админы иногда рисуют на бумажке таблицу из двух колонок, и требуют её джойнить/группировать с ней же самой, но в этот момент надо вежливо уйти с собеседования.
А вот запрос о количестве чего-либо в заданное время «от/до» с пустыми клетками — можешь мне не верить, но спрашивали даже там, где SQL вовсе не было.
Аноним 03/02/18 Суб 18:17:46  1131518
Screenshot29.jpg (54Кб, 772x401)
Ребята, мне выпилиться или такие запросы - это норма?
Аноним 03/02/18 Суб 18:38:33  1131537
Hozyaykamednoyg[...].jpg (75Кб, 395x600)
>>1131518
Не вижу ничего плохого.

Prepared Statements были бы лучше, но у аффтара они не...

— Тяжело тебе, Данила-мастер?
— Ох, тяжелооооо
— Не выходит у тебя, Данила-мастер, каменный цветок?
— Не выхоо ооо оо ооооооо
Аноним 03/02/18 Суб 20:22:56  1131601
>>1131518
ХЗ, детский сад какой-то. Что-то похожее писал будучи перваком. И вообще, клеить так запросы это bad practice, лучше уж какой-нибудь arg-list.
Аноним 03/02/18 Суб 20:53:41  1131622
>>1131601
>>1131537
Ну тут названия таблиц динамически подставляются, через подготовку не получится сделать.
Через какой костыль такой функционал можно сделать лучше?
Аноним 03/02/18 Суб 21:08:18  1131632
>>1131601
Спасибо, а как надо писать?
Аноним 03/02/18 Суб 21:10:01  1131636
>>1086747 (OP)
Анон, у кого-нибудь был опыт работы с распределенными файловыми системами (hdfs, ceph), как с бэкэндом для баз данных, поддерживающие тип LSM-tree(leveldb, rocksdb)?

Очень интересно узнать про какое-нибудь решениие, которое позволяет читать\писать в такие базы, но чтобы все в пиздец не скатилось.
Аноним 03/02/18 Суб 23:42:10  1131759
Посоветуйте онлайн-обучалку по SQL. Бесплатную и интерактивную (а-ля htmlacademy, но можно на английском), желательно с рассасыванием различий в диалектах MySQL/PostgreSQL.
Аноним 04/02/18 Вск 00:30:05  1131791
>>1125902
Ради опыта решил проверить решение >>1126287-анона - не работает. Если кому пригодится, у меня решить получилось так - https://pastebin.com/SNyNxBAW.
Правда думаю, что можно и оптимальнее сделать.
Аноним 04/02/18 Вск 00:50:36  1131803
>>1131759
sql-ex.ru
Аноним 04/02/18 Вск 00:57:41  1131807
>>1131791
А что не так с тем решением?
Аноним 04/02/18 Вск 07:51:39  1131885
>>1129604
ХУЯЧЬ
@
ПРОВЕРЯЙ
Аноним 04/02/18 Вск 08:16:25  1131891
>>1095054
Кто-нибудь уже запиливал трушные БД с точки зрения этой книги? Или везде SQL?
Аноним 04/02/18 Вск 10:37:54  1131920
>>1131807
Оно не работает, очевидно.
Аноним 04/02/18 Вск 11:24:15  1131933
>>1131920
Мне интересно, как именно оно не работает. Синтаксическая ошибка, данные не те выводит (тут было бы неплохо фоточку).
Аноним 04/02/18 Вск 14:12:02  1132034
Clipboard01.jpg (90Кб, 1269x854)
>>1131933
И синтаксическая и логическая, т.к. скрипт не учитывает конкретного юзера.
Аноним 04/02/18 Вск 15:58:35  1132089
image.png (32Кб, 481x466)
>>1132034
>>1125902
https://pastebin.com/2bziW0p0

В этот раз я проверил)
Аноним 04/02/18 Вск 16:26:51  1132112
>>1132089
Теперь правильно, только работает, если -1 заменить на '1900-01-01'.
Аноним 04/02/18 Вск 16:40:02  1132127
>>1132089
>>1132112
Забыл сказать спасибо. Когда сам пытался делать, аналогично в APPLY хотел ограничение на tt.date_ сделать через ISNULL с максимальной датой, но неправильно сравнивал даты внутри селекта, т.е. у тебя ttt.date_ < t.date_, а я делал ttt.date_< tt.date_ и у меня счетчик не обнулялся.
Аноним 05/02/18 Пнд 19:47:41  1133074
Сценарий.
Вставляются записи в таблицу А. На одном из столбцов ограничение по внешнему ключу, который ссылается на таблицу Б. Если такой записи в таблице Б ещё нету, то запись нужно создать, данных на входе достаточно.

Собственно как в приличном обществе поступают?
1. Перед записью в таблицу А всегда делать запись в таблицу Б если её ещё нет.
2. Как-то ловить неудавшуюся из-за ограничителя запись в таблицу А, и дальше уже что-то там делать.
3. Какой-нибудь особый паттерн специально для таких случаев.
4. Не выёбываться, потому что внешний ключ для того и сделали чтобы ограничивать всякое левое говно.

pg если это имеет значение
Аноним 05/02/18 Пнд 20:50:29  1133117
>>1133074
первое
Аноним 05/02/18 Пнд 21:14:07  1133134
>>1133074
В мускуле можно не ссылаться на строку, то есть вместо id записать NULL.
Попробуй, может тебе тоже так можно.
Аноним 06/02/18 Втр 11:10:13  1133361
Всё, конец
Я не могу селект написать...
Мне кажется, что я деградировал от алкоголя и теперь меня уволят

Есть таблица номер договора, дата, сумма просрочки (0 - просрочки нет). Упрощённо
По каждому договору на каждую дату есть запись
Мне нужно выделить из таблицы все непрерывные периоды просрочки, то есть получить историю:
Договор, дата начала просрочки, дата окончания просрочки

Спасибо!
Аноним 06/02/18 Втр 11:15:56  1133362
>>1133361
> Всё, конец
>Я не могу селект написать...
>Мне кажется, что я деградировал от алкоголя и теперь меня уволят
>
>Есть таблица номер договора, дата, сумма просрочки (0 - просрочки нет). Упрощённо
>По каждому договору на каждую дату есть запись
>Мне нужно выделить из таблицы все непрерывные периоды просрочки, то есть получить историю:
>Договор, дата начала просрочки, дата окончания просрочки
>
>Спасибо!

max(), min() over (partition by docid), не?
Аноним 06/02/18 Втр 11:17:20  1133363
>>1133362
Может быть больше одного периода по договору
То есть сначала есть сумма долга, потом нет, потом опять есть и ТД
Не знаю, как это обрабатывать
Аноним 06/02/18 Втр 13:28:12  1133418
111.png (10Кб, 966x294)
>>1133361
Все гениальное просто, вот как надо.
Не буду присваивать чужие заслуги, мне подсказали.
Аноним 10/02/18 Суб 13:46:03  1135855
>>1086747 (OP)
Где можно почитать про оптимизацию SQL?
Аноним 10/02/18 Суб 13:46:33  1135856
>>1135855
MS SQL*
Аноним 10/02/18 Суб 20:50:04  1136147
http://postgresql.leopard.in.ua/
http://repo.postgrespro.ru/doc/pgsql/10.1/ru/postgres-A4-fop.pdf
Для вкатывальщиков.
Аноним 12/02/18 Пнд 20:01:20  1137753
>>1118538
Очевидно же, что ты по тикерам потом захочешь строить себе графики. Однозначно надо SQL.
Аноним 13/02/18 Втр 15:52:13  1138220
Бамп
Дайте задачек порешаю, мне делать нехуй
Аноним 13/02/18 Втр 17:22:03  1138295
>>1138220
На какой диалект?
Аноним 13/02/18 Втр 18:09:23  1138321

>>1138295
Оракл
Аноним 13/02/18 Втр 18:12:19  1138323
>>1138321
Напиши свертывание диапазонов.
Дано:
1
2
3
4
5
7
9
10
11
12
13
22

Надо получить:
1-5
7
9-13
22
Аноним 13/02/18 Втр 18:18:37  1138325
>>1133418
>>1138323
Отвечу тебе вторым моим постом, эту задачу я уже решал по своим нуждам
Надеюсь не нужно совсем адаптировать, почти слово в слово всё то же самое
Это классическая задача "start of group"
Этапы такие:
1. Проставляешь 1 там, где у тебя разрыв в данных
2. Делаешь упорядоченное суммирование этого показателя по росту значения. Получится, что у первого диапазона 1, у второго 2 и тд
3. Потом делаешь обычную группировку по показателю из п2, находя минимальное и максимальное значение
Аноним 13/02/18 Втр 18:23:32  1138330
>>1138321
Дано
Таблица A - начало и окончание линии(line_id; line_begin;line_end)
Таблица B - разрывы в линии (break_id; line_id, begin, end)

Все разрывы лежат внутри линии (т.е. линия не начинается и не заканчивается разрывом) и не пересекаются между собой. Разрывов может и не быть.

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

Аноним 13/02/18 Втр 18:24:37  1138331
>>1138325
А без lag() сможешь?
Аноним 13/02/18 Втр 18:43:24  1138340
>>1138331
Смогу, но ведь это некрасиво.
lag можно заметить на селект в селекте (select max(value) from table t where t.value < table.value)

>>1138330
Прикольно, я подумаю.
Аноним 13/02/18 Втр 18:49:22  1138342
>>1138340
>lag можно заметить на селект в селекте (select max(value) from table t where t.value < table.value)

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

>Прикольно, я подумаю.

Завтра напишу вторую часть задачи.
Аноним 13/02/18 Втр 19:54:26  1138373
>>1138342
Как с оконными функциями, если сразу границы окна не знаешь? Напиши
Аноним 14/02/18 Срд 04:17:56  1138545
>>1138373
>Как с оконными функциями

Опечатался, с аналитическими. С lag и с lead.

Аноним 15/02/18 Чтв 00:11:40  1139040
Существует ли бд которая может быстро сортировать большой датасет ~1гб ?
монго крашит с лимитом 32 мб
Аноним 15/02/18 Чтв 02:36:40  1139085
>>1139040
Существует.
Вопрос вообще некорректный.

Быстро - это сколько? На каком железе?
Какова природа и структуры данных?
Аноним 15/02/18 Чтв 16:17:27  1139372
>>1139040
А что значит сортировать?
Тебе ведь сортировка для чего-то нужна. Для чего тебе сортировать 1 Гб, да еще и быстро?
Аноним 15/02/18 Чтв 17:01:23  1139407
>>1138340
>Прикольно, я подумаю.

Как успехи? Получилось решить?
Аноним 16/02/18 Птн 15:54:07  1140275
>>1139372
любая реляционная субд с поддержкой индексов.
Аноним 16/02/18 Птн 17:05:12  1140330
>>1139407
Времени не было особо, сегодня вечером потуплю под винишко

Кстати, мой мертворождённый чатик в телеграме, заходите @database2ch
Аноним 20/02/18 Втр 20:51:19  1143040
image.png (257Кб, 1838x915)
Как привязать таблицу график загрузки тренера к другим? И в группе тренер и в индивидуальном, а как это вместе чекнуть?
Аноним 20/02/18 Втр 21:44:38  1143076
>>1143040
Вопрос нормально сформулируй для всех.
Аноним 20/02/18 Втр 22:03:58  1143087
Как выполнять insert, если в таблице только один столбец ID, который PK AUTOINCREMENT?
Аноним 20/02/18 Втр 23:32:43  1143143
>>1143087
Давай внимательно разберем по частям тобою написанное.
Зачем тебе таблица, которая не хранит никакой информации? Если ты планируешь инсертить те же значения в какую-то другую таблицу, то сделай их первичным ключом в той таблице. А если ты планируешь инсертить значения типа "Я покакал" и важно тебе будет только количество записей в этой таблице, то и первичный ключ на ней не нужен.
Аноним 20/02/18 Втр 23:43:48  1143155
>>1143143
Кстати, мой божественный 12 оракл умеет делать так.
Но в более ранних версиях так не получится, там как минимум нельзя делать значение сиквенса значением по умолчанию.
Разве что инсертить что-нибудь и обрабатывать через триггер before_insert, чтобы вставлялось значение сиквенса.
Но просто ответь НАХУЯ, заинтриговал.
Аноним 20/02/18 Втр 23:58:54  1143166
>>1143155
Я делаю чатик. На сервере ведется количество всех бесед, чтобы каждая беседа была уникальна. Собственно, все, что мне нужно - только ее идентификатор. Каких-то названий, описаний, и т.д. у нее нет. Также на сервере есть таблица, в которой указано какой юзер в какой беседе участвует. Когда я отправляю сообщение, в нем указан ID беседы, сервер смотрит всех ее участников и каждому отправляет это сообщение. Именно поэтому и обязательно, чтобы ID был уникальным. Я хуй знает, как это сделать по-другому. Может, есть идеи упростить эту хуету?
Аноним 21/02/18 Срд 16:04:42  1143460
Анончики, а есть хорошие книжки по Cache русскоязычные?
Аноним 21/02/18 Срд 16:11:53  1143466
>>1143166
В таблицу беседа можно добавить:
Тип беседы (открытая/по приглашениям/видимость для поиска и т.п.)
Дату создания
Дату удаления
Дату последнего сообщения
И еще кучу всего можно напридумывать
Так что смело делать т0бличку

Аноним 21/02/18 Срд 16:14:39  1143471
>>1143155
Что-то типа синтаксического сахара получается.
Какой профит от подобной фичи?
Аноним 21/02/18 Срд 16:37:21  1143490
>>1143466
Но ему же НИНУЖНО

>>1143471
Что ты имеешь в виду? Чем тебе не понравился мой божественный код? Почему ты задаешь вопросы мне, а не автору поста? Ему нужно было инсертить в таблицу с единственным столбцом, который автоинкрементарный ключ, я это реализовал и показал, что ещё?
Аноним 21/02/18 Срд 16:39:52  1143495
>>1143490
>Чем тебе не понравился мой божественный код?
Да все ок, просто спросил, может, какие-то не очевидные с первого взгляда бонусы есть.
Сам на 11 сижу.
Аноним 21/02/18 Срд 16:44:29  1143502
>>1143495
Так я и говорю, что на 11 нельзя сделать сиквенс значением по умолчанию. Поэтому приходится плодить тривиальные триггеры бефор инсерт, которые будут проставлять значение сиквенса в столбец
В 12 мега удобнее, потому что дефолтное значение ты сразу видишь, глядя на таблицы, а про триггеры ты и забыть можешь
Аноним 21/02/18 Срд 16:48:34  1143506
>>1143502
Зачем триггеры?

insert into talk (talk_id) values (sq_talk.nextval);
Аноним 21/02/18 Срд 16:52:42  1143510
>>1143506
Но ведь дефолтное значение надёжнее
Аноним 21/02/18 Срд 17:01:18  1143514
>>1143510
Насколько я понимаю, никто не мешает вставить недефолтное.
Да и мест, где инсертится обычно не сильно много.

Но в плане того, что залез в табличку и увидел сиквенс для нее - удобно, да. Особенно в том случае когда не соблюдаются правила "одна таблица - один сиквенс" и "сиквенс называется префикс_таблица ".


Аноним 21/02/18 Срд 17:32:59  1143564
>>1143076
Выходной документ: график загрузки тренера в тренажерном зале.
Аноним 21/02/18 Срд 17:53:42  1143593
>>1143564
Ты действительно считаешь, что общество будет тратить на ответ тебе больше слов, чем ты потратил на вопрос?
Иди на хуй. Спросить нормально не можешь.
Аноним 21/02/18 Срд 18:14:54  1143614
>>1143593
Ты действительно не можешь понять? Мне в БД нужна таблица, по запросу которой, нужно выводить график загрузки определенного тренера. Как тут еще КОНТРЕТНЕЙ-то объяснить?
Аноним 21/02/18 Срд 18:17:42  1143619
>>1143614
Я не обязан ничего понимать и помогать тебе. Ты просто ведёшь себя неуважительно
Аноним 21/02/18 Срд 20:24:10  1143735
>>1143614
Глянул твою схему. Не понял, зачем отдельная таблица для загрузки тренера, если эту информацию можно брать из индивидуального расписания учеников. Как по мне, дублирование информации получается.
Аноним 21/02/18 Срд 23:49:04  1143944
>>1143040
В чём пилятся такие связи?
Аноним 22/02/18 Чтв 18:14:21  1144369
>>1143944
http://dbdesigner.net

>>1143735
> Не понял, зачем отдельная таблица для загрузки тренера, если эту информацию можно брать из индивидуального расписания учеников
Да, я как раз решаю эту проблему. Спасибо.
Аноним 22/02/18 Чтв 22:30:15  1144507
Как выучить SQL за месяц
Аноним 23/02/18 Птн 01:41:29  1144601
>>1144507
Дрочи теорию, потом ищи задачи и ебошь. Можешь матан писать на сиквеле. За месяц в джуниора превратишься, если по 8 часов в день будешь уделять.
Аноним 23/02/18 Птн 07:17:06  1144644
>>1144507
Для чего и на каком уровне?
Аноним 23/02/18 Птн 12:07:52  1144732
>>1144507
ставишь postgres
решаешь 100 (даже 50 хватит) задач на sql-ex.ru
параллельно читаешь там же теорию и проверяешь её в postgres
и статью про джойны на википедии прочитай
за месяц точно можно успеть
Аноним 24/02/18 Суб 08:09:52  1145110
есть норм литература по SQL*Plus и MySql?
Аноним 26/02/18 Пнд 13:21:26  1146276
Че почитать, чтоб в оракле было проще делать бд? Только недавно вкатился, пока туго идет, особенно скл код чет сложновато писать
Аноним 27/02/18 Втр 00:25:03  1146663
>>1146276
Что именно вызывает сложности?
Аноним 27/02/18 Втр 01:28:17  1146682
Дана одна таблица.
В ней два столбца
ID и Date
Задача: вывести оба столбца, но:
1) не выводя строке где Date c NULL
2) выводить только 2017-й год
С первой задачей справился. Остается вторая, но как только не писал. И date LIKE '%2017', и date BETWEEN '01.01.2017 AND '31.12.2017' - не работает. В чем может быть проблема? создавал БД сам, в Acceess
Аноним 27/02/18 Втр 10:21:31  1146776
>>1146682
Дата у тебя скорее всего имеет тип Date, а ты пытаешься работать с ней как со строкой.


https://accesshelp.ru/funkcija-datepart-v-zaprosah-access/
Аноним 27/02/18 Втр 14:20:39  1146904
Аноны, есть задача запилить бд в аксессе, но опыта работы с б.д. нет практически совсем. Есть шарящие господа, которые могут помочь составить логику работы?
Аноним 28/02/18 Срд 15:09:26  1147493
>>1146682
YEAR([Date])=2017
Аноним 01/03/18 Чтв 17:44:24  1148059
Бля, почаны. Присутствуют тут опытные NoSQL бояре?

Есть реляционный Postgres монстр на пятьсот таблиц. Ебаные джойны и CTE душат пиздец. Пол базы в оперативной памяти. Траффик кеша десять гигабит пробил.

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

Наставьте на путь истинный долбаеба.
Аноним 01/03/18 Чтв 19:02:25  1148109
>>1148059
Тебе нужен редис. или любая другая хуйня, которая позволяет делать 2 вещи:
1. хранить данные в памяти
2. складывать их в нужном формате на диск.

Аноним 01/03/18 Чтв 20:53:16  1148167
>>1148109
1. Че будет с редисом если память таки кончится? Есть вероятность свалиться в конский своп? Как редис из таких ситуаций выгребает?
2. Я так понимаю что если он приляжет, то тому что было в памяти пизда и нужно все-таки хранить данные еще и в более надежном хранилище.
3. Главный вопрос в каком виде хранить данные. Если есть ебическая выборка по которой матвьюшка строится десять часов и которая меняется от любого пердежа, то как такое хранить и поддерживать в том же редисе?
Обновлять все чего коснулись изменения сразу? Раз денормализовано, то и мест таких будет по идее больше. Redis выдержит такую напругу?
А если периодически, то чем вообще такие отложенные обновления производятся и в чем отличие от того же построения матвьюшки?
Аноним 02/03/18 Птн 00:15:19  1148304
Недавно пришла в голову мысль запилить БД на файликах. Без мускула и каких-то серверов, всё хранить открывая/записывая/закрывая файлы. С форматом не опредился, yaml, json, xml, csv иили вообще свой придумаю.

Как идея, взлетит?
Аноним 02/03/18 Птн 00:25:20  1148312
>>1148304
>Недавно пришла в голову мысль запилить БД на файликах. Без мускула и каких-то серверов, всё хранить открывая/записывая/закрывая файлы. С форматом не опредился, yaml, json, xml, csv иили вообще свой придумаю.
> впизду твои костыли, уже есть sqlite
Аноним 02/03/18 Птн 00:25:56  1148314
>>1148304

впизду твои костыли, уже есть sqlite
Аноним 02/03/18 Птн 01:07:44  1148326
1.png (21Кб, 802x574)
2.png (19Кб, 754x518)
3.png (13Кб, 1122x534)
4.png (10Кб, 1146x510)
Можете пояснить, почему на форме не работает поле РЕЗУЛЬТАТ? Вот сама БД, если что http://dropmefiles.com/Ygvjk
Аноним 02/03/18 Птн 21:18:56  1148690
15187654414303.jpg (47Кб, 447x589)
Как с помощью MS SQL оптимизировать запрос, в котором нужно по двум численным колонкам в одной таблице и двум в другой произвести расчеты по таблице и сохранить это все?
Ну там тип этих колонок, индексы-хуиндексы?
Аноним 05/03/18 Пнд 11:50:02  1149900
Странный вопрос, но потом продублирую на стак.
В оракле есть функция по взятию хэша. Мне нужно взять хэши процедур, пакетов, триггеров и вьюшек. Как это сделать легко и просто? Я помню что тексты процедур и функций хранятся в одном из представлений системных. А где триггеры и прочее? Или есть какая-то крутая фича, которая считает все сразу?
Аноним 05/03/18 Пнд 20:28:19  1150232
image.png (236Кб, 1785x927)
Primary key - это универсальный ключ, который ни разу не повторятся.
У меня не слишком их много?
Аноним 05/03/18 Пнд 20:34:29  1150233
>>1150232
Суррогатных ключей никогда не бывает много.
Аноним 05/03/18 Пнд 22:50:21  1150317
Кто может подсказать хорошую литру или курс по построениям баз данных? Хочу освежить знания( а занимались по учебнику из 80-ых)
Аноним 06/03/18 Втр 02:14:57  1150478
Делаю телеграм бота, он должен хранить имена пользователей, несколько свойств этих пользователей, а также кучу расписаний на неделю. Например, если у пользователя такое то свойство, то у него такое то расписание на каждый день.
Что для этого использовать? Sqlite, SQL? До этого ничего общего с бд не имел. Использую сишарп если что.
Аноним 06/03/18 Втр 17:19:47  1150763
image.png (31Кб, 623x366)
ЧЯДНТ?
Аноним 06/03/18 Втр 17:28:12  1150774
>>1150763
Разобрался
Аноним 06/03/18 Втр 21:42:08  1150923
image.png (11Кб, 391x196)
image.png (94Кб, 1145x560)
Чет я испытываю траблы. Как мне в Group work передать массив клиентов? А то получается, что я по одному ввожу.
Аноним 06/03/18 Втр 23:04:33  1150950
>>1150923
Не понятно, что ты хочешь.
Аноним 07/03/18 Срд 16:40:48  1151187
>>1150923
Какая у тебя СУБД? Используешь ли хранимые процедуры?
Аноним 07/03/18 Срд 21:30:13  1151310
>>1150923
сделай структуру
Аноним 09/03/18 Птн 01:32:38  1151964
image.png (6Кб, 397x117)
какой нужен запрос чтобы выбрать чувака с именем васян и задать ему школу номер 228?
Аноним 09/03/18 Птн 02:53:41  1151987
>>1151964
-Эй, база, дай всех с именем васян
-на
-вот этому сет скул 228
-окей
Аноним 09/03/18 Птн 06:34:38  1152007
Ананасики, помогите пожалуйста!

Вот задание:

Перенести продукты из одной категории в другую.

То есть мне нужно в одной таблице присвоить запись другой категории записей. Как это сделать?

То есть, было "Chocolate, Desert", а стало "Chocolate, Beverages". Как это сделать? Я нихуя не могу понять, а в гугле нахожу только перенос из одной таблицы в другую. Мне же все надо сделать в единственной таблице.

Спасибо заранее.
Аноним 09/03/18 Птн 16:32:30  1152271
>>1152007
http://sqlfiddle.com/#!4/d6d1f/1

Что-то в таком духе, если я правильно тебя понял.
Аноним 10/03/18 Суб 12:44:27  1152839
Может кто-нибудь писал бд "Реализация готовой продукции"?
Подойдет и просто пример того как должны выглядеть таблицы и связи между ними в идеале. Но если есть и mysql код -- тоже замечательно. Спасибо
Аноним 11/03/18 Вск 21:58:07  1153946
Нужно изучить SQL на уровне самого базового понимания и умения делать простые запросы. Есть ли какой-нибудь интерактивный материал где кратко объяснен синтаксис и есть упражнения?
Аноним 11/03/18 Вск 22:11:25  1153960
>>1153946
Тред почитать? Загуглить? Совсем даун что ли?
Аноним 12/03/18 Пнд 01:43:09  1154149
>>1153946
sql-ex.ru
Аноним 12/03/18 Пнд 13:40:05  1154440
Судя по треду, лучше вкатываться в oracle, чем в ms sql, верно?
Аноним 12/03/18 Пнд 14:22:20  1154471
По бабосам - да, в мускл больше шансов вкатится если скил сиквел не особо высокий.
Аноним 12/03/18 Пнд 23:58:11  1154797
>>1154440
PostgreSQL
Аноним 13/03/18 Втр 10:51:06  1154931
Котаны, есть одна MS SQL база.
1. Как в ней устроные индексы? В виде сбалансированного дерева или нет?
2. Если есть составной индекс, но я ищу только по одному из полей, будет ли он работать и как быстро по сравнение с простым индексом на этом поле?
3. Чем, блять, скан от сика отличается?
Аноним 13/03/18 Втр 23:04:36  1155325
>>1154931
Вскукарекну из-под шконочки:
1) Да, B/B+-деревья.
2) Работать он в любом случае будет, но вряд ли быстрее обычного индекса по конкретному одному полю (и в плане поиска и в плане вставки/удаления/обновления). Зависит от того, какие данные в полях составного индекса хранятся и в каком порядке поля указаны. Кмк, чем более уникальна комбинация, чем "легче" тип данных (int'овое значение быстрее ищется, чем nvarchar'овое), и какой порядок (есть разница между int-nvarchar или nvarchar-int), тем быстрее он будет работать. Ну и в вопросе не уточняется, кластеризованный или некластеризованный индекс.
3) Не хочу напиздеть, но scan вроде двух видов может быть, т.е. table scan - перебор всех строк в таблице (когда в таблице нет индекса и поиск идет по всем строкам), index scan - перебор всех значений / ссылок на значения на узлах дерева (индекса) (когда в таблице есть индекс и поиск идет по всем значениям / ссылкам на значения). (Index) seek же относится только к индексу - поиск идёт по конкретным узлам дерева (индекса) для поиска конкретных значений / ссылок на значения.
Аноним 14/03/18 Срд 13:40:05  1155579
Можно ли создавать таблицы как тип внутри других таблиц? Или я долбаеб и так делать не надо? Тогда в чем мне хранить маленькое расписание, в хмл?
Аноним 14/03/18 Срд 13:47:11  1155582
f
Аноним 14/03/18 Срд 16:38:01  1155639
>>1155579
Так делать можно, но тебе, скорее всего, так делать не нужно.
Аноним 14/03/18 Срд 21:54:46  1155837
Снимок.PNG (24Кб, 1197x672)
Ребята спасайте, ебусь со схемой
Есть викторины, есть игроки, есть вопросы и у вопросов варианты ответов (пока можно не смотреть даже).
Как приебланить ответы игроков
Прикрепляю схему, там вроде всё понятно по замыслу
Спасайте братцы
Аноним 15/03/18 Чтв 00:05:58  1155902
>>1155837
Таблицы Question_in_quiz и Players_in_quiz объединить в одну и добавить в неё ansrewId.
Аноним 15/03/18 Чтв 09:01:03  1155951
Сап базонюхи, подсобите кабанчиком. Я про SQL прочитал несколько статей на вики, не провентилировал темку еще, но надо маленькую мутку мутануть:
- есть в базе данных таблица, из которой надо ебнуть ненужные записи и оставить нужные. На данный момент мне удалось сделать DELETE FROM НАХУЙ, то есть выбираю ненужные записи и удаляю их

Чо мне надо: я хочу сделать наоборот - выбрать из таблицы нужные записи (их немного) во вспомогательную таблицу, потом ТРУНКАНУТЬ всю основную таблицу и догрузить в нее нужно из вспомогательной. Но скрипт типа SELECT * INTO <вспомогательная таблица> FROM не срабатывает, ошибку выдает какую-то (выполняю из сторонней программы скрипт подключением к внешней базе). Я так подозреваю, вспомогательную таблицу надо сперва создать, а потом в нее пердолить данные? А что, если я в душе не ебу, какая структура у этой таблицы и мне нужно как-то динамически создавать вспомогательную копию с той же структурой как и у основной, что для этого писать в запросе?
Аноним 15/03/18 Чтв 10:14:38  1155974
>>1155951
Делай инсерт а не селект инту.
Инсери инто бла бла селеки фром блаблабла.
Кайта чтоли прочитал?
Аноним 15/03/18 Чтв 10:16:15  1155975
>>1155951
Насчет создания второй структуры: бери ддл таблицы и создавай по ней новую. Вродн все норм программы для рабоиы с субд умеют вынимать ддл
Аноним 15/03/18 Чтв 11:07:59  1155993
>>1155974
С инсертом хуйня 100% не работает, потому что инсертит только в существующую таблицу. С селектом тоже.
>>1155975
Да ты мне скажи конкретный пример чо писать английскими словами. В душе не ебу, как твой ддл брать. Нагуглить я могу и сам, было бы время. Мне бы щас просто написать, чтоб работало, а разбираться потом будем.
Аноним 15/03/18 Чтв 11:43:17  1156012
S80315-10151782.jpg (111Кб, 1080x1532)
S80315-10161022.jpg (106Кб, 1080x1497)
S80315-10173923.jpg (55Кб, 1080x803)
>>1155639
Ну сматри, у меня есть таблица с классами, у каждого класса есть расписание.
Расписание состоит из урока, дня урока и его номера за списком.
Кроме таблицы в таблицы и хмл был вариант записать все эти уроки в одну таблицу, привязав к им класс, но чет это не очень оптимизировано.
И ещё один вопрос: допустим, у меня есть таблица, в которой хранятся некоторые файлы. По какому то иденфикатору мне надо найти фотку. Как это лучше сделать, одной таблицей или двумя? Мне кажется, что в первом случае пикрл 1 при поиске фотки СУБД будет загружать в ОЗУ каждую фотку в таблице, а во втором случае пикрл 2 и 3 сразу выдаст нужную фотку.
Пока писал это, появился вопрос, как можно хранить лист фоток, которые привязаны к одному объекту, в бд?Этот лист будет состоять ну максимум из 5-10 фоток, чаще всего будет одна фотка или их вообще не будет.
Аноним 15/03/18 Чтв 13:14:03  1156035
>>1155951
Какая СУБД? У каждой есть синтаксис для селекта во временную таблицу, но у всех немного отличается.

На мускуле что-то такое:
https://stackoverflow.com/a/5859469

На ms sql просто селект.
Аноним 15/03/18 Чтв 13:25:40  1156038
>>1086747 (OP)
Аноним 15/03/18 Чтв 14:24:16  1156049
>>1155993
Выбери в просмотрщике таблиц нужную таблицу, выгрузи ддл.
Либо ебашь адовую массу типа create table tablename select * from tablebasr where null; потом инсертишь в эту таблицу селектом. Insert into tablename select blabla from tablebase where blabka.
Если запрос с созданием не работает, то делает крейт тейбл tablename like tablebase
Аноним 15/03/18 Чтв 15:46:19  1156077
>>1156035
>просто селект
просто селект блять просто селектит, а мне надо во временную таблицу
>>1156049
да какой впизду просмотрщик, у меня есть oledb соединение с базой и имя таблицы, а что на сервере творится, я не ебу, мне нужно прямым запросом очистить эту таблицу, но не всю. Короче я понял, тут базотред уровня /b. Попробую чистить без задней мысли, может прокатит.
Аноним 15/03/18 Чтв 15:58:21  1156082
image.png (16Кб, 559x463)
>1156012
во вложенные таблицы стоит складывать не очень важные данные, по которым не будет поиска и джойнов.
Уроки - это самая важная часть, поэтому она должна быть отдельной таблицей. Количество записей тебя не должно смущать, для СУБД это семечки (при условии что ты правильно сделал индексы). Ну и про внешние ключи не забываем.
Если ты делаешь уроки полем какой-то таблицы ты создаешь себе офигенные проблемы - будет просто нереально с этим что-то сделать.
По второму вопросу второй вариант вообще бессмысленный, он никак тебе не поможет.
Насчет памяти не переживай, если для поиска ты не будешь поле LOB использовать, то оно никак не помешает. Если ты ищешь по ID, то там уникальный индекс, он вообще в таблицу не полезет при поиске, только когда данные будет отдавать.
Аноним 15/03/18 Чтв 15:59:46  1156084
>>1156012
>>1156082
Проебался с разметкой

Аноним 15/03/18 Чтв 16:03:41  1156086
image.png (3Кб, 325x168)
>>1156012
>хранить лист фоток, которые привязаны к одному объекту

В табличке PHOTO есть колонка object_id, которая содержит ссылку на запись OBJECT. Для нее должен быть сделан foreign key и индекс.
Аноним 15/03/18 Чтв 16:12:33  1156090
>>1156077
Бля я тебе решение дал с креэйтом, хуле ты такой долбоеб, блядь?
Оледб хуе мое. У тебя значит есть логин/пароль, зайди в бд через какой-нибудь тоад и глянь свою таблицу, вот пиздец, ленивый обмудок.
Аноним 15/03/18 Чтв 16:23:19  1156095
image.png (21Кб, 707x480)
>>1155837
Навскидку я бы так предложил.
Question quiz можно убрать, если в каждой викторине вопросы уникальные. Ссылка answer на question - для удобства поиска, ответ ведь не меняется, поэтому можно сразу сохранить все поля. Меньше джойнов потом будет.
Аноним 15/03/18 Чтв 16:30:43  1156098
>>1155951
insert into vspomojitelnaya (col1, col2 .. coln)
select col1, col2..coln from osnovnaya
where col1488 = %yoba_uslovie%;

commit;

truncate table osnovnaya;

insert into osnovnaya (col1, col2 .. coln)
select col1, col2..coln from vspomojitelnaya;
commit;
Аноним 15/03/18 Чтв 16:33:08  1156100
>>1156086
Я тоже так думал, но после
>Для СУБД количетсво данных семечки
Наверное так и сделаю: таблицу всех фоток, в которых будет содержатся ид хуйни, к которой они привязаны, и таблица всех уроков на все расписания для всех школ. Спасибо, анон.
Аноним 15/03/18 Чтв 16:37:44  1156101
>>1156098
а блять, у тебя нет вспомогательной, тогда вместо первого селекта
так: create table vspomojitelnaya as (select * from osnovnaya where ....);
Ну это если есть права на создание таблиц.
Аноним 15/03/18 Чтв 17:03:13  1156112
>>1156090
Ёбик, хули ты такой ограниченный, не программист что ли? Решение должно быть универсальным - подсунул любую таблицу, она обрабатывается. Из-за тебе сука походу придется читать структуру таблицы и криэйтом динамически заебенивать копию. Но мне лень, может есть какой-нибудь простой способ в три хода.
Аноним 15/03/18 Чтв 17:05:35  1156116
>>1156101
О, вот это заебочек. Только поясни, create делает прямо новую таблицу на диске, а не временную в темпдб? И че мне после последнего инсерта надо ее дропать? Алсо что за коммит, нахуя коммит? Нигде не видел чтоб его использовали, транзакции вроде нету же, или эта хуита как бы разделяет операции просто?
Аноним 15/03/18 Чтв 17:31:39  1156129
>>1156116
Да, дропнуть нужно будет вспомогательную.
Коммиты можешь убрать, что там у вас для запуска скрипта, GO? После каждого выражения тогда GO пиши.
create делает просто таблицу, в SQL Server вроде префикс # указывает, что ее нужно создавать в tempdb (т.е. create table #zzz создаст ее в темпдб). Дропнуть все равно нужно будет.
Аноним 15/03/18 Чтв 17:57:46  1156139
>>1156082
бля, немного читал тебя жопой ибо был в шкалке.
>Уроки - это самая важная часть, поэтому она должна быть отдельной таблицей.
Но само рассписание, которое мне надо получить, содержит только список уроков на неделю, в котором будет около 30 записей, в которых я могу разобратся, просто выгрузив все рассписание в свою програму.
И как делать "правильную" выборку по ид? Или SELECT * WHERE id = 228 будет достаточно, т.е оно не будет чекать каждый элемент и сравнивать его ид с 228?
как разобратся в этих йоба графиках на твоих пиках?
Аноним 15/03/18 Чтв 18:00:29  1156140
>>1156129
Не работает. И с # в том числе. Возможно действительно прав нет на создание таблиц.
Аноним 15/03/18 Чтв 18:24:33  1156154
>>1156139
Список уроков на неделю - это лишь частный случай.
Допустим, ты захочешь сгенерировать для каждого учителя его план занятий на четверть или посчитать количество часов по тому или иному предмету или увидеть наиболее или наименее загруженное время в школе.
В этом случае вложенные таблицы будут очень неэффективными.
Если ты захочешь сохранять информацию о перенесенных или отмененных уроках - тоже непросто будет. Или если класс на английский язык на две группы разделяется. Или если на физкультуре мальчики отдельно, девочки отдельно.
Проектирование схемы данных - очень важный этап, нужно предусмотреть очень многое и заложить потенциал для развития и расширения.

Схему читать очень просто - квадратики это таблицы, стрелочки означают что в таблице есть ключ из другой таблицы (на которую показывает стрелочка), вот кстати опечатка у меня - стрелка от lesson должна идти к teacher. Это значит, что в таблице lesson есть поле teacher_id (преподаватель, который ведет урок. Это решение подходит, если урок ведет один преподаватель. Если из больше, то нужно делать еще одну таблицу TEACHER_LESSON). Если стрелка на саму таблицу указывает, то это значит, что в таблице т.е. одно из полей ссылается на другое поле в этой же таблице.

> SELECT * WHERE id = 228 будет достаточно
Достаточно, если у тебя есть индекс по полю id. СУБД прошерстит индекс (он отсортирован, конкретный id найдется очень быстро), и из индекса возьмет информацию о физическом расположении записи.
Т.е. индекс как оглавление в книге (или предметный указатель), если его нет, то чтобы найти главу по названию, тебе придется последовательно пролистать все страницы, пока не найдешь нужную. А с оглавлением ты сразу знаешь номер страницы.




Аноним 15/03/18 Чтв 18:25:55  1156156
>>1156140
что пишет?
Если данных немного, то может тупо выгрузить в файл, а потом загрузить обратно?
Аноним 15/03/18 Чтв 18:39:15  1156173
>>1156156
А ничего, я вслепую скрипты выполняю, они либо выполняются, либо нет. Походу надо на сервере логи смотреть.
Аноним 15/03/18 Чтв 20:07:21  1156262
>>1156154
Спасибо анон. Не ожидал, что на дваче мне-долбаебу все так грамотно розжуют
Аноним 16/03/18 Птн 09:59:05  1156562
Пагни, можно ли в MS SQL из одного соединения откатить транзакцию другого соединения? Суть токова: подключается к базе соединение А в момент t1. В момент t2 к базе подключается соединение Б и начинает в ней вычислять сладкий хлеб, помоить таблицы. Нужно каким-то образом из-под соединения А в момент t3 взять и откатиться к состоянию t1, как будто соединение Б ничего не делало. При этом соединения должны оставаться активны, т.е. ручной бэкап не прокатит, все должно выполняться скриптом. Я охуел или так можно?
Аноним 16/03/18 Птн 10:17:17  1156564
>>1156562
А в чем задача-то? Сеанс А и Б одновременно редактируют одни и те же данные? Если сеанс Б зафиксировал изменения, то все, фарш назад не провернешь, если только копия где-то не осталась.
Аноним 16/03/18 Птн 10:20:39  1156567
>>1156564
У меня есть состояние t1 базы. Я хочу в любой момент вернуться в это состояние, только не ручным бэкапом. Само собой в момент возврата никто в базу ничего писать не будет, но соединения будут висеть. Нужно только сбросить все форшмаки, которые после t1 наделали.
Аноним 16/03/18 Птн 10:27:23  1156569
>>1156567
В оракле есть технология flashback, глянь такую же в мс, небось есть
Аноним 16/03/18 Птн 10:55:32  1156588
>>1156569
Короче я заколхозил моментальный снимок базы, но при попытке восстановиться из него говорит = при помощи операции RESTORE не удалось выполнить обработку базы sladkiy_hleb, так как она используется в этом сеансе. Рекомендуется для выполнения этой операции использовать базу данных master. И че?
Аноним 16/03/18 Птн 12:36:08  1156639
А что скажете про триггеры? Есть такой функционал у MSSQL, что например, я какую-то условную табличку записываю, срабатывает триггер и вызывает процидурку мне нужную?
Аноним 16/03/18 Птн 12:45:35  1156642
>>1156588
Мех, у тебя должны быть включены архивлоги, которые снимаются каждые 10-15 минут. И как бы ты понимаешь что у тебя разные scn поэтому ругается на данный момент на реплику.
Аноним 16/03/18 Птн 12:50:14  1156644
>>1156639
Create or replace trigger blabla after create on schema

Or
Create trigger blabla on db for create_table
Аноним 16/03/18 Птн 12:56:10  1156645
4beec8c19469cdb[...].jpg (41Кб, 500x446)
>>1156644
Кароч у меня есть таблица lykovie_oladji, я в нее буду писать 1 и база должна в этот момент выполнить нужную мне строчку кода. Базарь.
Аноним 16/03/18 Птн 13:39:21  1156660
>>1156645
Create or replace triger schema( я хуй знает какая рна у тебя).lykovie_oladji_trigger after insert or update on lykovie_oladji
Описывай
Бегин
Энд
Но я тебе не на транзакте писал, я им 1 раз пользовался и ебал его в рот
Аноним 18/03/18 Вск 22:39:49  1158600
Аноны, такая хуйня по поводу SQL. Как сделать триггер, который, мол, если 2 поля уже существуют в таблице - то всё предложенное на внос отклонять?
Аноним 19/03/18 Пнд 00:15:08  1158640
>>1087060
Книгу 75-го года, вы серьезно? Я понимаю, что в России нет науки, и приходится читать переводы 50-летней давности, но неужели никто не владеет английским?
Аноним 19/03/18 Пнд 01:27:08  1158658
>>1158600
Поясни вопрос примером. Что на входе, что ты хочешь на выходе.
Аноним 19/03/18 Пнд 01:42:38  1158663
>>1158640
А ты серьезно не понимаешь сути теории? Мне Евклида с его геометрией в пример привести?
Аноним 19/03/18 Пнд 08:00:30  1158703
>>1158658
В базе есть запись ("дом1, номер2, улица3")
Если на вход подается запись ("дом1, номер2"), то отклонить.
Мол, первые два параметра (не знаю, какой термин подобрать) совпадают с тем, что есть в базе, то такое пропускать нельзя.
Аноним 19/03/18 Пнд 09:43:56  1158756
>>1158703
Я твой синтаксис не понимаю.
>("дом1, номер2, улица3")
Сколько полей в этой записи?
>("дом1, номер2")
А в этой?

Короче, либо unique constraint, либо trigger.
Аноним 19/03/18 Пнд 09:51:29  1158758
>>1158756
> Я твой синтаксис не понимаю.
В общем, есть три колонки, и, если данные с первых двух совпадают с теми, что подают на вход, то отклонить.
Пример записи -
"Пушкина" "Колотушкина" "12"
И, если подается на вход
"Пушкина" "Колотушкина" "4918"
То это вносить нельзя.
Аноним 19/03/18 Пнд 09:54:08  1158759
>>1158758
Unique constraint делай.
Не надо триггер, зачем велосипед изобретать.
Все уже придумано.
Аноним 19/03/18 Пнд 09:55:07  1158760
>>1158759
> Unique constraint делай.
Эх, если б я знал, куда его и как делать. Ну да ладно, спасибо, погуглю.
Аноним 19/03/18 Пнд 09:59:30  1158763
>>1158760
Вбиваешь в гугл название своей субд и рядом unique constraint.

Переходишь на страницу с документацией, смотришь там пример.
Аноним 19/03/18 Пнд 10:05:27  1158764
>>1158763
Я использую DB Browser, и за то время, что я там ковырялся, даже не смог понять как правильно создать триггер. Там есть окошко для ввода и исполнения SQL когда, но он постоянно ругался на синтаксис, хотя я тупо копировал с гугла и подставлял значения своей БД.
Аноним 19/03/18 Пнд 10:07:10  1158765
>>1158764
> для ввода и исполнения SQL когда
Кода*
Аноним 19/03/18 Пнд 10:18:35  1158771
>>1158763
Вроде бы разобрался, спасибо еще раз!
Аноним 19/03/18 Пнд 17:50:49  1159022
Еще вопросик - сколько одновременно рыл может делать запросы к БД? Возможно ли это как-то расширить? Планируется компов 300 одновременно.
Аноним 19/03/18 Пнд 19:40:20  1159087
>>1159022
Больше нуля, если бд в работоспособном состоянии.
Аноним 19/03/18 Пнд 19:44:10  1159096
>>1159087
Есть одна маленькая .db, значит, её трогать может одновременно неограниченное количество рыл?
Аноним 19/03/18 Пнд 19:58:48  1159107
>>1159096
Да, конечно. Ведь это же реляционная база данных. От слова relations множественные связи со множеством клиентов.

Тут главное, чтобы RAM хватало.
Аноним 19/03/18 Пнд 20:14:27  1159131
>>1159107
> Тут главное, чтобы RAM хватало.
Где? На сервере? А если я без сервера?
Аноним 19/03/18 Пнд 20:34:05  1159149
>>1159131
Где лежит .db
Аноним 19/03/18 Пнд 20:34:30  1159150
>>1159149
На компьютере.
Аноним 19/03/18 Пнд 20:46:28  1159157
>>1159150
Это было утверждение, а не вопрос.
Аноним 19/03/18 Пнд 21:30:43  1159186
>>1159157
А, понял. Спасибо!
А можно еще узнать, от чего зависит требования к оперативной памяти? Если ~300 компьютеров сделают 2-5 insert запросов, сколько нужно RAM?
Аноним 19/03/18 Пнд 22:15:23  1159208
>>1159186
Примерно полтора мегабайта на инсерт.
Аноним 19/03/18 Пнд 22:22:42  1159216
>>1159208
Вроде как хватает. Еще раз спасибо.
Аноним 19/03/18 Пнд 23:04:55  1159263
>>1159216
Пожалуйста. Обращайся. Здесь все твои друзья.
Аноним 20/03/18 Втр 04:07:10  1159361
Сап, анонче. Хотелось бы услышать мнения.
Если бы вы писали что-то вроде семантического рабочего стола\семантической оболочки ОС, то какую бы СУБД выбрали в качестве хранилища метаинформации? Считай это все семантические связи между типа объектов, аналитическая информация, статистика, и прочее. НО. Это десктоп. То есть объемы, а самое главное, нагрузка не серверная - клиенты лишь сами сервисы\демоны одного пользователя\может пары девайсов, с учетом шаринга информации между ними. При этом есть потребность хранить\отслеживать отношения (следовательно можно задуматься о рдбмс), в тоже время данные - это в сущности объекты ссылающиеся друг на друга и храняшие друг друга (можно задуматься о графовых бд), есть так же потребность в атомарности записей, а потом приходится сомневать насчет носкюл-решений, ведь придется городить ее поверх.

Есть кому что сказать?
Аноним 20/03/18 Втр 06:06:49  1159380
>>1159361
SQLite?
Аноним 20/03/18 Втр 10:08:26  1159438
Возможно ли создание mysql ndb-кластера между машинами, когда на одной ubuntu и mysql, а на другой debian и mariadb?
Аноним 20/03/18 Втр 15:14:10  1159592
151250350711878[...].jpg (118Кб, 611x610)
Объясните, пожалуйста, partial functional dependence и transitive functional dependence.
Аноним 20/03/18 Втр 17:19:29  1159677
Здравствуйте, аноны.

Есть допустим таблица сообщений от пользователей.

id userId text timestamp

Какой селект написать, что бы выцепить по последнему сообщению каждого юзера? Желательно с пояснением, что бы я смог запомнить принцип работы и больше не тупить на этом, потому что уже второй раз сталкиваюсь с подобным, и совсем не помню как решал в прошлый раз :(
Аноним 20/03/18 Втр 18:27:56  1159693
>>1159677
https://stackoverflow.com/questions/7745609/sql-select-only-rows-with-max-value-on-a-column
https://www.xaprb.com/blog/2006/12/07/how-to-select-the-firstleastmax-row-per-group-in-sql/
Аноним 20/03/18 Втр 18:52:30  1159699
>>1159693
Спасибо, думал что там всё немного проще, а оказывается такие вот сложности для типовых решений.
Аноним 21/03/18 Срд 07:04:20  1159929
>>1159699
Можешь сохранять дату последнего сообщения отдельно, например, колонку заведи в таблице пользователей. Небольшие издержки при вставке, но зато не надо лопатить большую таблицу.
Аноним 21/03/18 Срд 07:55:03  1159930
>>1159929
Пиздец. У меня бугурт с твоей нормализации. 8 нормальная уровня pr, блядь

Делается по max(id сообщения). Индекс "user_id, id desc"
Аноним 21/03/18 Срд 10:36:13  1159966
images.jpeg (10Кб, 259x194)
>>1159677
если твоя субд умеет в over, то
select select id, userId, text, timestamp from (
select id, userId, text, timestamp,
row_number() over (partition by userId order
by timestamp desc) as rn
from tbl_message
) m
where rn = 1

Если не поддерживает, тогда нужно вытаскивать через самоджойны, но это не гарантирует тебе того, что ты получишь по 1 сообщению на каждого юзера:

select id, userId, text, timestamp
from tbl_message tm
inner join (
select userId, max (timestamp) as max_ts
from tbl_message
) max_t on tm.userId = max_t.userId and tm.timestamp = max_t.max_ts
Аноним 21/03/18 Срд 10:43:29  1159968
>>1159930
Как будто денормализация - что-то плохое.

Разумеется, можно и как ты говоришь сделать и еще другими вариантами. От контекста и условий зависит, от количества записей, которые он выгребает, какие у него джойны еще там есть.
Я подъебнулся, кстати, не дату, а id, конечно.

Если ему нужен текст или дата, то в твоем варианте ему два раза надо к таблице сходить, а в моем - один.

А так мне нравится вариант с not exists, сразу все поля из таблицы получаются.
Иногда аналитическая функция удобна, вариантов масса.


Аноним 21/03/18 Срд 14:51:57  1160075
>>1159968
Есть где почитать, где стоит использовать денормализацию? А то то как с ооп, если все денормализовать, получится неподдерживаемая хуета вместо базы, если все нормализовать - тоже не есть гуд.
Аноним 21/03/18 Срд 20:14:05  1160262
А я бы хотел узнать зачем вообще существует релятивистская система в базах?

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

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

Полагаю что в огромных реально проектах это роляет, но когда у тебя простая система таблиц из: юзеры, сообщения юзеров, балансы, посты, картинки, объявления, лог_действий_юзеров ну и максимум еще пара таблиц, то там в принципе наплевать.

Кто-то на работе сталкивался с реальной необходимостью?
Аноним 22/03/18 Чтв 01:43:33  1160454
>>1086747 (OP)
Суп, аноны. Думаю писать чатбота который будет анализировать сообщения в чате, потом сопостовлять по регексу с набором разнообразных заготовок вроде "[Заорал|Орнул в голосину|Проорал]" и другими условиями вроде время>22:00 и отвечать "Какого дьявола ты здесь ШУМИШЬ!", ну в зависимости от сообщения.

Имеет ли мне смысл изучать для такого базы данных?
Как вообще пишется бэкенд для всяких "умных" чатботов?
Аноним 22/03/18 Чтв 03:16:31  1160470
>>1160262
Для тебя есть монгодб.
Аноним 22/03/18 Чтв 03:19:40  1160471
>>1160454
Базы данных здесь вообще не нужны. У тебя всё равно будет линейный перебор по всем регексам с твоим алгоритмом. Ну разве что ты захочешь как-то хранить этот список регексов отдельно или не перезапускать бота. Тебе нужно будет просигналить как-то что обновление случилось чтобы бот заново из базы вытащил весь список.
Аноним 22/03/18 Чтв 03:20:20  1160472
>>1160075
> если все нормализовать - тоже не есть гуд
Почему?
Аноним 22/03/18 Чтв 08:54:12  1160537
>>1086747 (OP)
Подскажите есть ли задачник для MS SQL Server?
Аноним 22/03/18 Чтв 09:44:46  1160559
>>1160537
sql-ex.ru
Аноним 22/03/18 Чтв 09:49:12  1160560
>>1160262
>пытался что-то из какой-то таблицы вычистить, то у тебя только сыпались эроры, что нужно вот еще вот то говно вычестить перед этим, потому что в том говне сидит id этого говна. И на этом собственно всё.

Я так понял в итоге все говно в таблицах и осталось.

https://technet.microsoft.com/en-us/library/ms186973(v=sql.105).aspx

Аноним 22/03/18 Чтв 10:17:03  1160565
>>1160472
Кешировать (сохранять) уже рассчитанные данные иногда хорошо (см. устройство хранилища 1с, например).
Но это противоречит концепции нормализации. Бай зе вей, хранить рассчитанный адрес "улица пушкена дом колотушкена" хуже червя пидора. Поэтому мы подходим к вопросу гуд практиз.
Аноним 22/03/18 Чтв 10:41:19  1160574
>>1160471
Ну можно линейно перебирать, а можно было бы взять тот же список строк, загнать в несколько потоков и уже их парсить, при этом не выгружая из памяти.

Например сходу разбить файл из 80 строк на 8 частей по 10 строк и уже эти 10 строк парсить в своих потоках. Сработает ли такой подход?
Аноним 22/03/18 Чтв 10:44:38  1160578
Котаны, как сделать ограничение на количество обновлений за час?

У пользователя есть поле 'coins', которое хранит кол-во монет. На сервере есть функция 'reward', которая даёт пользователю монеты (увеличивает значение coins). Нужно сделать так, чтобы нельзя было получать награду чаще, чем 10 раз в час.

Я так понял, нужно дополнительно два поля добавить. Одно поле будет счётчиком 'rewardCount'. Другое поле будет хранить дату и время 'rewardLastUpdated'.
Аноним 22/03/18 Чтв 11:36:25  1160602
>>1160574
Сработает. Но будет то же самое что и несколько независимых нод под лоад балансером, каждый из которых переваривает целые куски из 80 строк. Тебе лучше какой-то индекс построить, например разбить на слова и каждое слово искать в маппинге. Либо применить банальный парсинг с последовательным проходом по символам + префиксное дерево чтобы в один проход по тексту найти все нужные вхождения.
Аноним 22/03/18 Чтв 11:39:23  1160603
>>1160565
Тогда лучше логически отделить БД как source of truth и кэша, которые наверное лучше поместить в NoSQL. Транзакции и констрейнты вещи достаточно дорогие, но при этом необходимые.
Аноним 22/03/18 Чтв 11:47:30  1160608
yo ребзя, есть постгрес база в которой в одной из колонок хранятся данные в json, приблизительно так {"age_range":{"max":57,"min":43},"gender":"male"}
Как разпарсить и селектнуть gender из строк?
На вскидку пробовал json_value - но не находит такую функцию. Халп.
Аноним 22/03/18 Чтв 11:49:46  1160609
>>1160578
Так как данные временные и некритичные, почему бы вообще не елозить диск понапрасну? Например если записывать в редис, можно установить определённый expire time для ключа, в твоём случае час. И просто обновлять число по этому ключу. Если больше 10, то не добавлять coins. Если ключа нет это равносильно 0. Фишечка в том что такое решение ты можешь закрутить ещё во много разных мест, например для защиты от брутфорса, и работать оно будет достаточно быстро.
Аноним 22/03/18 Чтв 11:51:35  1160611
>>1160608
SELECT jfield->'gender' FROM table;
Аноним 22/03/18 Чтв 12:02:21  1160615
>>1160611
Или я тупой или шутка такая. Попробую еще раз:
Есть база постгрес, в которой в одной из таблиц, кроме остальных полей редяционных таблиц есть поле в котором хранится строка json которая так выглядит:
{"age_range":{"max":57,"min":43},"gender":"male"}
Знатоки, вопрос: как мне из строки json селектом вывести в отдельную колонку (чтобы потом в цсв выгрузить) gender

Аноним 22/03/18 Чтв 12:11:10  1160619
>>1160615
Разобрался, так:
select jsonfield::json -> 'gender' from table
Аноним 22/03/18 Чтв 12:42:27  1160628
>>1160619
Может лучше ALTER TABLE сделать? Всё равно жсоны лежат.
Аноним 22/03/18 Чтв 13:16:49  1160642
Шапки с материалом у вас нету, поэтому прошу :
Посоветуйте гайды по MongoDB и Mongoose
Аноним 22/03/18 Чтв 13:55:23  1160670
>>1160628
Ридонли права я АНАЛитик, хотя и локальная мини-копия есть, но не хочу перезапускать репликацию.
Аноним 22/03/18 Чтв 15:59:49  1160739
>>1160609
Челик, ебани пожалуйста на твиче стрим как вывести кеш на редис с рдмс.
Мы подонатим всем тредом если покажешь сиськи
Аноним 22/03/18 Чтв 16:01:26  1160741
>>1160739
*рдбс. И не кеш, а инкапсуляцию логики.
фаст фикс
Аноним 22/03/18 Чтв 19:23:40  1160874
Мне нужно делать лабу вместе с другом, у него на компе есть часть начала базы данных, можно ли как-то настроить доступ к ней, чтобы я со своего компьютера могла добавлять в нее свой код и она обновлялась у друга на компе
Аноним 22/03/18 Чтв 20:15:03  1160898
захостите базу на какой-нибудь бесплатной параше по типу
http://000webhost.com/
и работайте оба с ней через phpmyadmin (у вас mysql база надеюсь)
Аноним 22/03/18 Чтв 20:15:34  1160899
>>1160874
>>1160898
Аноним 22/03/18 Чтв 21:15:54  1160938
>>1160874
Пускай друг порты откроет у себя.
Аноним 22/03/18 Чтв 23:31:52  1161011
15217282860840.png (35Кб, 677x414)
Просьба о помощи:

В общем мне надо провести работу по документированию mysql базы, описав её структуру в doc (см пик).
Пытался сделать через HeidiSQL, но это зараза хоть и отображает то что надо (см тот же пик) , но при копировании вставке выдаёт блин опять таки структуру в виде "create table".

Прошу помощи - есть ли какие-то программные средства не вносить вручную в таблички doc структуру mysql таблиц?
Аноним 22/03/18 Чтв 23:57:22  1161030
>>1161011
1. https://dev.mysql.com/doc/refman/5.7/en/show-columns.html
2. Можешь попробовать экспортнуть в csv:
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';
Потом открыть его экселем и копировать в ворд. Но имхо, гемороя только добавится.
Аноним 23/03/18 Птн 12:54:55  1161224
В универе поставили задачку перенести бд с MySQL в Postgresql, какие пути решения? желательно без левых программВ универе поставили задачку перенести бд с MySQL в Postgresql, какие пути решения? Гугл выдет всякие программки-конверторы, есть ли решение не прибегаю к использованию других программ?
Аноним 23/03/18 Птн 14:13:32  1161270
>>1161224
Выгрузить ддл же. Ты получишь огромный sql файл. ( по хорошему выгрузи сначала таблцы) и в ручную замени величины на те, что есть в постгресс, потом так же делай с триггерами, и прочим.
Функции переделывать придется полностью скорее всего.
А потом комплияй и прочее.

В вики постгре есть тулзы для миграции, тебе не пойдут?
Аноним 23/03/18 Птн 16:02:48  1161313
>>1161030
спасибо, но сцуко всё таки не совсем то. буду искать.
Аноним 23/03/18 Птн 16:21:18  1161319
>>1161313
Да нет другого решения. Все крутится вокруг одного - выгружаешь описание схемы из MySQL (DDL - скрипт, анон выше про то же самое пишет) и загружаешь в postgresql. Другого глобуса у нас нет.

Можно поискать утилитки которая отрежет MySQL -специфичные штучки, чтобы получился максимально простой DDL. Можно самому написать выгрузку из словаря MySQL, можно найти готовые скрипты выгрузки и допилить их чтобы лишнее не выгружали.
Аноним 23/03/18 Птн 19:22:11  1161430
02.Product01MyS[...].png (124Кб, 1200x800)
4gL2J.png (96Кб, 852x400)
>>1161011
Попробуй Navicat. Если веб макака, то у Jetbrains тоже есть инструмент для построения диаграмм.
Аноним 23/03/18 Птн 21:30:01  1161492
Как имитировать работу с огроменной бд, если в ней на самом деле всего 20 записей?
Аноним 23/03/18 Птн 21:33:41  1161495
Мне кажется SQL - это ошибка.
Аноним 23/03/18 Птн 21:50:13  1161502
>>1161495
Мне кажется твое рождение - это ошибка.
Аноним 23/03/18 Птн 22:46:30  1161524
>>1161492
Так добавь туда пару миллионов записей и не еби нам мозги.
Аноним 24/03/18 Суб 00:43:53  1161577
>>1161495
Попробуй Tutorial D.
Аноним 24/03/18 Суб 01:02:29  1161584
>>1161492
Запусти приложение в поток двадцать, которое будет инсертитб, селектить, апдейтить какую-нибудь хуйню постоянно. И залей миллион записей.
Аноним 24/03/18 Суб 12:31:26  1161719
>>1159677
В MSSQL можно через CROSS APPLY.
Аноним 27/03/18 Втр 00:17:57  1163205
Всем привет. вопрос по монге, хочу получить значение максимально близкое к нужной дате.
сначала попробовал через mongoose, но там запрос не отрабатывал как надо, потому полез в консоль руками пробовать.
но возникла проблема - монга не выполняет команду, будто она не завершена, хотя запрос полностью написан, но она только новую строку создает чтобы ввести символ. если введешь - ошибка лишнего символа
заметил что это только тогда, когда я использую $gte или $lt, вплоть до того что пытался выполнить следующий запрос:
db.collection.find({time:{$gte:"2018-03-26T18:38:00.457Z"}})
посоветуйте плз что сделать или ткните в ошибку
Аноним 27/03/18 Втр 14:16:45  1163442
Привет, погромач.
Очень годный тред, хотелось бы ваш совет.
Я уебываю со своей работы (аналитик) и хочу вкатиться к вам. Хуйня в том, что я не особо секу за направления. То есть я знаю, что разработчик бд-чаще всего пилит etl (надеюсь все верно), а еще есть администратор бд. У меня есть порядка пары месяцев на изучение документации и погружения. Знал когда-то неплохо sql и вот думаю про изучение tsql с установкой mssql и работы. Куда податься? Админ, разраб? Конечно, хотелось бы больше зп, но вангую, что на мне розовые очки и вообще хуй меня кто возьмет.
Спасибо!
Аноним 27/03/18 Втр 15:07:46  1163457
>>1163442
>>mssql
Good luck
Аноним 27/03/18 Втр 16:40:24  1163507
Как сделать, чтобы при определенном условии выводилось сообщение? Например, сравниваются столбец1 и столбец2, надо чтобы выводилось следующее "столбец1 | столбец2 | сообщение". Я так понимаю, для сообщения надо запилить свой столбец и писать туда сообщения. Мб в мускл можно сделать как-то проще?
Аноним 27/03/18 Втр 17:00:04  1163516
>>1163507
У тебя каша в голове, братишка. Какое сообщение? Откуда вывоилось и куда? Сравниваются - это "равняется" или больше/меньше? А если не равны, то что? Хорошо сформулированный вопрос - залог успеха!
Аноним 28/03/18 Срд 14:01:18  1163979
>>1163507
select
столбец1
, столбец2
, N'сообщение'
from таблица
where столбец1 <> столбец2

это если твои столбцы в одной таблице. Если в разных, надо использовать join.
Аноним 28/03/18 Срд 19:48:46  1164153
Анон выручай я криворукий жопохуй какой-то.
Есть SQL база данных postgres и mysql вся хуйня, что требуется реализовать для двух баз данных, заказчик хотел ещё mssql но я убедил, что ему она не нужна. Выбора между двумя более чем достаточно
Есть таблица в которой есть три числовых поля условно A, B, C, есть и другие поля но они нас не интересуют.
Мы вставляем в таблицу данные при этом мы знаем значения для полей A и B, в C мы должны вставить инкрементальное значение. Сложность в том, что счётчик должен быть уникален для каждой пары A и B
то есть вставляем
(0, 0, ?) => (0, 0, 1)
(0, 0, ?) => (0, 0, 2)
(0, 0, ?) => (0, 0, 3)
(0, 1, ?) => (0, 0, 1)
(0, 1, ?) => (0, 0, 2)
(0, 0, ?) => (0, 0, 4)
(7, 9, ?) => (0, 0, 1)
(0, 1, ?) => (0, 0, 3)
(0, 0, ?) => (0, 0, 1)
Аноним 28/03/18 Срд 20:17:10  1164173
>>1164153
Ну так вычисляй сам значение инкремента для пары, залочив перед этим таблицу на запись.
Аноним 28/03/18 Срд 20:22:01  1164180
>>1164153
Триггер напиши, который проверяет пары данных.
Благо расширенный sql умеет в ветвление
Аноним 28/03/18 Срд 20:48:19  1164204
>>1164173
>>1164180
Звучит не плохо, вот только в них я нихера не умею. Да и даже с ветвлением не очень понятно как это сделать. без нескольких дополнительных запросов.
Аноним 28/03/18 Срд 21:18:59  1164223
>>1164204
триггер позволяет обрабатывать данные для INSERT, через nvl ебашишь данные и всё.
гляди вот такая структура :new.stolb1 :new.stolb2 :new.stolb3 обрабатываешь через nvl, например.

create or replace trigger kartopler before insert on belorus_table
for each row
DECLARE
тут что-то объявляешь
BEGIN
if :new.stolb1 is not null ( или ебашишь обработку с nvl дабы ускорить перебор и точно не попасть в жопу)
then
if
then
belorus_kartopler1:= belorus_kartopler1 + 1;
и не забывай закрывать ветвления ENDIF


END;
Аноним 28/03/18 Срд 22:41:38  1164297
>>1164223
Меня смущает момент генерации нового значения, так как инкремента должна расти, то нужно хранить информацию о последнем её значение в другой таблице или дёргать из этой, но в случае удаления записей счётчик может сбиться или повториться и второе насколько это будет медленно?
Аноним 29/03/18 Чтв 08:39:59  1164438
>>1164297
>>1164297
Ну так это повод узнать что-то новое.
Зачем и как лочить таблицы.
Как делать триггер.
Как делать индексы на таблицу, чтобы было быстрее.
Насчет быстрее - ты ведь не финтех приложение пишешь, я надеюсь? Так что делай обычный селект для вычисления инкремента.
Насчет удаления - либо делай только пометку об удалении, либо действительно храни инкременты для пар в отдельной таблице.
Аноним 29/03/18 Чтв 11:33:10  1164500
>>1164297
Почитай теорию. Хоть не постгресс - Том Кайт с его томиком
Аноним 29/03/18 Чтв 16:04:47  1164603
>>1163457
А что с ним не так7
Аноним 29/03/18 Чтв 17:12:40  1164633
>>116460
Рынок же проебали.
Аноним 30/03/18 Птн 03:04:24  1164943
>>1164297
ну пиздец, pragma ебани. Почитай про индексы. По сути ты можешь создать представление с индексами и ебашить их туда и назад, благо расширенный sql предлагает ебашить и не такое
Аноним 30/03/18 Птн 22:59:07  1165441
Как обратиться к строке таблицы по индексу? Например, удалить именно 5 строку.
Аноним 01/04/18 Вск 16:59:35  1166352
>>1165441
В общем случае - никак.
В таблице нет как таковых номеров строк.
Ты можешь отсортировать таблицу по какому-нибудь критерию и взять уже в сортированном наборе строчку №5.

Аноним 01/04/18 Вск 20:35:22  1166482
image.png (13Кб, 354x243)
Как мне теперь триггер создать на то, что, если quanity < 0 - то больше не пихать людей?
Аноним 02/04/18 Пнд 20:02:38  1166929
>>1086747 (OP)
Топ ораклист, перекати тред.
Аноним 02/04/18 Пнд 22:26:02  1167019
>>1166929

НУ И ЧТО С ВАМИ ДЕЛАТЬ?

ЕХАЙТЕ
>>1167018 (OP)
>>1167018 (OP)
>>1167018 (OP)
>>1167018 (OP)
>>1167018 (OP)
>>1167018 (OP)
>>1167018 (OP)
>>1167018 (OP)
Аноним 02/04/18 Пнд 23:31:28  1167090
>>1167019
Обнял няшу :3
Аноним 26/04/18 Чтв 14:00:59  1180023
>>1154797
не слушайте его. эти мудаки форсят и создают вокруг postgresql необоснованный хайп. только вот работать потом и семью кормить вам а не им. postgresql до оракла и mssql еще очень очень далеко технически. это во-первых.
кроме того (и что кстати куда важнее), 99% проектов с postgresql это дауны с нищеебскими задачами. не замечать этого, не догадаться логически - это надо быть идиотом. карьера постгресиста - это глупость, такого вообще бывает, (полтора инвалида на весь мир в расчет можно не брать). исключение те компании/инсталляции где покупают EDBPostgres, Citus или рашкенский PostgresPro.
Аноним 26/04/18 Чтв 15:20:22  1180060
>>1180023
> 99% проектов с postgresql это дауны с нищеебскими задачами
Проиграл с этого.
Нищеебские проекты как раз таки делают на дерьме простых субд на вроде майэскюэль.
А крупные проекты с миллионами+ записей делают на божественном постгресе. Скайп например.
Аноним 08/05/18 Втр 13:41:19  1186127
>>1180023
Пфф, да ты, вообще, как СУБД-шник должен шарить и в мс скл, и в май скл, и в постгресе, хотя бы на уровне тех фич, которыми эти системы выделяются.


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