Может ли у одной родительской сущности быть несколько дочерних сущностей со связью категории 1-1?

Ссылка скопирована
1 ответ

Здравствуйте! Подскажите, пожалуйста, может ли у одной родительской сущности быть несколько дочерних сущностей со связью категории 1-1?

Например ремонтный центр.
При сдаче в ремонт дается билет в котором фиксируется имущество, предположим, что работаем мы только с ювелирными укращениями, техникой и спорт-инвентарем.
Может ли у родительской сущности '' Билет ремонтируемого предмета'' быть несколько дочерних сущностей категорий со связью 1-1?

вопрос именно в целях учебного вопроса, пониманию, что на практике так вряд ли кто-то будет делать.
просто были интересно разобраться со связью 1-1
* дочерние сущности должны быть c скругленым рамками так как будут являться идентифицирующими *

Может ли у одной родительской сущности быть несколько дочерних сущностей со связью категории 1-1?

Дополнительно:

Может ли у родительской сущности '' Билет ремонтируемого предмета'' быть несколько дочерних сущностей категорий со связью 1-1?

Конечно, нет. Или 1:1, или несколько, т.е. 1:М. Но не одновременно.

PS. Несколько таблиц, хранящих одну и ту же сущность - бредятина с точки зрения нормализации.

А почему нет ?
Технически можно .
Но логически неправильно, зачем сложности , если это можно заменить одной таблицей.
Так как будет связь 1:1:1:1 и так далее

Но в вашей схеме связь один ко многим а не 1к1

  • Так как будет связь 1:1:1:1 и так далее

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

    Спасибо, помогли разобраться!

    Но логически неправильно, зачем сложности , если это можно заменить одной таблицей.

    Да, действительно, но мне для курсовой так по заданию надо

  • r0gal1k, если у тебя курсовой и ты находу придумываешь себе задание - то придумай себе как проще. И сделай базу как проще.

    На сдаче курсового - пояснительная записка важнее чем сам софт. Поэтому что там будет в базе - предподавателю будет безразлично. Главное чтоб много текста написал в бумажках и красивые чертежи и блок схемы были.

    Мой вопрос конечно ты проигнорировал. И слава богу. Если сильно глубоко фантазировать то ремонтный центр превратится в CRM за которую можно уже и денег взять.

Ответы:

А если я приду чинить 2 вещи сразу?

У меня 1 заказ но 2 предмета. Один - ювелирка. А другой - из спортивного инвентаря. А потом мне одну вещь починят. А по второй будет отказ. Как это все трекать?

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Павел Админов Ответ

Да, у одной родительской сущности может быть несколько дочерних сущностей с связью категории 1-1. Для этого вам нужно использовать отношение "OneToOne" (один к одному) в вашей схеме базы данных.

Пример на языке PHP с использованием Doctrine ORM:

/**
 * @Entity
 */
class ParentEntity
{
    // Другие свойства и методы
 
    /**
     * @OneToOne(targetEntity="ChildEntity")
     * @JoinColumn(name="child_id", referencedColumnName="id")
     */
    private $child;
}
 
/**
 * @Entity
 */
class ChildEntity
{
    // Другие свойства и методы
 
    /**
     * @OneToOne(targetEntity="ParentEntity", mappedBy="child")
     */
    private $parent;
}

/** * @Entity */ class ParentEntity { // Другие свойства и методы /** * @OneToOne(targetEntity="ChildEntity") * @JoinColumn(name="child_id", referencedColumnName="id") */ private $child; } /** * @Entity */ class ChildEntity { // Другие свойства и методы /** * @OneToOne(targetEntity="ParentEntity", mappedBy="child") */ private $parent; }

В этом примере у нас есть две сущности - ParentEntity и ChildEntity. У каждой из них есть свойство, устанавливающее отношение 1-1 между ними. Свойство $child в родительской сущности указывает на дочернюю сущность, а свойство $parent в дочерней сущности указывает на родительскую сущность.

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

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно