
Mike Chuguniy
21.09.2018
13:44:39
Вас вот такое предупреждение не смущает: В настоящее время на рейтинговых этапах мы используем Microsoft SQL Server 2017
?

Кондр
21.09.2018
13:47:05
Здесь модно отвечать вопросом на вопрос? 0_о Пока комбо из 4 вопросов. Дайте хоть один ответ.

Google

Vladimir
21.09.2018
13:50:21

Mike Chuguniy
21.09.2018
13:51:06
У каждой СУБД свой диалект SQL. у MS SQL, судя по этим вашим интернетам, и прочим виденным шпаргалкам, диалект наиболее удалён от стандартов.

Ilia
21.09.2018
13:52:34
SQL-ex.ru "хорош" своим исключительно замечательным подходом к проектированию задач:
-- сделать говно-базу, нарущающую все или несколько принципов проектирования реляционных БД
-- задать ученику писать на эту базу хитронамудрёный запрос, чтобы ему взорвать мозг.
Т.е. задача учить людей работать с реляционной БД не решается: учат, как искать каверзные места в структуре БД и ссылочной целостности данных, а потом решать эти проблемы через применение каверзных и экзотических приёмов, отражённых в языке SQL.

Igor
21.09.2018
13:53:16

Кондр
21.09.2018
13:54:38
Звучит логично. Хреновая бд в задачах — звучит серьёзнее чем аргумент про коммерческий диалект, но они друг друга не исключают.

Mike Chuguniy
21.09.2018
13:56:25


Yaroslav
21.09.2018
13:56:33
SQL-ex.ru "хорош" своим исключительно замечательным подходом к проектированию задач:
-- сделать говно-базу, нарущающую все или несколько принципов проектирования реляционных БД
-- задать ученику писать на эту базу хитронамудрёный запрос, чтобы ему взорвать мозг.
Т.е. задача учить людей работать с реляционной БД не решается: учат, как искать каверзные места в структуре БД и ссылочной целостности данных, а потом решать эти проблемы через применение каверзных и экзотических приёмов, отражённых в языке SQL.
Я сразу скажу, что там я давно не был, так что всё по старой памяти...
> -- сделать говно-базу, нарущающую все или несколько принципов проектирования реляционных БД
Зато предметно, доходчиво убеждает людей, что плохого в ненормализованных базах. ;)
> -- задать ученику писать на эту базу хитронамудрёный запрос, чтобы ему взорвать мозг.
Ну, там были откровенно упоротые вопросы, но раньше их было меньшинство.
> Т.е. задача учить людей работать с реляционной БД не решается:
Задач, которые учат нормальным приёмам и пониманию, там, всё же (было?) большинство.


Ilia
21.09.2018
13:59:37
а что вы порекомендуете для обучения?
Увы, других хороших альтернатив я не знаю.
Я бы предложил поставить просто демо-БД, идущую обычно с каждым сервером, и тренироваться на ней.
(SQLServer - NorthWind, Oracle - SCOTT и т.д)
Также, можно поставить БД TPC-C(D,H) и тренироваться на ней, а запросы писать опять же из соотв. теста, но самому.
Потом можно сверяться со стандартными и проверять себя.
Я сразу скажу, что там я давно не был, так что всё по старой памяти...
> -- сделать говно-базу, нарущающую все или несколько принципов проектирования реляционных БД
Зато предметно, доходчиво убеждает людей, что плохого в ненормализованных базах. ;)
> -- задать ученику писать на эту базу хитронамудрёный запрос, чтобы ему взорвать мозг.
Ну, там были откровенно упоротые вопросы, но раньше их было меньшинство.
> Т.е. задача учить людей работать с реляционной БД не решается:
Задач, которые учат нормальным приёмам и пониманию, там, всё же (было?) большинство.
Приведи пример хотя бы одной хорошей задачи (группы).


Igor
21.09.2018
14:00:01
агонь, пасибо
p.s. твои автараки меня смущают :)

Кондр
21.09.2018
14:02:45
Наверное получается, что между * и from нет пробела. Переход на новую строку его не заменяет

Google

Igor
21.09.2018
14:04:35
напиши им, может баг

Yaroslav
21.09.2018
14:04:42

Ilia
21.09.2018
14:05:34
Ну, вот нормально же...
Дима и Миша пользуются продуктами от одного и того же производителя.
Тип Таниного принтера не такой, как у Вити, но признак "цветной или нет" - совпадает.
Размер экрана Диминого ноутбука на 3 дюйма больше Олиного.
Мишин ПК в 4 раза дороже Таниного принтера.
Номера моделей Витиного принтера и Олиного ноутбука отличаются только третьим символом.
У Костиного ПК скорость процессора, как у Мишиного ПК; объем жесткого диска, как у Диминого ноутбука; объем памяти, как у Олиного ноутбука, а цена - как у Витиного принтера.
Вывести все возможные номера моделей Костиного ПК.
Вот что это за херь ?
Такие задачи на Prolog решают, там да, это было бы в тему.

