может быть тут можно пойти другим путём?

составить пример "отчёта мечты" в том виде в котором его увидит пользователь

понять чего сейчас не хватает чтобы "запросто" такое построить

добавить это

:))

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

Ответить