Здравствуйте, дублирую свой вопрос, так как не получила ответа.
«Добрый день, Максим! Думала насчет того, как закрывать записи в таблице, если человека выкинуло из конференции. Что если, считать человека неактивным, если его «перезахода» не было в течении пяти минут, например. И как-то разделять людей на категории: активный, неактивный, полуактивный(?) И к таким людям, как раз, относить тех у кого вылетала программа.» Чт, 8 февр. 2024 г. в 18:21, Maxim Solodovnik <solomax...@gmail.com>: > может быть тут можно пойти другим путём? > > составить пример "отчёта мечты" в том виде в котором его увидит > пользователь > > понять чего сейчас не хватает чтобы "запросто" такое построить > > добавить это > > :)) > > On Thu, 8 Feb 2024 at 21:54, Maxim Solodovnik <solomax...@gmail.com> > wrote: > > > > On Thu, 8 Feb 2024 at 21:39, Елизавета Фролова <frolova0...@gmail.com> > wrote: > > > > > > > https://docs.google.com/document/d/1OADjPFaw6SCoqmK6mNgoZRiStGPwjPReqG2YUkciYSk/edit?usp=sharing > > > > > > Прикрепляю Вам ссылку на эти запросы. Немного описала, как именно их > можно > > > использовать и их полезность. > > > > ага > > помнится я крепко задумался на тему: что будет если > > - человека выкинуло и/или он/она перезаходил в комнату много раз > > - необходимо как-то "закрывать" записи в этой таблице (если сервер > > перегрузился почему-то) > > > > на тему сущности "видеоконференция" можно завести дополнительные > > события (типы событий) > > и сделать лог интереснее :)) > > > > > > > > чт, 8 февр. 2024 г. в 17:22, Maxim Solodovnik <solomax...@gmail.com>: > > > > > > > Добрый вечер Павел, > > > > > > > > On Thu, 8 Feb 2024 at 19:33, Pavel Zhdanovich < > openmeeti...@12winds.ru> > > > > wrote: > > > > > > > > > > Здравствуйте, Максим! > > > > > (Прошу прощения, промахнулся с ответом ) > > > > > Попробую немного объяснить замысел. > > > > > Мы хотим использовать базу данных OpenMeetings для анализа данных. > > > > > Задача у меня возникла уже довольно давно. В 2020 году нас всех > > > > > отправили на карантин, и я, как и другие университетские > преподаватели, > > > > > начал проводить занятия дистанционно и использовал для этого > > > > > OpenMeetings, который у меня был развернут дома. Могу, кстати, > > > > > похвастаться, что не провел ни одной минуты занятий со своими > студентами > > > > > в проприетарных системах видеоконференций, не считая случая, когда > меня > > > > > включили в комиссию и принудительно подключили к Zoom. 🙂 > > > > > > > > это отличные новости :) > > > > > > > > > Руководство требовало от нас предоставлять отчеты о проведенных > > > > > занятиях: сколько часов проведено, сколько студентов > присутствовало, > > > > > сколько пропускало и т.д. Мне было лень проводить переклички, > запускать > > > > > голосовалки и т.п., как это делали коллеги, а потом считать > вручную. Я > > > > > просто подключался к БД (Postgres) и писал SQL-запрос. > > > > > Позже я поставил Елизавете задачу написать несколько аналогичных > > > > > запросов, в которых уже появляется некая производная сущность > "встреча" > > > > > или "конференция". Это ситуация, когда двое или более пользователей > > > > > одновременно находятся в одной комнате, скажем, более 1 минуты. > Такие > > > > > запросы уже пишутся с применением Window Functions (OLAP Functions > в DB2 > > > > > и т.п.). Парочку из них Елизавета, думаю, сможет здесь показать. Я > не > > > > > знаю, настолько ли это всеобщая задача, чтобы предлагать включить > ее в > > > > > основной проект. > > > > > > > > это очень даже актуальная задача :)) > > > > https://issues.apache.org/jira/browse/OPENMEETINGS-858 > > > > https://issues.apache.org/jira/browse/OPENMEETINGS-1111 > > > > > > > > мне казалось что тут можно/нужно улучшать таблицу `conference_log` > :)) > > > > > > > > и я бы принял такой PR (пусть и на уровне запроса) > > > > и прикрутил бы к нему и "веб-морду" и REST > > > > > > > > > С другой стороны, и не такая уж узкоспецифическая. > > > > > Скорее, это что-то в жанре "OpenMeetings SQL Cookbook". 🙂 > > > > > Так вот, для таких запросов могут понадобиться новые индексы и > > > > > определения внешних ключей, так как оптимизаторы в СУБД используют > их > > > > > при составлении планов запросов, содержащих joins. > > > > > А поскольку внешние ключи сейчас определяются в приложении, которое > > > > > монопольно использует БД, мы решили посоветоваться насчет их > определения > > > > > на уровне БД при помощи DDL, так как к базе данных подключаются и > другие > > > > > приложения. > > > > > > > > но, если честно, я пока совсем не понимаю как тут помогут те ключи, > > > > которые упомянуты в документе :( > > > > может можно это как-то на примере показать? :) > > > > > > > > зы индексы можно добавить > > > > > > > > > > > > > > С уважением, > > > > > Павел Жданович > > > > > > > > > > > > > > > 08.02.2024 06:19, Maxim Solodovnik пишет: > > > > > > Здравствуйте Елизавета, > > > > > > > > > > > > очень извиняюсь за долгий ответ (не стесняйтесь меня пинать если > я > > > > > > сильно тихий :)) > > > > > > ну и плюс ответ написать было сложно :( > > > > > > > > > > > > БД описывается аннотациями JPA > > > > > > вот пример: > > > > > https://github.com/apache/openmeetings/blob/master/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java#L417 > > > > > > > > > > > > > > > > > > по пунктам: > > > > > > - **Блок "Первичные ключи для таблиц"** > > > > > > > > > > > > например таблица `om_user_right` создаётся вот такими > аннотациями: > > > > > > @ElementCollection(fetch = FetchType.EAGER) > > > > > > @Column(name = "om_right") > > > > > > @CollectionTable(name = "om_user_right", joinColumns = > > > > > > @JoinColumn(name = "user_id")) > > > > > > @Enumerated(EnumType.STRING) > > > > > > > > > > > > для этой таблицы не нужен Primary Key > > > > > > индивидуальный доступ к элементам не нужен > > > > > > элементы этой "подтаблицы" всегда достаются **все** при работе с > > > > > > объектом пользователя > > > > > > вставка/удаление происходят автоматически, редактирование не > нужно > > > > > > > > > > > > остальные таблицы этого блока такие же > > > > > > > > > > > > > > > > > > - **Блок "Внешние ключи для таблиц"** > > > > > > > > > > > > эти ключи будет очень затруднительно добавить используя > аннотации JPA > > > > > > (похоже единственный способ - добавить @OneToOne аннотацию) > > > > > > в результате при запросе `menu_group` (например) будет каждый раз > > > > > > тащиться ещё и куча связанных сущностей > > > > > > > > > > > > то есть запросы станут очень **тяжёлыми** > > > > > > > > > > > > не могли бы Вы прокомментировать всё что я написал > > > > > > и может у Вас есть какой-то анализ: какой в этом всём смысл? ну > то > > > > > > есть добавление ключей > > > > > > > > > > > > За > > > > > > - увеличит связность > > > > > > > > > > > > Против > > > > > > - замедлит базу > > > > > > - замедлит все запросы: добавление @OneToOne/@OneToMany > добавляет > > > > > > JOINы и кучу колонок из связанных таблиц в каждый запрос :((( > > > > > > > > > > > > на мой взгляд "против" сильно перевешивает .... > > > > > > > > > > > > On Sun, 28 Jan 2024 at 20:36, Елизавета Фролова < > frolova0...@gmail.com> > > > > wrote: > > > > > >> > > > > > https://docs.google.com/document/d/12WmqQKdNSr0o_TAnCMkAm4EMx1MrrSqD50VAV9_Kk_Q/edit?usp=sharing > > > > > >> добрый день! прикрепила ссылку для просмотра ключей, созданных > в базе > > > > данных > > > > > >> > > > > > >> вт, 23 янв. 2024 г. в 06:23, Maxim Solodovnik < > solomax...@gmail.com>: > > > > > >> > > > > > >>> On Mon, 22 Jan 2024 at 23:49, Елизавета Фролова < > > > > frolova0...@gmail.com> > > > > > >>> wrote: > > > > > >>>> Запросы я перенесла в документ Word, да. > > > > > >>>> Создавала ключи там, где, как мне казалось, их нет. > > > > > >>> давайте где-нибудь выложим этот документ? :) > > > > > >>> (на ум приходит: google docs или > > > > > >>> https://cwiki.apache.org/confluence/display/OPENMEETINGS) :) > > > > > >>> > > > > > >>>> Пн, 22 янв. 2024 г. в 19:39, Maxim Solodovnik < > solomax...@gmail.com > > > > >: > > > > > >>>> > > > > > >>>>> Доброй ночи Елизавета, > > > > > >>>>> > > > > > >>>>> from mobile (sorry for typos ;) > > > > > >>>>> > > > > > >>>>> > > > > > >>>>> On Mon, Jan 22, 2024, 23:14 Елизавета Фролова < > > > > frolova0...@gmail.com> > > > > > >>>>> wrote: > > > > > >>>>> > > > > > >>>>>> Здравствуйте! > > > > > >>>>>> Меня зовут Елизавета, я студентка Волгоградского > государственного > > > > > >>>>>> университета. > > > > > >>>>>> Моя бакалаврская работа связана с работой с базой данных > > > > > >>> OpenMeetings. С > > > > > >>>>>> вами уже связывался наш научный руководитель Жданович Павел > > > > > >>> Борисович. > > > > > >>>>>> Хотела бы показать Вам, что у меня уже готово. > > > > > >>>>>> Я работала с созданием первичных и внешних ключей, где они > были > > > > > >>> нужны. > > > > > >>>>>> Как я могу прислать свою работу? > > > > > >>>>>> > > > > > >>>>> Я уже писал Павлу что (вроде как) ключи в базе есть > > > > > >>>>> > > > > > >>>>> Сейчас они заданы в виде аннотаций JPA > > > > > >>>>> > > > > > >>>>> В каком виде ваша работа? > > > > > >>>>> PR? Документ? :) > > > > > >>>>> > > > > > >>> > > > > > >>> > > > > > >>> -- > > > > > >>> Best regards, > > > > > >>> Maxim > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Best regards, > > > > Maxim > > > > > > > > > > > > -- > > Best regards, > > Maxim > > > > -- > Best regards, > Maxim >