Vladimir
21.09.2018
14:09:41

Ilia
21.09.2018
14:09:49
И что?
Я должен чтобы получить их вшивый сертификат решать такое вот фуфло?
Кому это надо?

Mike Chuguniy
21.09.2018
14:10:57
мелкомягкая скула. Хых.


Yaroslav
21.09.2018
14:11:44
Дима и Миша пользуются продуктами от одного и того же производителя.
Тип Таниного принтера не такой, как у Вити, но признак "цветной или нет" - совпадает.
Размер экрана Диминого ноутбука на 3 дюйма больше Олиного.
Мишин ПК в 4 раза дороже Таниного принтера.
Номера моделей Витиного принтера и Олиного ноутбука отличаются только третьим символом.
У Костиного ПК скорость процессора, как у Мишиного ПК; объем жесткого диска, как у Диминого ноутбука; объем памяти, как у Олиного ноутбука, а цена - как у Витиного принтера.
Вывести все возможные номера моделей Костиного ПК.
Вот что это за херь ?
Такие задачи на Prolog решают, там да, это было бы в тему.
Да это же не обучение, это на какой-то сертфикат, наверное...
Задача, кстати, нормальная.
Кто не может решить, у того нет твёрдого знания SQL (IMHO). ;)

Айтуар
21.09.2018
14:13:24
Ну и рестарт тоже через сам патрони делать.

alex
21.09.2018
14:14:09
и чет через едит конфиг не везлетело (

Ilia
21.09.2018
14:14:24

alex
21.09.2018
14:15:30

Mike Chuguniy
21.09.2018
14:15:50
Это когда оракел-пг, другой вопрос. А я пару раз т-скульные коды видел. Да в доку по ним заглядывал. Чегой-то меня после оракела, мыскля и пг немножко оторопь взяла.

Google

Ilia
21.09.2018
14:15:51

alex
21.09.2018
14:16:12

Mike Chuguniy
21.09.2018
14:16:31

Айтуар
21.09.2018
14:16:38

alex
21.09.2018
14:16:53
научи меня

Айтуар
21.09.2018
14:17:18
Может сначало прочитать документацию?

alex
21.09.2018
14:17:27
читал

Айтуар
21.09.2018
14:17:30
Там всё хорошо расписано

alex
21.09.2018
14:17:31
так то

Ilia
21.09.2018
14:19:59

Vladimir
21.09.2018
14:21:52

Yaroslav
21.09.2018
14:31:24
А к знанию SQL там ничего особенно не относится, всё делается JOIN + WHERE
Ну их же нужно знать, и с множествами уметь работать... впрочем, своё мнение я уже написал.
> Кто не может решить, так это у него не хватает терпения выписывать в запросе весь этот бред, что понаписан в задании...
Ну это же challenge, т.е. не хотите — не участвуйте (не получайте сертификат). ;)
(Я вот, например, не хочу.)

Lestat -
21.09.2018
14:38:40
#gist #rum #cosine_distance
Коллеги, решал кто-либо задачу вычисления cosine distance по вектору ( к примеру float(32)[] ) с помощью gist / gin / rum индексов ?

Yukari
21.09.2018
14:46:43
Ты про косинус между векторами?
Кластерный анализ?))
Формула вроде была для вычисления косинусного расстояния для 2+ мерных векторов...


Ilia
21.09.2018
14:52:13
Ну их же нужно знать, и с множествами уметь работать... впрочем, своё мнение я уже написал.
> Кто не может решить, так это у него не хватает терпения выписывать в запросе весь этот бред, что понаписан в задании...
Ну это же challenge, т.е. не хотите — не участвуйте (не получайте сертификат). ;)
(Я вот, например, не хочу.)
Ну, вот , написал я.
select distinct kostya.model
from Product kostya join PC kostya_pc on kostya_pc.model = kostya.model
join (Product misha join PC misha_pc on misha_pc.model = misha.model) on misha_pc.speed = kostya_pc.speed
join (Product dima join Laptop dima_lt on dima_lt.model = dima.model ) on dima.maker = misha.maker and dima_lt.hd = kostya_pc.hd
join (Product ola join Laptop ola_lt on ola_lt.model = ola.model ) on ola_lt.ram = kostya_pc.ram and ola_lt.screen = dima_lt.screen - 3
join (Product vita join Printer vita_pr on vita_pr.model = vita.model ) on vita_pr.price = kostya_pc.price and substring(vita.model,1,2) = substring(ola.model,1,2) and substring(vita.model,4,255) = substring(ola.model,4,255)
join (Product tana join Printer tana_pr on tana_pr.model = tana.model ) on tana_pr.type != vita_pr.type and tana_pr.color = vita_pr.color
where misha_pc.price = 4*tana_pr.price
Чё, крута знания SQL проверяются?


