Здравствуйте Елизавета, очень извиняюсь за долгий ответ (не стесняйтесь меня пинать если я сильно тихий :)) ну и плюс ответ написать было сложно :(
БД описывается аннотациями 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