Vladimir
21.09.2018
14:55:03
Ну, вот , написал я.
select distinct kostya.model
from Product kostya join PC kostya_pc on kostya_pc.model = kostya.model
join (Product misha join PC misha_pc on misha_pc.model = misha.model) on misha_pc.speed = kostya_pc.speed
join (Product dima join Laptop dima_lt on dima_lt.model = dima.model ) on dima.maker = misha.maker and dima_lt.hd = kostya_pc.hd
join (Product ola join Laptop ola_lt on ola_lt.model = ola.model ) on ola_lt.ram = kostya_pc.ram and ola_lt.screen = dima_lt.screen - 3
join (Product vita join Printer vita_pr on vita_pr.model = vita.model ) on vita_pr.price = kostya_pc.price and substring(vita.model,1,2) = substring(ola.model,1,2) and substring(vita.model,4,255) = substring(ola.model,4,255)
join (Product tana join Printer tana_pr on tana_pr.model = tana.model ) on tana_pr.type != vita_pr.type and tana_pr.color = vita_pr.color
where misha_pc.price = 4*tana_pr.price
Чё, крута знания SQL проверяются?
Куча джоинов для БД это весьма типично

Google

Lestat -
21.09.2018
14:55:59

Yukari
21.09.2018
14:57:47

Lestat -
21.09.2018
14:58:44
именно


Vladimir
21.09.2018
14:59:29
Ну, вот , написал я.
select distinct kostya.model
from Product kostya join PC kostya_pc on kostya_pc.model = kostya.model
join (Product misha join PC misha_pc on misha_pc.model = misha.model) on misha_pc.speed = kostya_pc.speed
join (Product dima join Laptop dima_lt on dima_lt.model = dima.model ) on dima.maker = misha.maker and dima_lt.hd = kostya_pc.hd
join (Product ola join Laptop ola_lt on ola_lt.model = ola.model ) on ola_lt.ram = kostya_pc.ram and ola_lt.screen = dima_lt.screen - 3
join (Product vita join Printer vita_pr on vita_pr.model = vita.model ) on vita_pr.price = kostya_pc.price and substring(vita.model,1,2) = substring(ola.model,1,2) and substring(vita.model,4,255) = substring(ola.model,4,255)
join (Product tana join Printer tana_pr on tana_pr.model = tana.model ) on tana_pr.type != vita_pr.type and tana_pr.color = vita_pr.color
where misha_pc.price = 4*tana_pr.price
Чё, крута знания SQL проверяются?
Пишет что проверку не прошло на тестовой базе:)


Yukari
21.09.2018
15:00:47
Только с модулями не напутай. Для кластерного анализа важно полное расстояние. Если у тебя один из векторов имеет отрицательную результирующую - то и расстояние будет отличаться. Если мне память не изменяет

Lestat -
21.09.2018
15:02:17

Yukari
21.09.2018
15:02:48
Машин лернинг суть есть матан
Второго курса матмеха))

Lestat -
21.09.2018
15:03:07
а вопрос такой: какой стэк для этого всего нужен?
gist / gin / rum ?
pg_trgm, smlr ?

Yukari
21.09.2018
15:03:50

Lestat -
21.09.2018
15:04:08
и немного непонятно по gist…
у меня поле в таблице имеет тип float(32)[], а gist строится на типах tsvector и tsquery

Yukari
21.09.2018
15:04:27
В вертике есть встроенный. Можно посмотреть там. Синтаксис очень похож
Можешь больше о задаче рассказать?

Lestat -
21.09.2018
15:09:31
А какая у тебя задача?
висит камера на улице и детектит лица, делает из них вектор 128 float(32) и пишет в базу
мне нужно определить по cosine distance этот человек есть в базе или нет, ну т.е. если ближайший дистанс <, то беру его faceId и присваиваю, если >, то это новый faceId

Yukari
21.09.2018
15:10:25
OpenCV? Недавно ковырял эту софтину

Lestat -
21.09.2018
15:10:40
OpenVINO

Yukari
21.09.2018
15:11:03
В жупитере видел. Не помню название
Теория:
http://www.cse.msu.edu/~pramanik/research/papers/papers/sac04.pdf

Google

Ilia
21.09.2018
15:13:42

Yukari
21.09.2018
15:14:17
Напили мат аппарат
У тебя постгрес не очень старый? Можно подключить модуль на джава или внешний исполняемый код?

Lestat -
21.09.2018
15:15:21

Ilia
21.09.2018
15:15:59

Lestat -
21.09.2018
15:16:19

Daniil
21.09.2018
15:17:08

Yukari
21.09.2018
15:17:11
10
plpy вызови и передай ему вектор на обработку

Lestat -
21.09.2018
15:17:44

Yukari
21.09.2018
15:19:29
Инмемори будет оптимально. рсубд на таких загнется, если только не использовать очередь на обработку и не держать такой индекс в памяти